From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 00/12] Package java-openjfx Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.158972214429559 (code B ref -1); Sun, 17 May 2020 13:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 17 May 2020 13:29:04 +0000 Received: from localhost ([127.0.0.1]:42632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJLg-0007gV-RJ for submit@debbugs.gnu.org; Sun, 17 May 2020 09:29:04 -0400 Received: from lists.gnu.org ([209.51.188.17]:48654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJLa-0007gJ-CM for submit@debbugs.gnu.org; Sun, 17 May 2020 09:28:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jaJLa-0002px-6x for guix-patches@gnu.org; Sun, 17 May 2020 09:28:54 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:61398) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jaJLU-00048n-8p for guix-patches@gnu.org; Sun, 17 May 2020 09:28:53 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 20D239CC49 for ; Sun, 17 May 2020 12:57:58 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:28:29 +0200 Message-Id: <20200517132829.1553311-1-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=178.22.66.29; envelope-from=levenson@mmer.org; helo=mx4.mail.mmer.org X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/17 09:28:46 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) I am sending a series of patches I have for java-openjfx as a prerequisite to build davmail. Unfortunately tests are still disabled. Alexey Abramov (12): gnu: java-openjfx-build: Add helpful patch. gnu: java-openjfx-build: Fix indentation. gnu: java-openjfx-graphics: Implement a complete compilation. gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 gnu: java-openjfx-swing: Add new variable. gnu: java-openjfx-swt: Add new variable. gnu: java-openjfx-controls: Add new variable. gnu: java-openjfx-build: Prepare a patch to build openjfx-web. gnu: java-openjfx-web: Add new variable. gnu: java-openjfx-graphics: Replace deprecated library. gnu: java-openjfx-graphics: Fix package build. gnu: java-openjfx-web: Fix package build gnu/local.mk | 3 + gnu/packages/java.scm | 872 +++++++++++++++++- ...a-openjfx-build-get_guix_jdk_version.patch | 37 + ...ld-swing-compile-JFXPanel-with-JDK-8.patch | 63 ++ ...uild-web-Check-xlocale.h-header-file.patch | 55 ++ 5 files changed, 1017 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch create mode 100644 gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch. References: <20200517132829.1553311-1-levenson@mmer.org> In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972353631880 (code B ref 41360); Sun, 17 May 2020 13:53:02 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:16 +0000 Received: from localhost ([127.0.0.1]:42664 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJi7-0008I2-Oh for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:16 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJi1-0008Hk-UU for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:10 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 70C089CC2E for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:17 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:30 +0200 Message-Id: <20200517135138.1651512-1-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...a-openjfx-build-get_guix_jdk_version.patch | 37 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0001-gnu-java-openjfx-build-Add-helpful-patch.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-gnu-java-openjfx-build-Add-helpful-patch.patch" diff --git a/gnu/local.mk b/gnu/local.mk index 118a9e24eb..ad0ad930ad 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1106,6 +1106,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ + %D%/packages/patches/java-openjfx-build-get_guix_jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a4659240fc..7a1a2f0861 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2499,7 +2499,8 @@ new Date();")) #t)) (sha256 (base32 - "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) + (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch new file mode 100644 index 0000000000..4ebdadc671 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch @@ -0,0 +1,37 @@ +From d156313340d3edcd78751ea8ed5e66c7668275c3 Mon Sep 17 00:00:00 2001 +From: Alexey Abramov +Date: Sun, 8 Mar 2020 20:07:22 +0100 +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + if (inStream.readLine() != null) { + String v = inStream.readLine(); + if (v != null) { +- int ib = v.indexOf(" (build "); ++ int ib = v.indexOf(" (guix build "); + if (ib != -1) { +- String ver = v.substring(ib + 8, v.size() - 1); ++ String ver = v.substring(ib + 13, v.size() - 1); + + defineProperty("jdkRuntimeVersion", ver) + defineProperty("jdkVersion", jdkRuntimeVersion.split("-")[0]) +@@ -3540,4 +3540,3 @@ compileTargets { t -> + } + ) + } +- +-- +2.24.1 + --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 02/12] gnu: java-openjfx-build: Fix indentation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972353631888 (code B ref 41360); Sun, 17 May 2020 13:53:02 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:16 +0000 Received: from localhost ([127.0.0.1]:42667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiC-0008I9-7U for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:16 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59905) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJi6-0008Hp-Qq for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:11 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A97C29CD79 for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:17 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:31 +0200 Message-Id: <20200517135138.1651512-2-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0002-gnu-java-openjfx-build-Fix-indentation.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0002-gnu-java-openjfx-build-Fix-indentation.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7a1a2f0861..b5757217dd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 05/12] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972353831919 (code B ref 41360); Sun, 17 May 2020 13:53:02 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:18 +0000 Received: from localhost ([127.0.0.1]:42674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiE-0008Ik-JH for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:18 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59921) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiD-0008IN-Cy for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:17 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 31DDB9CE89 for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:29 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:34 +0200 Message-Id: <20200517135138.1651512-5-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0005-gnu-java-openjfx-swing-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0005-gnu-java-openjfx-swing-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e38e691ee5..383a76ca2c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3206,6 +3206,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 06/12] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972353931926 (code B ref 41360); Sun, 17 May 2020 13:53:03 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:19 +0000 Received: from localhost ([127.0.0.1]:42676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiE-0008Im-PZ for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:19 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59925) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiD-0008IP-MH for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:17 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A11F29CE92 for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:29 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:35 +0200 Message-Id: <20200517135138.1651512-6-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0006-gnu-java-openjfx-swt-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0006-gnu-java-openjfx-swt-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 383a76ca2c..beb84331a3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3219,6 +3219,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 07/12] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972354331959 (code B ref 41360); Sun, 17 May 2020 13:53:03 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:23 +0000 Received: from localhost ([127.0.0.1]:42679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiJ-0008JO-2h for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:23 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59929) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiD-0008IQ-TR for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:18 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E5F6F9CE93 for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:29 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:36 +0200 Message-Id: <20200517135138.1651512-7-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0007-gnu-java-openjfx-controls-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0007-gnu-java-openjfx-controls-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index beb84331a3..c28c8450b1 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3232,6 +3232,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972355531978 (code B ref 41360); Sun, 17 May 2020 13:53:04 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:35 +0000 Received: from localhost ([127.0.0.1]:42681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiJ-0008JQ-CK for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:35 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59911) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJi7-0008Hw-Dh for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:19 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 07B989CE5D for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:22 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:32 +0200 Message-Id: <20200517135138.1651512-3-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 635 insertions(+), 8 deletions(-) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0003-gnu-java-openjfx-graphics-Implement-a-complete-compi.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0003-gnu-java-openjfx-graphics-Implement-a-complete-compi.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b5757217dd..4b83e963ea 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,642 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + `(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + `("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses" "-Werror=implicit-function-declaration")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + (add-after 'build 'chdir-to-a-module-directory + (lambda _ + (chdir (string-append (getcwd) "/modules/graphics")) + #t)) + + (add-after 'chdir-to-a-module-directory 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "build/classes/jsl-compilers/prism") + (prism-src "src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + (apply invoke `("javac" + "-d" ,prism-compilers-classes + ,@javac/h-flags + ,@(find-files prism-src "\\.java")))) + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "build/classes/jsl-compilers/prism") + (prism-src "src/main/jsl-prism/") + (prism-gen-src "build/generated-src/jsl-prism")) + (mkdir-p prism-gen-src) + (for-each (lambda (file) + (apply invoke `("java" + "-cp" ,(string-join (list + ;; For CompileJSL + prism-compilers-classes + ;; jsl files are there + prism-src + (getenv "CLASSPATH")) + ":") + "CompileJSL" + "-i" ,prism-src + "-o" ,prism-gen-src + "-t" + "-pkg" "com/sun/prism" + "-d3d" + "-es2" + "-name" ,file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "build/classes/java/main") + (prism-classes "build/classes/jsl-prism") + (prism-gen-src "build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke `("javac" + "-d" ,prism-classes + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "build/classes/java/main") + (decora-compilers-classes "build/classes/jsl-compilers/decora") + (decora-src "src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke `("javac" + "-d" ,decora-compilers-classes + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(find-files decora-src "\\.java")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "build/classes/java/main") + (decora-classes "build/classes/jsl-decora/") + (decora-compilers-classes "build/classes/jsl-compilers/decora") + (decora-gen-src "build/generated-src/jsl-decora") + (decora-src "src/main/jsl-decora/") + (decora-components '([(file-name . "ColorAdjust") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Brightpass") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "SepiaTone") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "PerspectiveTransform") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "DisplacementMap") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "InvertMask") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Blend") + (generator . "CompileBlend") + (outputs . "-all")] + [(file-name . "PhongLighting") + (generator . "CompilePhong") + (outputs . "-all")] + [(file-name . "LinearConvolve") + (generator . "CompileLinearConvolve") + (outputs . "-hw")] + [(file-name . "LinearConvolveShadow") + (generator . "CompileLinearConvolve") + (outputs . "-hw")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke `("java" + "-cp" ,(string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "../../buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + ,generator + "-i" ,decora-src + "-o" ,decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + ,outputs + ,file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "build/classes/java/main") + (decora-classes "build/classes/jsl-decora/") + (decora-gen-src "build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke `("javac" + "-d" ,decora-classes + "-cp" ,classes + ,@javac/h-flags + ,@(find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (decora-gen-headers "build/generated-src/headers/jsl-decora") + (decora-gen-src "build/generated-src/jsl-decora") + (decora-native-lib "build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "build/native/jsl-decora/linux") + (decora-native-src "src/main/native-decora") + (decora-src "src/main/jsl-decora/") + (decora-classes "build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke `("javah" + "-d" ,decora-gen-headers + "-cp" ,(string-join (list classes decora-classes) ":") + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke `("gcc" + ,@decora-cc-flags + "-I" ,decora-gen-headers + "-I" ,decora-gen-src + "-I" ,decora-native-src + "-o" ,(string-append decora-native-obj "/" + (basename cc ".cc") ".obj") + ,cc))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke `("g++" + "-o" ,decora-native-lib + ,@link-flags + ,@(find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (font-gen-headers "build/generated-src/headers/font/linux") + (font-native-lib "build/libs/font/linux/libjavafx_font.so") + (font-native-obj "build/native/font/linux") + (font-native-src "src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke `("javah" + "-d" ,font-gen-headers + "-cp" ,classes + ,@javac/h-flags + ,@(filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke `("gcc" + ,@font-cc-flags + "-I" ,font-gen-headers + "-I" ,font-native-src + "-o" ,(string-append font-native-obj "/" + (basename cc ".c") ".obj") + ,cc))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke `("g++" + "-o" ,font-native-lib + ,@link-flags + ,@(find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + ;; + (font-freetype-gen-headers "build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "build/native/fontFreetype/linux") + (font-freetype-native-src "src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke `("javah" + "-d" ,font-freetype-gen-headers + "-cp" ,classes + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (font-pango-gen-headers "build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "build/native/fontPango/linux") + (font-pango-native-src "src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke `("javah" + "-d" ,font-pango-gen-headers + "-cp" ,classes + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + ;; glass + (glass-gen-headers "build/generated-src/headers/glass/linux") + (glass-native-lib "build/libs/glass/linux/libglass.so") + (glass-native-obj "build/native/glass/linux/glass") + (glass-native-src "src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke `("javah" + "-d" ,glass-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (iio-gen-headers "build/generated-src/headers/iio/linux") + (iio-native-lib "build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "build/native/iio/linux") + (iio-native-src "src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke `("javah" + "-d" ,iio-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (prism-gen-headers "build/generated-src/headers/prism/linux") + (prism-native-lib "build/libs/prism/linux/libprism_common.so") + (prism-native-obj "build/native/prism/linux") + (prism-native-src "src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke `("javah" + "-d" ,prism-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (prism-es2-gen-headers "build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "build/native/prismES2/linux") + (prism-es2-native-src "src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke `("javah" + "-d" ,prism-es2-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke `("gcc" + ,@prism-es2-cc-flags + "-I" ,glass-native-src + "-I" ,prism-es2-gen-headers + "-I" ,prism-es2-native-src + "-I" ,(string-append prism-es2-native-src "/GL") + "-I" ,(string-append prism-es2-native-src "/x11") + "-o" ,(string-append prism-es2-native-obj "/" + (basename c ".c") ".obj") + ,c))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "build/classes/java/main") + (prism-sw-gen-headers "build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "build/native/prismSW/linux") + (prism-sw-native-src "src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke `("javah" + "-d" ,prism-sw-gen-headers + "-cp" ,(string-append classes ":" (getenv "CLASSPATH")) + ,@javac/h-flags + ,@(filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke `("g++" + ,@prism-sw-link-flags + "-o" ,prism-sw-native-lib + ,@(find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-before 'check 'chdir-to-root + (lambda _ + (chdir (dirname (dirname (getcwd)))) + #t)) + + (add-after 'chdir-to-root 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append (getcwd) "/modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972355631986 (code B ref 41360); Sun, 17 May 2020 13:53:04 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:36 +0000 Received: from localhost ([127.0.0.1]:42683 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiV-0008Jj-Gj for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:36 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59937) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiE-0008IY-9s for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:19 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 46BC19CF2D for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:30 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:38 +0200 Message-Id: <20200517135138.1651512-9-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- gnu/packages/java.scm | 165 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0009-gnu-java-openjfx-web-Add-new-variable.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0009-gnu-java-openjfx-web-Add-new-variable.patch" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ccf347be4c..7e477d082e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -50,11 +50,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,8 +76,10 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages texinfo) @@ -3264,6 +3268,167 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + (classes (string-append module "/build/classes/java/main"))) + (invoke "ant" "compile" (string-append "-Dclasses.dir=" classes))) + #t)) + (add-after 'build 'generate-headers + (lambda* (#:key inputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + (classes (string-append module "/build/classes/java/main")) + (web-generated-headers (string-append module "/build/generated-src/headers")) + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics ".jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (mkdir-p webkit-native-dest) + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + "--skip-library-update" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DCMAKE_SYSTEM_NAME=Linux" + ;; ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((module (string-append (getcwd) "/modules/web")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ("gcc" ,gcc) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 04/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972356031998 (code B ref 41360); Sun, 17 May 2020 13:53:04 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:40 +0000 Received: from localhost ([127.0.0.1]:42685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiW-0008Jr-IX for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:40 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiC-0008IF-Oa for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:20 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A03749CE85 for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:23 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:33 +0200 Message-Id: <20200517135138.1651512-4-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...ld-swing-compile-JFXPanel-with-JDK-8.patch | 63 +++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0004-gnu-java-openjfx-build-Fix-openjfx-swing-component-b.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0004-gnu-java-openjfx-build-Fix-openjfx-swing-component-b.patch" diff --git a/gnu/local.mk b/gnu/local.mk index ad0ad930ad..eaaa54e6f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1107,6 +1107,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-get_guix_jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4b83e963ea..e38e691ee5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,8 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch" + "java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch b/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch new file mode 100644 index 0000000000..363ce9509b --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch @@ -0,0 +1,63 @@ +From 173e65937d9e76872df51f7ba39c9d58986dc38f Mon Sep 17 00:00:00 2001 +From: Alexey Abramov +Date: Fri, 3 Jan 2020 01:17:45 +0100 +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 08/12] gnu: java-openjfx-build: Prepare a patch to build openjfx-web. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 May 2020 13:53:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.158972356232007 (code B ref 41360); Sun, 17 May 2020 13:53:05 +0000 Received: (at 41360) by debbugs.gnu.org; 17 May 2020 13:52:42 +0000 Received: from localhost ([127.0.0.1]:42687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJia-0008K3-49 for submit@debbugs.gnu.org; Sun, 17 May 2020 09:52:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:59933) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jaJiE-0008IR-1M for 41360@debbugs.gnu.org; Sun, 17 May 2020 09:52:21 -0400 Received: from delta (unknown [10.147.19.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1CCB29CECB for <41360@debbugs.gnu.org>; Sun, 17 May 2020 13:21:30 +0000 (UTC) From: Alexey Abramov Date: Sun, 17 May 2020 15:51:37 +0200 Message-Id: <20200517135138.1651512-8-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> References: <20200517135138.1651512-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------[ mime-boundary-string ]" Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------[ mime-boundary-string ] Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...uild-web-Check-xlocale.h-header-file.patch | 55 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch --------------[ mime-boundary-string ] Content-Type: text/x-patch; name="0008-gnu-java-openjfx-build-Prepare-a-patch-to-build-open.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0008-gnu-java-openjfx-build-Prepare-a-patch-to-build-open.patch" diff --git a/gnu/local.mk b/gnu/local.mk index eaaa54e6f8..591c7c9d46 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1108,6 +1108,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-get_guix_jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch \ + %D%/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index c28c8450b1..ccf347be4c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2502,7 +2502,8 @@ new Date();")) (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-get_guix_jdk_version.patch" - "java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch")))) + "java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch" + "java-openjfx-build-web-Check-xlocale.h-header-file.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch b/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch new file mode 100644 index 0000000000..a5cb9730e4 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-Check-xlocale.h-header-file.patch @@ -0,0 +1,55 @@ +From 95fe8463a3283f0f2c72fcf3416ebfac095688e5 Mon Sep 17 00:00:00 2001 +From: Alexey Abramov +Date: Sun, 9 Feb 2020 18:31:26 +0100 +Subject: [PATCH] Check header file + +Few libraries use hard-coded xlocale_h header even though if CMake takes care +of it properly. Remove defined headers, and rely on CMake preprocessor +instead. + +--- + .../src/main/native/Source/ThirdParty/libxslt/linux/config.h | 2 +- + .../src/main/native/Source/ThirdParty/libxslt/src/config.h.in | 2 +- + modules/web/src/main/native/Source/cmake/OptionsCommon.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +index bd44c163..b19b45f4 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +@@ -143,7 +143,7 @@ + #define HAVE_VSPRINTF 1 + + /* Define to 1 if you have the header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ + + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +index 085354e9..0210fce2 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +@@ -142,7 +142,7 @@ + #undef HAVE_VSPRINTF + + /* Define to 1 if you have the header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ + + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +index 3bbd2c4a..2b618dd6 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +@@ -148,6 +148,7 @@ _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIMEB_H sys/timeb.h) ++_HAVE_CHECK_INCLUDE(HAVE_XLOCALE_H xlocale.h) + + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +-- +2.24.1 --------------[ mime-boundary-string ]-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 May 2020 13:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159024232528941 (code B ref 41360); Sat, 23 May 2020 13:59:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 13:58:45 +0000 Received: from localhost ([127.0.0.1]:35216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUff-0007Wd-GO for submit@debbugs.gnu.org; Sat, 23 May 2020 09:58:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUfa-0007WM-7y for 41360@debbugs.gnu.org; Sat, 23 May 2020 09:58:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43363) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcUfU-0002oE-QP; Sat, 23 May 2020 09:58:28 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52234 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jcUfS-0000Xi-56; Sat, 23 May 2020 09:58:27 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517132829.1553311-1-levenson@mmer.org> <20200517135138.1651512-1-levenson@mmer.org> Date: Sat, 23 May 2020 15:58:24 +0200 In-Reply-To: <20200517135138.1651512-1-levenson@mmer.org> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:30 +0200") Message-ID: <87k1127ny7.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Alexey, Thanks for the patch series! Alexey Abramov skribis: > * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. > * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: New= file. > * gnu/local.mk (dist_patch_DATA): Add it. [...] > +++ b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch > @@ -0,0 +1,37 @@ Could you shorten this file name a bit? (=E2=80=98guix lint=E2=80=99 proba= bly complains.) > +From d156313340d3edcd78751ea8ed5e66c7668275c3 Mon Sep 17 00:00:00 2001 > +From: Alexey Abramov > +Date: Sun, 8 Mar 2020 20:07:22 +0100 > +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME In general I think you can omit the first three lines and just keep the subject. > +Icedtea contains guix in its version, so build.gradle failes to run. Ope= njfx > +packaging is not trivial, so you will probably need to try build it with > +gradlew. Otherwise LGTM. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 02/12] gnu: java-openjfx-build: Fix indentation. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 May 2020 14:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159024234629004 (code B ref 41360); Sat, 23 May 2020 14:00:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 13:59:06 +0000 Received: from localhost ([127.0.0.1]:35220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUg6-0007Xk-E0 for submit@debbugs.gnu.org; Sat, 23 May 2020 09:59:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUg4-0007X5-W8 for 41360@debbugs.gnu.org; Sat, 23 May 2020 09:59:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43374) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcUfz-0002rt-M9; Sat, 23 May 2020 09:58:59 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52236 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jcUfy-00018u-7d; Sat, 23 May 2020 09:58:58 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-2-levenson@mmer.org> Date: Sat, 23 May 2020 15:58:57 +0200 In-Reply-To: <20200517135138.1651512-2-levenson@mmer.org> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:31 +0200") Message-ID: <87ftbq7nxa.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Alexey Abramov skribis: > --- > gnu/packages/java.scm | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Please add a commit log like you did for some of the other patches. Otherwise LGTM! From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 May 2020 14:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15902426945314 (code B ref 41360); Sat, 23 May 2020 14:05:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:04:54 +0000 Received: from localhost ([127.0.0.1]:35224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUlW-0001NS-2r for submit@debbugs.gnu.org; Sat, 23 May 2020 10:04:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUlR-0001NC-6c for 41360@debbugs.gnu.org; Sat, 23 May 2020 10:04:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43453) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcUlL-00043I-Ry; Sat, 23 May 2020 10:04:31 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52238 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jcUlL-0007I1-Bl; Sat, 23 May 2020 10:04:31 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-3-levenson@mmer.org> Date: Sat, 23 May 2020 16:04:29 +0200 In-Reply-To: <20200517135138.1651512-3-levenson@mmer.org> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:32 +0200") Message-ID: <878shi7no2.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Alexey Abramov skribis: > --- > gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 635 insertions(+), 8 deletions(-) Please add a commit log. > + (java-aux-class? > + (lambda (class) > + (string-match "\\$[0-9]+.class" class))) Probably =E2=80=9C\\.class=E2=80=9D instead of =E2=80=9C.class=E2=80=9D? > + (add-after 'chdir-to-a-module-directory 'compile-prism-compil= ers > + (lambda _ Maybe add a comment explaining why this phase is necessary. > + (let ((prism-compilers-classes "build/classes/jsl-compile= rs/prism") > + (prism-src "src/main/jsl-prism/")) > + (mkdir-p prism-compilers-classes) > + (apply invoke `("javac" > + "-d" ,prism-compilers-classes > + ,@javac/h-flags > + ,@(find-files prism-src "\\.java")))) This can be shortened as: (apply invoke "javac" "-d" prism-compilers-classes (append javac/h-flags (find-files prism-src "\\.java"))) These two comments apply to the other phases too. More generally, why are there so many phases? How do people normally build it? Gradle? Would it make sense to factorize helpers in a new (gnu build java-openjfx) module or similar? Thanks, Ludo=E2=80=99. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 04/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 May 2020 14:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15902427275393 (code B ref 41360); Sat, 23 May 2020 14:06:01 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:05:27 +0000 Received: from localhost ([127.0.0.1]:35228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUmC-0001Os-PM for submit@debbugs.gnu.org; Sat, 23 May 2020 10:05:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52212) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUm8-0001Ob-0y for 41360@debbugs.gnu.org; Sat, 23 May 2020 10:05:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43462) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcUm2-0004FF-S1; Sat, 23 May 2020 10:05:14 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52240 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jcUm1-0007Lf-Ix; Sat, 23 May 2020 10:05:14 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-4-levenson@mmer.org> Date: Sat, 23 May 2020 16:05:12 +0200 In-Reply-To: <20200517135138.1651512-4-levenson@mmer.org> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:33 +0200") Message-ID: <874ks67nmv.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Alexey Abramov skribis: > * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. > * gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch: > New file. > * gnu/local.mk (dist_patch_DATA): Add it. [...] > +++ b/gnu/packages/patches/java-openjfx-build-swing-compile-JFXPanel-with-JDK-8.patch > @@ -0,0 +1,63 @@ > +From 173e65937d9e76872df51f7ba39c9d58986dc38f Mon Sep 17 00:00:00 2001 > +From: Alexey Abramov > +Date: Fri, 3 Jan 2020 01:17:45 +0100 > +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 > + > +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now > +has separate getDefaultScaleX() and getDefaultScaleY() methods. See > +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. > + > +Backport the missing port to build openjfx-swing package using JDKu8. For more > +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 Same comment as earlier regarding the patch. :-) Otherwise LGTM! From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 05/12] gnu: java-openjfx-swing: Add new variable. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 May 2020 14:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15902427495432 (code B ref 41360); Sat, 23 May 2020 14:06:01 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:05:49 +0000 Received: from localhost ([127.0.0.1]:35231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUmb-0001PY-0Y for submit@debbugs.gnu.org; Sat, 23 May 2020 10:05:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52240) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUmZ-0001PI-JQ for 41360@debbugs.gnu.org; Sat, 23 May 2020 10:05:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43470) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcUmU-0004Po-Dy; Sat, 23 May 2020 10:05:42 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52242 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jcUmT-0007Se-KP; Sat, 23 May 2020 10:05:42 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-5-levenson@mmer.org> Date: Sat, 23 May 2020 16:05:40 +0200 In-Reply-To: <20200517135138.1651512-5-levenson@mmer.org> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:34 +0200") Message-ID: <87zh9y691n.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Alexey Abramov skribis: > --- > gnu/packages/java.scm | 13 +++++++++++++ > 1 file changed, 13 insertions(+) Please add a commit log. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 May 2020 14:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15902429965788 (code B ref 41360); Sat, 23 May 2020 14:10:02 +0000 Received: (at 41360) by debbugs.gnu.org; 23 May 2020 14:09:56 +0000 Received: from localhost ([127.0.0.1]:35236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUqa-0001VI-IY for submit@debbugs.gnu.org; Sat, 23 May 2020 10:09:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jcUqZ-0001V6-5m for 41360@debbugs.gnu.org; Sat, 23 May 2020 10:09:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43508) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jcUqT-0005FG-VD; Sat, 23 May 2020 10:09:49 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=52244 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jcUqT-0007jl-Fv; Sat, 23 May 2020 10:09:49 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-9-levenson@mmer.org> Date: Sat, 23 May 2020 16:09:47 +0200 In-Reply-To: <20200517135138.1651512-9-levenson@mmer.org> (Alexey Abramov's message of "Sun, 17 May 2020 15:51:38 +0200") Message-ID: <87tv0668us.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Alexey Abramov skribis: > --- > gnu/packages/java.scm | 165 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 165 insertions(+) Please add a commit log. [...] > + (add-after 'build 'generate-headers > + (lambda* (#:key inputs #:allow-other-keys) Could you add a comment explaining what this phase does and why we=E2=80=99= re doing all this? (Same for the other phases.) > + (let* ((module (string-append (getcwd) "/modules/web")) > + (classes (string-append module "/build/classes/java/= main")) > + (web-generated-headers (string-append module "/build= /generated-src/headers")) > + (web-generated-classes '("com.sun.webkit.ContextMenu" > + "com.sun.webkit.ContextMenu= Item" > + "com.sun.webkit.CursorManag= er" Perhaps add a comment explaining how you obtained this list of classes so that our future selves know how to update it. Since this is a Web thing, could you check whether it contains pre-built (=E2=80=9Cminified=E2=80=9D) JavaScript? If it does, that=E2=80=99s a prob= lem because we generally provide only software built from source. Could you send an updated patch series? Thank you for the hard work! Ludo=E2=80=99. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 2/9] gnu: java-openjfx-build: Fix indentation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085689724961 (code B ref 41360); Sat, 30 May 2020 16:42:01 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:37 +0000 Received: from localhost ([127.0.0.1]:58979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YC-0006UX-O8 for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:36 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:15983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YB-0006UF-Gn for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:35 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id D7DF59CC47 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:46 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:16 +0200 Message-Id: <20200530164123.30557-2-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Change the indentation of the uri dirictive. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d569ed57d6..43f0f37b91 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 5/9] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085690225009 (code B ref 41360); Sat, 30 May 2020 16:42:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:42 +0000 Received: from localhost ([127.0.0.1]:58987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YH-0006VI-V4 for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33008) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YC-0006UK-6g for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:36 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id BE8929D0EE for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:47 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:19 +0200 Message-Id: <20200530164123.30557-5-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-graphics): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 938fc0695c..f124062035 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3205,6 +3205,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 6/9] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085690225021 (code B ref 41360); Sat, 30 May 2020 16:42:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:42 +0000 Received: from localhost ([127.0.0.1]:58989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YI-0006VK-7R for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YC-0006UR-Ps for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:37 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 5CD3A9D154 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:48 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:20 +0200 Message-Id: <20200530164123.30557-6-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swing): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f124062035..f8d47d7eed 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3218,6 +3218,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 7/9] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085690225029 (code B ref 41360); Sat, 30 May 2020 16:42:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:42 +0000 Received: from localhost ([127.0.0.1]:58991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YI-0006VW-FR for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YD-0006Ug-Dl for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:38 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1393F9D164 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:48 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:21 +0200 Message-Id: <20200530164123.30557-7-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swt): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8d47d7eed..ec9e24b8d3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3231,6 +3231,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 9/9] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085690325036 (code B ref 41360); Sat, 30 May 2020 16:42:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:43 +0000 Received: from localhost ([127.0.0.1]:58993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YI-0006Ve-Nc for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:43 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33023) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YE-0006Un-1R for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:39 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E6D979D154 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:49 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:23 +0200 Message-Id: <20200530164123.30557-9-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-web): New variable. We build not only a web component here, but webkit as well. Webkit requires some extra 3rd party libraries icu, libxml, libxslt and sqlite which are already in openjfx source bundle. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 176 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8a5b71a48..0d2f268764 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -50,11 +50,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,8 +76,10 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages texinfo) @@ -3263,6 +3267,178 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* _ + (invoke "ant" "compile" "-Dclasses.dir=modules/web/build/classes/java/main") + #t)) + + (add-after 'build 'generate-headers + ;; XX: We provide only software built from source, so let's build + ;; webkit as well. List of webkit classes can be found in + ;; build.gradle:2516. We need to generate headers for the upcoming + ;; compilation step first and put them in generated-src/headers + ;; location. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/web/build/classes/java/main") + (web-generated-headers "modules/web/build/generated-src/headers") + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics "\\.jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (mkdir-p webkit-native-dest) + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + ;; We disable all the updates, and build 3rd-party libs + ;; lice icu, libxml, libxslt and sqlite. Source code + ;; sits modules/web/src/main/native/Source/ThirdPArty. + "--skip-library-update" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DCMAKE_SYSTEM_NAME=Linux" + ;; Ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; Add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; Enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((resources "modules/web/src/main/resources") + (classes "modules/web/build/classes/java/main")) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ;; XX: With current gcc (gcc-7.5) the build breaks on building + ;; thirdparty libraries like xslt. c++14 is used to build + ;; them. CMAKE_CXX_STANDARD doesn't take any effect here for some + ;; reason. + ("gcc" ,gcc-5) + ("glibc" ,glibc-2.29) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 1/9] gnu: java-openjfx-build: Add helpful patch. References: <20200517132829.1553311-1-levenson@mmer.org> In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085690725048 (code B ref 41360); Sat, 30 May 2020 16:42:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:47 +0000 Received: from localhost ([127.0.0.1]:58995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YJ-0006Vl-7M for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:47 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:32996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YB-0006UG-GQ for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:39 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 9E9F89CC41 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:46 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:15 +0200 Message-Id: <20200530164123.30557-1-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-jdk_version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 ++- .../java-openjfx-build-jdk_version.patch | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-jdk_version.patch diff --git a/gnu/local.mk b/gnu/local.mk index 768943a67a..cbf0a20a9e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ + %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b12c3ca95c..d569ed57d6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2499,7 +2499,8 @@ new Date();")) #t)) (sha256 (base32 - "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) + (patches (search-patches "java-openjfx-build-jdk_version.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-jdk_version.patch b/gnu/packages/patches/java-openjfx-build-jdk_version.patch new file mode 100644 index 0000000000..7be954467a --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch @@ -0,0 +1,27 @@ +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + if (inStream.readLine() != null) { + String v = inStream.readLine(); + if (v != null) { +- int ib = v.indexOf(" (build "); ++ int ib = v.indexOf(" (guix build "); + if (ib != -1) { +- String ver = v.substring(ib + 8, v.size() - 1); ++ String ver = v.substring(ib + 13, v.size() - 1); + + defineProperty("jdkRuntimeVersion", ver) + defineProperty("jdkVersion", jdkRuntimeVersion.split("-")[0]) +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 4/9] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:42:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085691525062 (code B ref 41360); Sat, 30 May 2020 16:42:04 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:41:55 +0000 Received: from localhost ([127.0.0.1]:58997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YN-0006Vx-Ie for submit@debbugs.gnu.org; Sat, 30 May 2020 12:41:54 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YB-0006UJ-NB for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 815239CFFC for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:47 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:18 +0200 Message-Id: <20200530164123.30557-4-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch diff --git a/gnu/local.mk b/gnu/local.mk index cbf0a20a9e..e15554f1c2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,6 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9d73d9a7e8..938fc0695c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,8 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-jdk_version.patch" + "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch new file mode 100644 index 0000000000..b540048621 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch @@ -0,0 +1,60 @@ +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 3/9] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085692525148 (code B ref 41360); Sat, 30 May 2020 16:43:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:42:05 +0000 Received: from localhost ([127.0.0.1]:58999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YU-0006WB-U9 for submit@debbugs.gnu.org; Sat, 30 May 2020 12:42:05 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YB-0006UI-GV for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 118999CE92 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:47 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:17 +0200 Message-Id: <20200530164123.30557-3-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2, font_freetype, glassgtk3, font, font_pango and glass libraries. All the steps were taken by inspecting ./gradlew build --info result. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 634 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43f0f37b91..9d73d9a7e8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,641 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses" "-Werror=implicit-function-declaration")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + ;; XX: Description can be found in build.gradle:1429. Currently + ;; there is no sdk creation step. + ;; + ;; The Decora and Prism JSL files have to be generated in a very specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). + ;; 2) Generate source files from the JSL files contained in src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation time in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note that I didn't bother to create + ;; a new task for each of the decora files, preferring instead just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.java")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism")) + (mkdir-p prism-gen-src) + (for-each (lambda (file) + (apply invoke "java" + "-cp" (string-join (list + ;; For CompileJSL + prism-compilers-classes + ;; jsl files are there + prism-src + (getenv "CLASSPATH")) + ":") + "CompileJSL" + "-i" prism-src + "-o" prism-gen-src + "-t" + "-pkg" "com/sun/prism" + "-d3d" + "-es2" + "-name" (list file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-prism") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files decora-src "\\.java")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-components '([(file-name . "ColorAdjust") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Brightpass") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "SepiaTone") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "PerspectiveTransform") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "DisplacementMap") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "InvertMask") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Blend") + (generator . "CompileBlend") + (outputs . "-all")] + [(file-name . "PhongLighting") + (generator . "CompilePhong") + (outputs . "-all")] + [(file-name . "LinearConvolve") + (generator . "CompileLinearConvolve") + (outputs . "-hw")] + [(file-name . "LinearConvolveShadow") + (generator . "CompileLinearConvolve") + (outputs . "-hw")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generated-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/jsl-decora/linux") + (decora-native-src "modules/graphics/src/main/native-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) ":") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/linux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font/linux") + (font-native-src "modules/graphics/src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c") ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/native/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/native/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated-src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass/linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/glass/linux/glass") + (glass-native-src "modules/graphics/src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. Gtk + ;; 2.24 uses GTimeVal so our build is also failing. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-src/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/linux") + (iio-native-src "modules/graphics/src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated-src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism/linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/prism/linux") + (prism-native-src "modules/graphics/src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native/prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-src "/GL") + "-I" (string-append prism-es2-native-src "/x11") + "-o" (string-append prism-es2-native-obj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v2 8/9] gnu: java-openjfx-build: Prepare a patch to build openjfx-web. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:43:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085692825157 (code B ref 41360); Sat, 30 May 2020 16:43:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:42:08 +0000 Received: from localhost ([127.0.0.1]:59008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4Yf-0006XZ-4b for submit@debbugs.gnu.org; Sat, 30 May 2020 12:42:08 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:33012) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4YD-0006UR-Gb for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:41:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A5F719D166 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:10:49 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 18:41:22 +0200 Message-Id: <20200530164123.30557-8-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530164123.30557-1-levenson@mmer.org> References: <20200530164123.30557-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- .../java-openjfx-build-web-xlocale.h.patch | 52 +++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch diff --git a/gnu/local.mk b/gnu/local.mk index e15554f1c2..71d7079134 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1112,6 +1112,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ + %D%/packages/patches/java-openjfx-build-web-xlocale.h.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ec9e24b8d3..f8a5b71a48 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2502,7 +2502,8 @@ new Date();")) (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-jdk_version.patch" - "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) + "java-openjfx-build-swing-JFXPanel-JDK8.patch" + "java-openjfx-build-web-xlocale.h.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch new file mode 100644 index 0000000000..138f39f9af --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch @@ -0,0 +1,52 @@ +Subject: [PATCH] Check header file + +Few libraries use hard-coded xlocale_h header even though if CMake takes care +of it properly. Remove defined headers, and rely on CMake preprocessor +instead. + +--- + .../src/main/native/Source/ThirdParty/libxslt/linux/config.h | 2 +- + .../src/main/native/Source/ThirdParty/libxslt/src/config.h.in | 2 +- + modules/web/src/main/native/Source/cmake/OptionsCommon.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +index bd44c163..b19b45f4 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +@@ -143,7 +143,7 @@ + #define HAVE_VSPRINTF 1 + + /* Define to 1 if you have the header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ + + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +index 085354e9..0210fce2 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +@@ -142,7 +142,7 @@ + #undef HAVE_VSPRINTF + + /* Define to 1 if you have the header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ + + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +index 3bbd2c4a..2b618dd6 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +@@ -148,6 +148,7 @@ _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIMEB_H sys/timeb.h) ++_HAVE_CHECK_INCLUDE(HAVE_XLOCALE_H xlocale.h) + + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +-- +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 01/12] gnu: java-openjfx-build: Add helpful patch. In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:46:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085710625468 (code B ref 41360); Sat, 30 May 2020 16:46:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:45:06 +0000 Received: from localhost ([127.0.0.1]:59017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4ba-0006cg-7t for submit@debbugs.gnu.org; Sat, 30 May 2020 12:45:06 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:27904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4bV-0006bs-D6 for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:45:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 84CD99CC41; Sat, 30 May 2020 16:14:12 +0000 (UTC) From: Alexey Abramov References: <20200517132829.1553311-1-levenson@mmer.org> <20200517135138.1651512-1-levenson@mmer.org> <87k1127ny7.fsf@gnu.org> Date: Sat, 30 May 2020 18:44:56 +0200 Message-ID: <87blm52wzb.fsf@mmer.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s writes: > Hi Alexey, > > Thanks for the patch series! > > Alexey Abramov skribis: > >> * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. >> * gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch: Ne= w file. >> * gnu/local.mk (dist_patch_DATA): Add it. > > [...] > >> +++ b/gnu/packages/patches/java-openjfx-build-get_guix_jdk_version.patch >> @@ -0,0 +1,37 @@ > > Could you shorten this file name a bit? (=E2=80=98guix lint=E2=80=99 pro= bably complains.) Sure. By the way it complains on other derrived packages like java-openjfx-= base which inherits java-openjfx-build. /home/levenson/factory/guix/gnu/packages/java.scm:2486:12: java-openjfx-bui= ld@8.202: source not archived on Software Heritage /home/levenson/factory/guix/gnu/packages/java.scm:2533:2: java-openjfx-base= @8.202: file names of patches should start with the package name /home/levenson/factory/guix/gnu/packages/java.scm:2537:0: java-openjfx-base= @8.202: line 2537 is way too long (111 characters) /home/levenson/factory/guix/gnu/packages/java.scm:2552:0: java-openjfx-base= @8.202: line 2552 is way too long (99 characters) /home/levenson/factory/guix/gnu/packages/java.scm:2533:2: java-openjfx-base= @8.202: source not archived on Software Heritage > >> +From d156313340d3edcd78751ea8ed5e66c7668275c3 Mon Sep 17 00:00:00 2001 >> +From: Alexey Abramov >> +Date: Sun, 8 Mar 2020 20:07:22 +0100 >> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME > > In general I think you can omit the first three lines and just keep the > subject. Ah, great. > >> +Icedtea contains guix in its version, so build.gradle failes to run. Op= enjfx >> +packaging is not trivial, so you will probably need to try build it with >> +gradlew. > > Otherwise LGTM. -- Alexey From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 03/12] gnu: java-openjfx-graphics: Implement a complete compilation. In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:46:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085711725494 (code B ref 41360); Sat, 30 May 2020 16:46:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:45:17 +0000 Received: from localhost ([127.0.0.1]:59020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4bl-0006d8-GB for submit@debbugs.gnu.org; Sat, 30 May 2020 12:45:17 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:32793) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4bi-0006cz-L8 for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:45:15 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 82F829CC40; Sat, 30 May 2020 16:14:21 +0000 (UTC) From: Alexey Abramov References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-3-levenson@mmer.org> <878shi7no2.fsf@gnu.org> Date: Sat, 30 May 2020 18:45:08 +0200 Message-ID: <874krx2wyz.fsf@mmer.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s writes: > Alexey Abramov skribis: > >> --- >> gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 635 insertions(+), 8 deletions(-) > > Please add a commit log. > >> + (java-aux-class? >> + (lambda (class) >> + (string-match "\\$[0-9]+.class" class))) > > Probably =E2=80=9C\\.class=E2=80=9D instead of =E2=80=9C.class=E2=80=9D? Ah, that sneaky dot. Thanks! > >> + (add-after 'chdir-to-a-module-directory 'compile-prism-compi= lers >> + (lambda _ > > Maybe add a comment explaining why this phase is necessary. Well, you know, I managed to eliminate it. Thanks! > >> + (let ((prism-compilers-classes "build/classes/jsl-compil= ers/prism") >> + (prism-src "src/main/jsl-prism/")) >> + (mkdir-p prism-compilers-classes) >> + (apply invoke `("javac" >> + "-d" ,prism-compilers-classes >> + ,@javac/h-flags >> + ,@(find-files prism-src "\\.java")))) > > This can be shortened as: > > (apply invoke "javac" "-d" prism-compilers-classes > (append javac/h-flags (find-files prism-src "\\.java"))) > > These two comments apply to the other phases too. > > More generally, why are there so many phases? How do people normally > build it? Gradle? > > Would it make sense to factorize helpers in a new (gnu build > java-openjfx) module or similar? You are right, javafx builds with Gradel. I basically replicated gradle stages, by inspecting ./gradlew build ... --info The reason I didn't start building any helpers is because OpenJFX 8u and Op= enJFX 9u or later use different instuctions as it states here [1]. I don't = know if these helpers will apply to 9u, also having a (gnu build gradle) wo= uld eliminate the need in helpers as well. In any case I think it won't be = a problem to do that with a second iteration of openjfx build. -- Alexey Footnotes: [1] https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX+8u From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 16:46:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085712425516 (code B ref 41360); Sat, 30 May 2020 16:46:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 16:45:24 +0000 Received: from localhost ([127.0.0.1]:59023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4br-0006dT-PZ for submit@debbugs.gnu.org; Sat, 30 May 2020 12:45:24 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:32798) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4bp-0006dL-RX for 41360@debbugs.gnu.org; Sat, 30 May 2020 12:45:22 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2CC1D9CC47; Sat, 30 May 2020 16:14:32 +0000 (UTC) From: Alexey Abramov References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-9-levenson@mmer.org> <87tv0668us.fsf@gnu.org> Date: Sat, 30 May 2020 18:45:19 +0200 Message-ID: <87wo4t1ie8.fsf@mmer.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ludovic Court=C3=A8s writes: > Alexey Abramov skribis: > >> --- >> gnu/packages/java.scm | 165 ++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 165 insertions(+) > > Please add a commit log. > > [...] > >> + (add-after 'build 'generate-headers >> + (lambda* (#:key inputs #:allow-other-keys) > > Could you add a comment explaining what this phase does and why we=E2=80= =99re > doing all this? (Same for the other phases.) Done. > >> + (let* ((module (string-append (getcwd) "/modules/web")) >> + (classes (string-append module "/build/classes/java= /main")) >> + (web-generated-headers (string-append module "/buil= d/generated-src/headers")) >> + (web-generated-classes '("com.sun.webkit.ContextMen= u" >> + "com.sun.webkit.ContextMen= uItem" >> + "com.sun.webkit.CursorMana= ger" > > Perhaps add a comment explaining how you obtained this list of classes > so that our future selves know how to update it. > > Since this is a Web thing, could you check whether it contains pre-built > (=E2=80=9Cminified=E2=80=9D) JavaScript? If it does, that=E2=80=99s a pr= oblem because we > generally provide only software built from source. We build not only a web component here, but webkit as well. Webkit requires= some extra 3rd party libraries icu, libxml, libxslt and sqlite which are a= lready in openjfx source bundle. We also build them now. One thing to note here, I have tested openjfx only with davmail in order to= make oauth2 works. There is one exception during the authorization. When o= auth accepts your password and waits for you to approve from another device= , it changes the form and tries to shadow some captions, and those captions= just don't show up during that period of time. Don't know what to do here.= I am not a java developer, so probably it requires more testing. I was pla= nning to talk about on openjfx mailing list, but time didn't let me. --8<---------------cut here---------------start------------->8--- Error: CPU/SIMD peer not found for: Blend_SRC_IN due to error: com.sun.scen= ario.effect.impl.sw.sse.SSEBlend_SRC_INPeer java.lang.RuntimeException: Could not create peer Blend_SRC_IN for rendere= r com.sun.scenario.effect.impl.prism.sw.PSWRenderer@6218eb01 at com.sun.scenario.effect.impl.Renderer.getPeerInstance(Unknown Source) at com.sun.scenario.effect.CoreEffect.getPeer(Unknown Source) at com.sun.scenario.effect.CoreEffect.getPeer(Unknown Source) at com.sun.scenario.effect.CoreEffect.filterImageDatas(Unknown Source) at com.sun.scenario.effect.Blend.filterImageDatas(Unknown Source) at com.sun.scenario.effect.FilterEffect.filter(Unknown Source) at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(Unknown Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$ClipLayer.render(Unk= nown Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.renderLayer(Unknown = Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.restoreStateInternal= (Unknown Source) at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.restoreState(Unknown= Source) at com.sun.webkit.graphics.GraphicsDecoder.decode(Unknown Source) at com.sun.webkit.graphics.WCRenderQueue.decode(Unknown Source) at com.sun.webkit.WebPage.paint2GC(Unknown Source) at com.sun.webkit.WebPage.paint(Unknown Source) at com.sun.javafx.sg.prism.web.NGWebView.renderContent(Unknown Source) at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source) at com.sun.javafx.sg.prism.NGNode.render(Unknown Source) at com.sun.javafx.sg.prism.NGGroup.renderContent(Unknown Source) at com.sun.javafx.sg.prism.NGRegion.renderContent(Unknown Source) at com.sun.javafx.sg.prism.NGNode.doRender(Unknown Source) at com.sun.javafx.sg.prism.NGNode.render(Unknown Source) at com.sun.javafx.tk.quantum.ViewPainter.doPaint(Unknown Source) at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(Unknown Source) at com.sun.javafx.tk.quantum.UploadingPainter.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at com.sun.javafx.tk.RenderJob.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.ja= va:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.j= ava:624) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown = Source) at java.lang.Thread.run(Thread.java:748) --8<---------------cut here---------------end--------------->8--- -- Alexey From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 2/9] gnu: java-openjfx-build: Fix indentation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085859527862 (code B ref 41360); Sat, 30 May 2020 17:10:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:09:55 +0000 Received: from localhost ([127.0.0.1]:59061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zb-0007FK-B4 for submit@debbugs.gnu.org; Sat, 30 May 2020 13:09:55 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:41735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zZ-0007F6-Lk for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:09:54 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 454D99CCD1 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:44 +0200 Message-Id: <20200530170951.1649-2-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Change the indentation of the uri dirictive. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d569ed57d6..43f0f37b91 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 6/9] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:10:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085860027888 (code B ref 41360); Sat, 30 May 2020 17:10:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:00 +0000 Received: from localhost ([127.0.0.1]:59064 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zf-0007Fj-IP for submit@debbugs.gnu.org; Sat, 30 May 2020 13:09:59 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53353) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4za-0007FH-QO for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:09:57 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 5D3A09D0EE for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:48 +0200 Message-Id: <20200530170951.1649-6-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swt): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f124062035..f8d47d7eed 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3218,6 +3218,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. References: <20200517132829.1553311-1-levenson@mmer.org> In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085860427945 (code B ref 41360); Sat, 30 May 2020 17:11:01 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:04 +0000 Received: from localhost ([127.0.0.1]:59067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zf-0007Fl-TG for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:04 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:19157) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zZ-0007F7-Kh for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:09:58 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 189A69CC60 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:43 +0200 Message-Id: <20200530170951.1649-1-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-jdk_version.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 ++- .../java-openjfx-build-jdk_version.patch | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-jdk_version.patch diff --git a/gnu/local.mk b/gnu/local.mk index 768943a67a..cbf0a20a9e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ + %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b12c3ca95c..d569ed57d6 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2499,7 +2499,8 @@ new Date();")) #t)) (sha256 (base32 - "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) + (patches (search-patches "java-openjfx-build-jdk_version.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-jdk_version.patch b/gnu/packages/patches/java-openjfx-build-jdk_version.patch new file mode 100644 index 0000000000..7be954467a --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch @@ -0,0 +1,27 @@ +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + if (inStream.readLine() != null) { + String v = inStream.readLine(); + if (v != null) { +- int ib = v.indexOf(" (build "); ++ int ib = v.indexOf(" (guix build "); + if (ib != -1) { +- String ver = v.substring(ib + 8, v.size() - 1); ++ String ver = v.substring(ib + 13, v.size() - 1); + + defineProperty("jdkRuntimeVersion", ver) + defineProperty("jdkVersion", jdkRuntimeVersion.split("-")[0]) +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 7/9] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085860927992 (code B ref 41360); Sat, 30 May 2020 17:11:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:09 +0000 Received: from localhost ([127.0.0.1]:59076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zp-0007HP-BV for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:09 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53354) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4za-0007FI-QR for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:09:59 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 8A6859D154 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:49 +0200 Message-Id: <20200530170951.1649-7-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-controls): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8d47d7eed..ec9e24b8d3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3231,6 +3231,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 3/9] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085862228026 (code B ref 41360); Sat, 30 May 2020 17:11:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:22 +0000 Received: from localhost ([127.0.0.1]:59078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zp-0007HR-KD for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:22 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53335) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zZ-0007F8-RU for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:10:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 71D479CE92 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:45 +0200 Message-Id: <20200530170951.1649-3-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2, font_freetype, glassgtk3, font, font_pango and glass libraries. All the steps were taken by inspecting ./gradlew build --info result. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 634 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43f0f37b91..9d73d9a7e8 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,641 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses" "-Werror=implicit-function-declaration")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + ;; XX: Description can be found in build.gradle:1429. Currently + ;; there is no sdk creation step. + ;; + ;; The Decora and Prism JSL files have to be generated in a very specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). + ;; 2) Generate source files from the JSL files contained in src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation time in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note that I didn't bother to create + ;; a new task for each of the decora files, preferring instead just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.java")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism")) + (mkdir-p prism-gen-src) + (for-each (lambda (file) + (apply invoke "java" + "-cp" (string-join (list + ;; For CompileJSL + prism-compilers-classes + ;; jsl files are there + prism-src + (getenv "CLASSPATH")) + ":") + "CompileJSL" + "-i" prism-src + "-o" prism-gen-src + "-t" + "-pkg" "com/sun/prism" + "-d3d" + "-es2" + "-name" (list file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-prism") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files decora-src "\\.java")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-components '([(file-name . "ColorAdjust") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Brightpass") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "SepiaTone") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "PerspectiveTransform") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "DisplacementMap") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "InvertMask") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Blend") + (generator . "CompileBlend") + (outputs . "-all")] + [(file-name . "PhongLighting") + (generator . "CompilePhong") + (outputs . "-all")] + [(file-name . "LinearConvolve") + (generator . "CompileLinearConvolve") + (outputs . "-hw")] + [(file-name . "LinearConvolveShadow") + (generator . "CompileLinearConvolve") + (outputs . "-hw")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generated-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/jsl-decora/linux") + (decora-native-src "modules/graphics/src/main/native-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) ":") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/linux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font/linux") + (font-native-src "modules/graphics/src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c") ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/native/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/native/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated-src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass/linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/glass/linux/glass") + (glass-native-src "modules/graphics/src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. Gtk + ;; 2.24 uses GTimeVal so our build is also failing. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-src/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/linux") + (iio-native-src "modules/graphics/src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated-src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism/linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/prism/linux") + (prism-native-src "modules/graphics/src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native/prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-src "/GL") + "-I" (string-append prism-es2-native-src "/x11") + "-o" (string-append prism-es2-native-obj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 5/9] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085862228033 (code B ref 41360); Sat, 30 May 2020 17:11:02 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:22 +0000 Received: from localhost ([127.0.0.1]:59082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf502-0007Hz-5X for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:22 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53343) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4za-0007FB-6S for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:10:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 305569D06C for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:47 +0200 Message-Id: <20200530170951.1649-5-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swing): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 938fc0695c..f124062035 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3205,6 +3205,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 8/9] gnu: java-openjfx-build: Prepare a patch to build openjfx-web. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085862628045 (code B ref 41360); Sat, 30 May 2020 17:11:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:26 +0000 Received: from localhost ([127.0.0.1]:59084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf502-0007I6-HE for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:26 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53353) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4zd-0007FH-Pa for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:10:05 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id B54C09D164 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:50 +0200 Message-Id: <20200530170951.1649-8-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- .../java-openjfx-build-web-xlocale.h.patch | 52 +++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch diff --git a/gnu/local.mk b/gnu/local.mk index e15554f1c2..71d7079134 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1112,6 +1112,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ + %D%/packages/patches/java-openjfx-build-web-xlocale.h.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index ec9e24b8d3..f8a5b71a48 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2502,7 +2502,8 @@ new Date();")) (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-jdk_version.patch" - "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) + "java-openjfx-build-swing-JFXPanel-JDK8.patch" + "java-openjfx-build-web-xlocale.h.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch new file mode 100644 index 0000000000..138f39f9af --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-xlocale.h.patch @@ -0,0 +1,52 @@ +Subject: [PATCH] Check header file + +Few libraries use hard-coded xlocale_h header even though if CMake takes care +of it properly. Remove defined headers, and rely on CMake preprocessor +instead. + +--- + .../src/main/native/Source/ThirdParty/libxslt/linux/config.h | 2 +- + .../src/main/native/Source/ThirdParty/libxslt/src/config.h.in | 2 +- + modules/web/src/main/native/Source/cmake/OptionsCommon.cmake | 1 + + 3 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +index bd44c163..b19b45f4 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/linux/config.h +@@ -143,7 +143,7 @@ + #define HAVE_VSPRINTF 1 + + /* Define to 1 if you have the header file. */ +-#define HAVE_XLOCALE_H 1 ++/* #define HAVE_XLOCALE_H 1 */ + + /* Define to 1 if you have the `_stat' function. */ + /* #undef HAVE__STAT */ +diff --git a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +index 085354e9..0210fce2 100644 +--- a/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in ++++ b/modules/web/src/main/native/Source/ThirdParty/libxslt/src/config.h.in +@@ -142,7 +142,7 @@ + #undef HAVE_VSPRINTF + + /* Define to 1 if you have the header file. */ +-#undef HAVE_XLOCALE_H ++/* #undef HAVE_XLOCALE_H */ + + /* Define to 1 if you have the `_stat' function. */ + #undef HAVE__STAT +diff --git a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +index 3bbd2c4a..2b618dd6 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsCommon.cmake +@@ -148,6 +148,7 @@ _HAVE_CHECK_INCLUDE(HAVE_STRINGS_H strings.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_PARAM_H sys/param.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIME_H sys/time.h) + _HAVE_CHECK_INCLUDE(HAVE_SYS_TIMEB_H sys/timeb.h) ++_HAVE_CHECK_INCLUDE(HAVE_XLOCALE_H xlocale.h) + + # Check for functions + _HAVE_CHECK_FUNCTION(HAVE_ALIGNED_MALLOC _aligned_malloc) +-- +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 9/9] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085862628052 (code B ref 41360); Sat, 30 May 2020 17:11:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:26 +0000 Received: from localhost ([127.0.0.1]:59086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf506-0007II-5x for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:26 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4ze-0007FY-3m for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:10:06 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id E306D9D166 for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:06 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:51 +0200 Message-Id: <20200530170951.1649-9-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-web): New variable. We build not only a web component here, but webkit as well. Webkit requires some extra 3rd party libraries icu, libxml, libxslt and sqlite which are already in openjfx source bundle. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 176 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index f8a5b71a48..0d2f268764 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -50,11 +50,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,8 +76,10 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages texinfo) @@ -3263,6 +3267,178 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* _ + (invoke "ant" "compile" "-Dclasses.dir=modules/web/build/classes/java/main") + #t)) + + (add-after 'build 'generate-headers + ;; XX: We provide only software built from source, so let's build + ;; webkit as well. List of webkit classes can be found in + ;; build.gradle:2516. We need to generate headers for the upcoming + ;; compilation step first and put them in generated-src/headers + ;; location. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/web/build/classes/java/main") + (web-generated-headers "modules/web/build/generated-src/headers") + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics "\\.jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (mkdir-p webkit-native-dest) + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + ;; We disable all the updates, and build 3rd-party libs + ;; lice icu, libxml, libxslt and sqlite. Source code + ;; sits modules/web/src/main/native/Source/ThirdPArty. + "--skip-library-update" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DCMAKE_SYSTEM_NAME=Linux" + ;; Ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; Add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; Enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))))) + + (add-before 'install 'build-jar + (lambda _ + (let* ((resources "modules/web/src/main/resources") + (classes "modules/web/build/classes/java/main")) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ;; XX: With current gcc (gcc-7.5) the build breaks on building + ;; thirdparty libraries like xslt. c++14 is used to build + ;; them. CMAKE_CXX_STANDARD doesn't take any effect here for some + ;; reason. + ("gcc" ,gcc-5) + ("glibc" ,glibc-2.29) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 4/9] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 30 May 2020 17:11:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159085862828061 (code B ref 41360); Sat, 30 May 2020 17:11:03 +0000 Received: (at 41360) by debbugs.gnu.org; 30 May 2020 17:10:28 +0000 Received: from localhost ([127.0.0.1]:59088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf506-0007IP-NS for submit@debbugs.gnu.org; Sat, 30 May 2020 13:10:28 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:53339) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jf4za-0007F9-0F for 41360@debbugs.gnu.org; Sat, 30 May 2020 13:10:08 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 02E899CFFC for <41360@debbugs.gnu.org>; Sat, 30 May 2020 16:39:05 +0000 (UTC) From: Alexey Abramov Date: Sat, 30 May 2020 19:09:46 +0200 Message-Id: <20200530170951.1649-4-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> References: <20200530170951.1649-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 3 +- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 +++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch diff --git a/gnu/local.mk b/gnu/local.mk index cbf0a20a9e..e15554f1c2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,6 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9d73d9a7e8..938fc0695c 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,8 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-jdk_version.patch" + "java-openjfx-build-swing-JFXPanel-JDK8.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch new file mode 100644 index 0000000000..b540048621 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch @@ -0,0 +1,60 @@ +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 03 Jun 2020 15:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15911992454160 (code B ref 41360); Wed, 03 Jun 2020 15:48:02 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 15:47:25 +0000 Received: from localhost ([127.0.0.1]:44407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgVbk-00014m-59 for submit@debbugs.gnu.org; Wed, 03 Jun 2020 11:47:25 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57554) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgVbj-00014a-1b for 41360@debbugs.gnu.org; Wed, 03 Jun 2020 11:47:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43710) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgVbd-00059z-Lc; Wed, 03 Jun 2020 11:47:05 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41696 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jgVbd-0002lC-64; Wed, 03 Jun 2020 11:47:05 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-9-levenson@mmer.org> <87tv0668us.fsf@gnu.org> <87wo4t1ie8.fsf@mmer.org> Date: Wed, 03 Jun 2020 17:47:03 +0200 In-Reply-To: <87wo4t1ie8.fsf@mmer.org> (Alexey Abramov's message of "Sat, 30 May 2020 18:45:19 +0200") Message-ID: <87v9k8kv7s.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Alexey, Alexey Abramov skribis: > Ludovic Court=C3=A8s writes: [...] >>> + (let* ((module (string-append (getcwd) "/modules/web")) >>> + (classes (string-append module "/build/classes/jav= a/main")) >>> + (web-generated-headers (string-append module "/bui= ld/generated-src/headers")) >>> + (web-generated-classes '("com.sun.webkit.ContextMe= nu" >>> + "com.sun.webkit.ContextMe= nuItem" >>> + "com.sun.webkit.CursorMan= ager" >> >> Perhaps add a comment explaining how you obtained this list of classes >> so that our future selves know how to update it. >> >> Since this is a Web thing, could you check whether it contains pre-built >> (=E2=80=9Cminified=E2=80=9D) JavaScript? If it does, that=E2=80=99s a p= roblem because we >> generally provide only software built from source. > > We build not only a web component here, but webkit as well. Webkit requir= es some extra 3rd party libraries icu, libxml, libxslt and sqlite which are= already in openjfx source bundle. We also build them now. Oh sorry, I had overlooked that and it=E2=80=99s problematic. The policy in Guix is to not use bundled software: it=E2=80=99s a waste of resources (especially for large pieces of software like WebKit), but more importantly it=E2=80=99s a security issue (nobody will notice if =E2=80=98java-openjfx-web=E2=80=99 includes an outdated, vulnerable version= of WebKit). So the solution is to: 1. Pass the relevant flags to tell the build system to use the =E2=80=9Csystem=E2=80=9D copies of these libraries. If there=E2=80=99= s no such flag, patch the build system to not try to build these things. 2. Add a snippet to remove bundled copies of these libraries, to make sure they=E2=80=99re not picked up by mistake. Sometimes it=E2=80=99s just a build flag, and sometimes it=E2=80=99s harder= . If it turns out to be difficult, let us know, and perhaps we can find an interim solution. Could you take a look? Let me know what you think! Thanks, Ludo=E2=80=99. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 03 Jun 2020 15:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org, Julien Lepiller Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15911994474449 (code B ref 41360); Wed, 03 Jun 2020 15:51:01 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 15:50:47 +0000 Received: from localhost ([127.0.0.1]:44412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgVfD-00019g-2S for submit@debbugs.gnu.org; Wed, 03 Jun 2020 11:50:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58130) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgVfC-00019U-38 for 41360@debbugs.gnu.org; Wed, 03 Jun 2020 11:50:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43745) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgVf6-0005lH-4j; Wed, 03 Jun 2020 11:50:40 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41698 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jgVf5-00033r-OE; Wed, 03 Jun 2020 11:50:39 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517132829.1553311-1-levenson@mmer.org> <20200530170951.1649-1-levenson@mmer.org> Date: Wed, 03 Jun 2020 17:50:38 +0200 In-Reply-To: <20200530170951.1649-1-levenson@mmer.org> (Alexey Abramov's message of "Sat, 30 May 2020 19:09:43 +0200") Message-ID: <87pnagkv1t.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Alexey Abramov skribis: > +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch > @@ -0,0 +1,27 @@ > +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME > + > +Icedtea contains guix in its version, so build.gradle failes to run. Ope= njfx > +packaging is not trivial, so you will probably need to try build it with > +gradlew. > + > +--- > + build.gradle | 5 ++--- > + 1 file changed, 2 insertions(+), 3 deletions(-) This patch also made me realize that we=E2=80=99re using Gradle here, but there=E2=80=99s no Gradle package in Guix. That means we must be using a pre-built jar somewhere, though I didn=E2=80=99t find it. Any idea where t= hat comes from? Julien, any idea? (The problem existed before your patches.) Thanks, Ludo=E2=80=99. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 03 Jun 2020 16:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Alexey Abramov Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159120153816152 (code B ref 41360); Wed, 03 Jun 2020 16:26:02 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 16:25:38 +0000 Received: from localhost ([127.0.0.1]:44482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgWCi-0004CC-PE for submit@debbugs.gnu.org; Wed, 03 Jun 2020 12:25:38 -0400 Received: from lepiller.eu ([89.234.186.109]:54826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgWCh-0004C3-1e for 41360@debbugs.gnu.org; Wed, 03 Jun 2020 12:25:23 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 7438b954; Wed, 3 Jun 2020 16:25:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date :in-reply-to:references:mime-version:content-type :content-transfer-encoding:subject:to:cc:from:message-id; s= dkim; bh=FeULLNLaBoDFezkr+jG0MNtD6vE2uCeTspxxH5Alxtk=; b=JNL4xeq DH3fynpJx1vEYelldkc1aiWHOALU9qGUqJXtWXKva385pqRDsYpiLqjrdfny9v92 i9bGkJ14NpnXpn/f7Ll1KBmMctuefXm98WBfBhMvTnYqIDs0+wGfJrFstQRZZCVE hzNvXeJZgatQ/5L7SIxAekXbS5Yjk7zYwnYoaQdHmSzmHPbgZTv4LGj9su5fr7HG 0uMwM42YUtdMcv/i1fSAZBB6OtzmSOw9DxvPRncvByMZTSUjWKCEoQv6HcDCPIED mAvsPOuIWfXETadn1jKaaf0g6AYywTTmCrG6+THMylAuFVCBlUb8AKKUFdosmp0f W1O0QpSBYPGTnug== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 8d2f02c3 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Wed, 3 Jun 2020 16:25:19 +0000 (UTC) Date: Wed, 03 Jun 2020 12:24:58 -0400 User-Agent: K-9 Mail for Android In-Reply-To: <87pnagkv1t.fsf@gnu.org> References: <20200517132829.1553311-1-levenson@mmer.org> <20200530170951.1649-1-levenson@mmer.org> <87pnagkv1t.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Julien Lepiller Message-ID: <0F005145-C408-4B05-86C2-750219F7F2E3@lepiller.eu> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Court=C3=A8s" = a =C3=A9crit : >Alexey Abramov skribis: > >> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version=2Epatch >> @@ -0,0 +1,27 @@ >> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME >> + >> +Icedtea contains guix in its version, so build=2Egradle failes to run= =2E >Openjfx >> +packaging is not trivial, so you will probably need to try build it >with >> +gradlew=2E >> + >> +--- >> + build=2Egradle | 5 ++--- >> + 1 file changed, 2 insertions(+), 3 deletions(-) > >This patch also made me realize that we=E2=80=99re using Gradle here, but >there=E2=80=99s no Gradle package in Guix=2E That means we must be using= a >pre-built jar somewhere, though I didn=E2=80=99t find it=2E Any idea whe= re that >comes from? Julien, any idea? > >(The problem existed before your patches=2E) > >Thanks, >Ludo=E2=80=99=2E From=20what I understand, this patcg helps build openjfx with gradle on guix= , if you use the guix source in an environment, but reading the other patch= es, it doesn't look like gradle is actually used anywhere=2E It looks like this patch is helpful in the sense that it allows users to m= anually build the package outside of guix, but is not used at all during th= e build of openjfx by guix itself=2E Alexey, can you confirm? From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 03 Jun 2020 16:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Cc: 41360@debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159120220617153 (code B ref 41360); Wed, 03 Jun 2020 16:37:02 +0000 Received: (at 41360) by debbugs.gnu.org; 3 Jun 2020 16:36:46 +0000 Received: from localhost ([127.0.0.1]:44489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgWNh-0004Sb-Tq for submit@debbugs.gnu.org; Wed, 03 Jun 2020 12:36:46 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:50720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgWNe-0004SR-Ia for 41360@debbugs.gnu.org; Wed, 03 Jun 2020 12:36:44 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id EC9EE9CC41; Wed, 3 Jun 2020 16:05:52 +0000 (UTC) From: Alexey Abramov References: <20200517132829.1553311-1-levenson@mmer.org> <20200530170951.1649-1-levenson@mmer.org> <87pnagkv1t.fsf@gnu.org> <0F005145-C408-4B05-86C2-750219F7F2E3@lepiller.eu> Date: Wed, 03 Jun 2020 18:36:34 +0200 In-Reply-To: <0F005145-C408-4B05-86C2-750219F7F2E3@lepiller.eu> (Julien Lepiller's message of "Wed, 03 Jun 2020 12:24:58 -0400") Message-ID: <877dwoyulp.fsf@mmer.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Julien, Ludo, Julien Lepiller writes: > Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Court=C3=A8s" = a =C3=A9crit : >>Alexey Abramov skribis: >> >>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch > >>> @@ -0,0 +1,27 @@ >>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME >>> + >>> +Icedtea contains guix in its version, so build.gradle failes to run. >>Openjfx >>> +packaging is not trivial, so you will probably need to try build it >>with >>> +gradlew. >>> + >>> +--- >>> + build.gradle | 5 ++--- >>> + 1 file changed, 2 insertions(+), 3 deletions(-) >> >>This patch also made me realize that we=E2=80=99re using Gradle here, but >>there=E2=80=99s no Gradle package in Guix. That means we must be using a >>pre-built jar somewhere, though I didn=E2=80=99t find it. Any idea where= that >>comes from? Julien, any idea? >> >>(The problem existed before your patches.) >> >>Thanks, >>Ludo=E2=80=99. > > From what I understand, this patcg helps build openjfx with gradle on > guix, if you use the guix source in an environment, but reading the > other patches, it doesn't look like gradle is actually used anywhere. > > It looks like this patch is helpful in the sense that it allows users to = manually build the package outside of guix, but is not used at all during t= he build of openjfx by guix itself. > > Alexey, can you confirm? Yes, you are right. I am not using gradle. The reason for this patch was to be able to debug the building process openjfx. I had to run gradlew multiple times, so I decided to just patch it. --=20 Alexey From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v3 1/9] gnu: java-openjfx-build: Add helpful patch. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 04 Jun 2020 09:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org, Julien Lepiller Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159126456916371 (code B ref 41360); Thu, 04 Jun 2020 09:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 4 Jun 2020 09:56:09 +0000 Received: from localhost ([127.0.0.1]:45176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgmbZ-0004Fz-1t for submit@debbugs.gnu.org; Thu, 04 Jun 2020 05:56:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46302) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgmbX-0004Fl-Ci for 41360@debbugs.gnu.org; Thu, 04 Jun 2020 05:56:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57656) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgmbR-0006eZ-Aj; Thu, 04 Jun 2020 05:56:01 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=44758 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jgmbQ-0003zS-Ta; Thu, 04 Jun 2020 05:56:01 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200517132829.1553311-1-levenson@mmer.org> <20200530170951.1649-1-levenson@mmer.org> <87pnagkv1t.fsf@gnu.org> <0F005145-C408-4B05-86C2-750219F7F2E3@lepiller.eu> <877dwoyulp.fsf@mmer.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 Prairial an 228 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 04 Jun 2020 11:55:59 +0200 In-Reply-To: <877dwoyulp.fsf@mmer.org> (Alexey Abramov's message of "Wed, 03 Jun 2020 18:36:34 +0200") Message-ID: <87h7vrduj4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Alexey Abramov skribis: > Julien Lepiller writes: > >> Le 3 juin 2020 11:50:38 GMT-04:00, "Ludovic Court=C3=A8s" = a =C3=A9crit : >>>Alexey Abramov skribis: >>> >>>> +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch >> >>>> @@ -0,0 +1,27 @@ >>>> +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME >>>> + >>>> +Icedtea contains guix in its version, so build.gradle failes to run. >>>Openjfx >>>> +packaging is not trivial, so you will probably need to try build it >>>with >>>> +gradlew. >>>> + >>>> +--- >>>> + build.gradle | 5 ++--- >>>> + 1 file changed, 2 insertions(+), 3 deletions(-) >>> >>>This patch also made me realize that we=E2=80=99re using Gradle here, but >>>there=E2=80=99s no Gradle package in Guix. That means we must be using a >>>pre-built jar somewhere, though I didn=E2=80=99t find it. Any idea wher= e that >>>comes from? Julien, any idea? >>> >>>(The problem existed before your patches.) >>> >>>Thanks, >>>Ludo=E2=80=99. >> >> From what I understand, this patcg helps build openjfx with gradle on >> guix, if you use the guix source in an environment, but reading the >> other patches, it doesn't look like gradle is actually used anywhere. >> >> It looks like this patch is helpful in the sense that it allows users to= manually build the package outside of guix, but is not used at all during = the build of openjfx by guix itself. >> >> Alexey, can you confirm? > > Yes, you are right. I am not using gradle. The reason for this patch was > to be able to debug the building process openjfx. I had to run gradlew > multiple times, so I decided to just patch it. OK, thanks for explaining! BTW, I=E2=80=99ve pushed the first two patches of this series, Alexey. Ludo=E2=80=99. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 03/12] gnu: java-openjfx-swing: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154533629948 (code B ref 41360); Sun, 07 Jun 2020 15:56:01 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:36 +0000 Received: from localhost ([127.0.0.1]:54682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe1-0007mi-BH for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:36 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe0-0007mT-5H for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:32 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id B1DBE9CF21 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:44 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:09 +0200 Message-Id: <20200607155518.1400-4-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swing): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6e7f92c859..d59288df9a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3206,6 +3206,19 @@ distribution."))) `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))))) +(define-public java-openjfx-swing + (package (inherit java-openjfx-build) + (name "java-openjfx-swing") + (arguments + `(#:jar-name "java-openjfx-swing.jar" + #:source-dir "modules/swing/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 04/12] gnu: java-openjfx-swt: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154535030021 (code B ref 41360); Sun, 07 Jun 2020 15:56:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:50 +0000 Received: from localhost ([127.0.0.1]:54690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe4-0007mz-IH for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:50 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62713) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe0-0007mZ-Ro for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:33 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 687D19CF98 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:45 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:10 +0200 Message-Id: <20200607155518.1400-5-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-swt): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d59288df9a..d90b999473 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3219,6 +3219,19 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-swt + (package (inherit java-openjfx-build) + (name "java-openjfx-swt") + (arguments + `(#:jar-name "java-openjfx-swt.jar" + #:source-dir "modules/swt/src/main/java" + #:tests? #f)) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 02/12] gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154535030029 (code B ref 41360); Sun, 07 Jun 2020 15:56:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:50 +0000 Received: from localhost ([127.0.0.1]:54694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeI-0007oA-Ar for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:50 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxdz-0007mR-L7 for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:35 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1F48B9CD79 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:44 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:08 +0200 Message-Id: <20200607155518.1400-3-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 4 +- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 +++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch diff --git a/gnu/local.mk b/gnu/local.mk index ae8a2275f7..5fe0eeadda 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1109,6 +1109,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ + %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index fb5d754a60..6e7f92c859 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2501,7 +2501,9 @@ new Date();")) (sha256 (base32 "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) - (patches (search-patches "java-openjfx-build-jdk_version.patch")))) + (patches (search-patches "java-openjfx-build-jdk_version.patch" + "java-openjfx-build-swing-JFXPanel-JDK8.patch" + )))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" diff --git a/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch new file mode 100644 index 0000000000..b540048621 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch @@ -0,0 +1,60 @@ +Subject: [PATCH] java-openjfx-build: Cannot compile JFXPanel with JDK 8 + +In JDKu9 getDefaultScale method was removed and sun.java2d.SurfaceData class now +has separate getDefaultScaleX() and getDefaultScaleY() methods. See +https://bugs.openjdk.java.net/browse/JDK-8073320 for more info. + +Backport the missing port to build openjfx-swing package using JDKu8. For more +info please see https://bugs.openjdk.java.net/browse/JDK-8149967 + +--- + .../java/javafx/embed/swing/JFXPanel.java | 20 ++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +index 97515e2290..614ed656b9 100644 +--- a/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java ++++ b/modules/swing/src/main/java/javafx/embed/swing/JFXPanel.java +@@ -81,6 +81,7 @@ import sun.awt.AppContext; + import sun.awt.CausedFocusEvent; + import sun.awt.SunToolkit; + import sun.java2d.SunGraphics2D; ++import sun.java2d.SurfaceData; + import sun.util.logging.PlatformLogger; + import sun.util.logging.PlatformLogger.Level; + +@@ -681,6 +682,23 @@ + e.getCaret().getInsertionIndex()); + } + ++ // FIXME: once we move to JDK 9 as the boot JDK we should remove the ++ // reflection code from this method, consider changing it to ++ // use double rather than int, and account for the possibility of ++ // a different scale factor in X and Y. ++ private int getDefaultScale(SurfaceData surfaceData) { ++ /* ++ double scale = surfaceData.getDefaultScaleX(); ++ */ ++ double scale = 1; ++ try { ++ Method meth = SurfaceData.class.getMethod("getDefaultScaleX"); ++ scale = (Double)meth.invoke(surfaceData); ++ } catch (Exception ex) { ++ } ++ ++ return (int)Math.round(scale); ++ } + + /** + * Overrides the {@link javax.swing.JComponent#paintComponent(Graphics)} +@@ -720,7 +738,7 @@ public class JFXPanel extends JComponent { + + int newScaleFactor = scaleFactor; + if (g instanceof SunGraphics2D) { +- newScaleFactor = ((SunGraphics2D)g).surfaceData.getDefaultScale(); ++ newScaleFactor = getDefaultScale(((SunGraphics2D)g).surfaceData); + } + if (scaleFactor != newScaleFactor) { + resizePixelBuffer(newScaleFactor); +-- +2.24.1 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 05/12] gnu: java-openjfx-controls: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154535130035 (code B ref 41360); Sun, 07 Jun 2020 15:56:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:51 +0000 Received: from localhost ([127.0.0.1]:54696 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeI-0007oI-Mk for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:50 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe1-0007mb-8e for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:36 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 06D1A9CFA5 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:45 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:11 +0200 Message-Id: <20200607155518.1400-6-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-controls): New variable. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d90b999473..e05289758a 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3232,6 +3232,22 @@ distribution."))) (propagated-inputs `(("java-openjfx-graphics" ,java-openjfx-graphics))))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((resources (string-append (getcwd) "/modules/controls/src/main/resources"))) + (copy-recursively resources "build/classes")) #t))))) + (propagated-inputs + `(("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public java-openjfx-media (package (inherit java-openjfx-build) (name "java-openjfx-media") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 00/12] Improve OpenJFX and friends packages References: <20200517132829.1553311-1-levenson@mmer.org> In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:56:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154535130043 (code B ref 41360); Sun, 07 Jun 2020 15:56:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:55:51 +0000 Received: from localhost ([127.0.0.1]:54698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeI-0007oT-W1 for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:51 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxdz-0007mO-1L for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:37 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2E22F9CC46 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:43 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:06 +0200 Message-Id: <20200607155518.1400-1-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an updated series of patches for openjfx. We are now building WebKit java port and use Guix inputs, instead of embedded source code bundles ship with openjfx. Tests are still disabled. I left round brackets in java-openjfx-build package on a separate line, just to make diffs look cleaner. Is it OK? This is not an ideal build of course. Media component is missing for example. It would be also great to build a complete jfxrt.jar and not expose java-openjfx- vars at all. I have also checked the webkitgtk package while doing this. I found that some patches apply to openjfx as well. Don't know if it's possible to use webkit.org sources for openjfx-web. In the meantime davmail and 2fa works :). Please let me know what you think. Alexey Abramov (12): gnu: java-openjfx-graphics: Implement a complete compilation. gnu: java-openjfx-build: Fix openjfx-swing component build for JDKu8 gnu: java-openjfx-swing: Add new variable. gnu: java-openjfx-swt: Add new variable. gnu: java-openjfx-controls: Add new variable. gnu: java-openjfx-build: Patch DumpRenderTree for the web component. gnu: java-openjfx-build: Do not use an embedded 3rd party libraries. gnu: java-openjfx-build: Fix web component compilation with ICU 59+. gnu: java-openjfx-build: Fix web component linkage. gnu: java-openjfx-build: Fix web component compilation with ICU 65+. gnu: java-openjfx-build: Ensure use of system provided libraries. gnu: java-openjfx-web: Add new variable. gnu/local.mk | 6 + gnu/packages/java.scm | 871 +++++++++++++++++- ...va-openjfx-build-swing-JFXPanel-JDK8.patch | 60 ++ ...penjfx-build-web-DumpRenderTree-java.patch | 30 + ...-openjfx-build-web-OptionsJava.cmake.patch | 32 + .../patches/java-openjfx-build-web-WTF.patch | 33 + ...-build-web-WebKitCompilerFlags.cmake.patch | 36 + .../patches/java-openjfx-build-web-icu.patch | 38 + 8 files changed, 1097 insertions(+), 9 deletions(-) create mode 100644 gnu/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-WTF.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch create mode 100644 gnu/packages/patches/java-openjfx-build-web-icu.patch -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:56:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154536130075 (code B ref 41360); Sun, 07 Jun 2020 15:56:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:01 +0000 Received: from localhost ([127.0.0.1]:54700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeJ-0007oW-8G for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:01 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62701) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxdz-0007mQ-1M for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:37 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 6288A9CC49 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:43 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:07 +0200 Message-Id: <20200607155518.1400-2-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2, font_freetype, glassgtk3, font, font_pango and glass libraries. All the steps were taken by inspecting ./gradlew build --info result. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 634 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 43f0f37b91..fb5d754a60 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2567,16 +2568,641 @@ distribution."))) (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; requires X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It’s an internal option for JDK 1.7+ that prevents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can’t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=true")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-sections" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux"))) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-flags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-separator-string "?"))) + (class (string-drop-right class (string-length ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff in build/classes + (invoke "ant" "compile" "-Dclasses.dir=modules/graphics/build/classes/java/main") + #t)) + + ;; XX: Description can be found in build.gradle:1429. Currently + ;; there is no sdk creation step. + ;; + ;; The Decora and Prism JSL files have to be generated in a very specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src/main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where * == decora or prism). + ;; 2) Generate source files from the JSL files contained in src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generated-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library into libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation time in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note that I didn't bother to create + ;; a new task for each of the decora files, preferring instead just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.java")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/classes/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism")) + (mkdir-p prism-gen-src) + (for-each (lambda (file) + (apply invoke "java" + "-cp" (string-join (list + ;; For CompileJSL + prism-compilers-classes + ;; jsl files are there + prism-src + (getenv "CLASSPATH")) + ":") + "CompileJSL" + "-i" prism-src + "-o" prism-gen-src + "-t" + "-pkg" "com/sun/prism" + "-d3d" + "-es2" + "-name" (list file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-prism") + (prism-gen-src "modules/graphics/build/generated-src/jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files prism-gen-shaders-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags (find-files decora-src "\\.java")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-compilers-classes "modules/graphics/build/classes/jsl-compilers/decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-components '([(file-name . "ColorAdjust") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Brightpass") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "SepiaTone") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "PerspectiveTransform") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "DisplacementMap") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "InvertMask") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Blend") + (generator . "CompileBlend") + (outputs . "-all")] + [(file-name . "PhongLighting") + (generator . "CompilePhong") + (outputs . "-all")] + [(file-name . "LinearConvolve") + (generator . "CompileLinearConvolve") + (outputs . "-hw")] + [(file-name . "LinearConvolveShadow") + (generator . "CompileLinearConvolve") + (outputs . "-hw")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJSL + decora-compilers-classes + decora-classes + ;; We need resources from the build + "buildSrc/src/main/resources" + (list (getenv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "\\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generated-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-src/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/jsl-decora/linux") + (decora-native-src "modules/graphics/src/main/native-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) ":") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scenario.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$"))) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/linux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font/linux") + (font-native-src "modules/graphics/src/main/native-font") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.javafx.font" class) + (string-prefix? "com.sun.javafx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c") ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-freetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/generated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/libs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/native/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main/native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags freetype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs freetype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-native-src) + "-o" ,(string-append font-freetype-native-obj "/" + (basename font-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pango-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/generated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/native/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/native-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_PANGO" + "$(pkg-config --cflags pangoft2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangoft2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-src) + "-o" ,(string-append font-pango-native-obj "/" + (basename font-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated-src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass/linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/glass/linux/glass") + (glass-native-src "modules/graphics/src/main/native-glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/native/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. Gtk + ;; 2.24 uses GTimeVal so our build is also failing. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/native/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthread-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.glass.events" class) + (string-prefix? "com.sun.glass.ui.gtk" class) + (string-prefix? "com.sun.glass.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-obj "/" + (basename glass-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\.obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk2-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-obj "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append glass-gtk3-native-obj "/" + (basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-obj "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-src/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/linux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/linux") + (iio-native-src "modules/graphics/src/main/native-iio") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javafx.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append iio-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated-src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism/linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/prism/linux") + (prism-native-src "modules/graphics/src/main/native-prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.prism.impl" class) + (string-prefix? "com.sun.prism.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append prism-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/generated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/prism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native/prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/native-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append prism-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append prism-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism.es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-src "/GL") + "-I" (string-append prism-es2-native-src "/x11") + "-o" (string-append prism-es2-native-obj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/generated-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/prism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/native-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=inline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPATH")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisces" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-headers + "-I" ,prism-sw-native-src + "-o" ,(string-append prism-sw-native-obj "/" + (basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-native-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resources")) + (classes (string-append module "/build/classes/java/main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) (define-public java-openjfx-media (package (inherit java-openjfx-build) -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 06/12] gnu: java-openjfx-build: Patch DumpRenderTree for the web component. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154536530134 (code B ref 41360); Sun, 07 Jun 2020 15:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:05 +0000 Received: from localhost ([127.0.0.1]:54702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeT-0007p3-Qk for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:05 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe1-0007mc-Eh for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:40 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 4769C9CFB3 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:12 +0200 Message-Id: <20200607155518.1400-7-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch: New file. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + ...penjfx-build-web-DumpRenderTree-java.patch | 30 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5fe0eeadda..f8a59da3da 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1110,6 +1110,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ + %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e05289758a..d60ae7c8f1 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2503,6 +2503,7 @@ new Date();")) "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) (patches (search-patches "java-openjfx-build-jdk_version.patch" "java-openjfx-build-swing-JFXPanel-JDK8.patch" + "java-openjfx-build-web-DumpRenderTree-java.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch b/gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch new file mode 100644 index 0000000000..0200e92c05 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch @@ -0,0 +1,30 @@ +Subject: [PATCH] Fix DumpRenderTree linking. + +DumpRenderTree compiles OK, but fails on a linking stage with the bellow +error. I found the very same fix for openjfx-8 FreeBSD ports as well. Let's +ignore undefined references for now. + +CMakeFiles/DumpRenderTreeJava.dir/__/TestRunner.cpp.o:TestRunner.cpp:function TestRunner::runUIScript(OpaqueJSContext const*, OpaqueJSString*, OpaqueJSValue const*): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' +CMakeFiles/DumpRenderTreeJava.dir/__/__/TestRunnerShared/UIScriptContext/UIScriptContext.cpp.o:UIScriptContext.cpp:function WTR::UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback(): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' +collect2: error: ld returned 1 exit status + +--- + .../src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt b/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt +index e2ce5ef..2ad3db7 100644 +--- a/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt ++++ b/modules/web/src/main/native/Tools/DumpRenderTree/java/CMakeLists.txt +@@ -72,9 +72,5 @@ add_library(DumpRenderTreeJava SHARED ${DumpRenderTree_SOURCES}) + add_definitions(-DWEBCORE_EXPORT=WTF_IMPORT -DWEBCORE_TESTSUPPORT_EXPORT=WTF_IMPORT) + add_dependencies(DumpRenderTreeJava DumpRenderTreeBindings) + +-if (UNIX AND NOT APPLE) +- set_target_properties(DumpRenderTreeJava PROPERTIES LINK_FLAGS "-Wl,--no-undefined") +-endif () +- + set_target_properties(DumpRenderTreeJava PROPERTIES OUTPUT_NAME "DumpRenderTreeJava") + target_link_libraries(DumpRenderTreeJava ${DumpRenderTree_LIBRARIES}) +-- +2.26.2 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 07/12] gnu: java-openjfx-build: Do not use an embedded 3rd party libraries. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154536730143 (code B ref 41360); Sun, 07 Jun 2020 15:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:07 +0000 Received: from localhost ([127.0.0.1]:54710 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeX-0007pz-ID for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:07 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62725) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe1-0007mj-MJ for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 751039CFD1 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:13 +0200 Message-Id: <20200607155518.1400-8-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch: New file. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + ...-openjfx-build-web-OptionsJava.cmake.patch | 32 +++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch diff --git a/gnu/local.mk b/gnu/local.mk index f8a59da3da..71b2cf1d69 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1111,6 +1111,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ + %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d60ae7c8f1..8ce8043335 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2504,6 +2504,7 @@ new Date();")) (patches (search-patches "java-openjfx-build-jdk_version.patch" "java-openjfx-build-swing-JFXPanel-JDK8.patch" "java-openjfx-build-web-DumpRenderTree-java.patch" + "java-openjfx-build-web-OptionsJava.cmake.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch b/gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch new file mode 100644 index 0000000000..1f133571cb --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] Use find_package. + +We remove all embedded 3rd-party libs like icu, libxml, libxslt and sqlite, +and use libraries provided via guix inputs. +--- + .../web/src/main/native/Source/cmake/OptionsJava.cmake | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/modules/web/src/main/native/Source/cmake/OptionsJava.cmake b/modules/web/src/main/native/Source/cmake/OptionsJava.cmake +index 76a6695..73c525b 100644 +--- a/modules/web/src/main/native/Source/cmake/OptionsJava.cmake ++++ b/modules/web/src/main/native/Source/cmake/OptionsJava.cmake +@@ -26,13 +26,11 @@ endif () + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE PATH "Absolute path to library installation directory") + set(EXEC_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "Absolute path to executable installation directory") + +-set(SQLITE_LIBRARIES SqliteJava) +-set(LIBXML2_LIBRARIES XMLJava) +-set(LIBXSLT_LIBRARIES XSLTJava) + +-set(ICU_LIBRARIES icuuc icudata) +-set(ICU_I18N_LIBRARIES icui18n icuuc icudata) +-set(ICU_DATA_LIBRARIES icudata) ++find_package(Sqlite REQUIRED) ++find_package(LibXml2 REQUIRED) ++find_package(LibXslt REQUIRED) ++find_package(ICU REQUIRED) + + find_package(JNI REQUIRED) + find_package(Threads REQUIRED) +-- +2.26.2 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 11/12] gnu: java-openjfx-build: Ensure use of system provided libraries. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154537030153 (code B ref 41360); Sun, 07 Jun 2020 15:57:02 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:10 +0000 Received: from localhost ([127.0.0.1]:54712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxeZ-0007q8-9g for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:10 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe4-0007mb-So for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 31A5B9D0CE for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:47 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:17 +0200 Message-Id: <20200607155518.1400-12-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-build)[source]: Delete source code of embedded 3rd party libraries. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a17da610d2..1b6b494700 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2497,6 +2497,9 @@ new Date();")) '(begin ;; Delete included gradle jar (delete-file-recursively "gradle/wrapper") + ;; Delete source code of a ThirdParty libraries + (delete-file-recursively "modules/web/src/main/native/Source/ThirdParty") + (delete-file-recursively "modules/web/src/main/native/Source/PlatformJava.cmake") #t)) (sha256 (base32 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 09/12] gnu: java-openjfx-build: Fix web component linkage. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154537130160 (code B ref 41360); Sun, 07 Jun 2020 15:57:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:11 +0000 Received: from localhost ([127.0.0.1]:54714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxec-0007qI-Qj for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:11 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62743) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe4-0007mt-9f for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:41 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id CD2519D05B for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:15 +0200 Message-Id: <20200607155518.1400-10-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch: New file. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + ...-build-web-WebKitCompilerFlags.cmake.patch | 36 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch diff --git a/gnu/local.mk b/gnu/local.mk index d36636fd81..85f8db7150 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1113,6 +1113,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ %D%/packages/patches/java-openjfx-build-web-WTF.patch \ + %D%/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index cf6135e926..5da1476077 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2506,6 +2506,7 @@ new Date();")) "java-openjfx-build-web-DumpRenderTree-java.patch" "java-openjfx-build-web-OptionsJava.cmake.patch" "java-openjfx-build-web-WTF.patch" + "java-openjfx-build-web-WebKitCompilerFlags.cmake.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch b/gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch new file mode 100644 index 0000000000..d0bbb7e3b2 --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch @@ -0,0 +1,36 @@ +Subject: [PATCH] Fix WebKit linkage. + +Somehow the whole linkage fails because of the TestRunner's undefined +references. However, I see the very same fixes in openjfx8-devel FreeBSD port, +even though they use gradle to build it. + +CMakeFiles/DumpRenderTreeJava.dir/__/TestRunner.cpp.o:TestRunner.cpp:function TestRunner::runUIScript(OpaqueJSContext const*, OpaqueJSString*, OpaqueJSValue const*): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' +CMakeFiles/DumpRenderTreeJava.dir/__/__/TestRunnerShared/UIScriptContext/UIScriptContext.cpp.o:UIScriptContext.cpp:function WTR::UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback(): error: undefined reference to 'WTF::String::String(unsigned short const*, unsigned int)' + +Some related bugs/commits are: +https://github.com/WebKit/webkit/commit/1e46377e47674363131299d54c8557734a99fb5f +https://bugs.webkit.org/show_bug.cgi?id=199625#c24 +https://bugs.webkit.org/show_bug.cgi?id=200074 + +--- + .../src/main/native/Source/cmake/WebKitCompilerFlags.cmake | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake b/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake +index 5bcf047..4526ee6 100644 +--- a/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake ++++ b/modules/web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake +@@ -176,11 +176,6 @@ if (NOT MSVC) + string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS}) + endif () + +-if (UNIX AND NOT APPLE AND NOT ENABLED_COMPILER_SANITIZERS) +- set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}") +-endif () +- +- + # CODE_GENERATOR_PREPROCESSOR_WITH_LINEMARKERS only matters with GCC >= 4.7.0. Since this + # version, -P does not output empty lines, which currently breaks make_names.pl in + # WebCore. Investigating whether make_names.pl should be changed instead is left as an exercise to +-- +2.26.2 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 12/12] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154537130168 (code B ref 41360); Sun, 07 Jun 2020 15:57:03 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:11 +0000 Received: from localhost ([127.0.0.1]:54716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxed-0007qP-5h for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:11 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe5-0007nA-6y for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 59AE19D14A for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:47 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:18 +0200 Message-Id: <20200607155518.1400-13-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/java.scm (java-openjfx-web): New variable. We build not only the web component here, but webkit java port as well. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 175 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1b6b494700..6922e51940 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Chris Marusich ;;; Copyright © 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2019, 2020 Björn Höfling +;;; Copyright © 2020 Alexey Abramov ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Raghav Gururajan ;;; Copyright © 2020 Maxim Cournoyer @@ -50,11 +51,13 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages cups) #:use-module (gnu packages compression) + #:use-module (gnu packages cmake) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) + #:use-module (gnu packages gperf) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms @@ -74,10 +77,13 @@ #:use-module (gnu packages wget) #:use-module (gnu packages pkg-config) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages popt) #:use-module (gnu packages kerberos) + #:use-module (gnu packages ruby) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) #:use-module ((srfi srfi-1) #:select (fold alist-delete)) #:use-module (srfi srfi-11) @@ -3271,6 +3277,175 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-web + (package (inherit java-openjfx-build) + (name "java-openjfx-web") + (arguments + `(#:jar-name "java-openjfx-web.jar" + #:source-dir (string-join '("modules/web/src/main/java" + "modules/web/src/main/native/Source/WebCore/bindings/java/dom3") + ";") + #:tests? #f + #:modules ((ice-9 match) + (guix build ant-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* _ + (invoke "ant" "compile" "-Dclasses.dir=modules/web/build/classes/java/main") + #t)) + + (add-after 'build 'generate-headers + ;; XX: We provide only software built from source, so let's build + ;; webkit as well. List of webkit classes can be found in + ;; build.gradle:2516. We need to generate headers for the upcoming + ;; compilation step first and put them in generated-src/headers + ;; location. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/web/build/classes/java/main") + (web-generated-headers "modules/web/build/generated-src/headers") + (web-generated-classes '("com.sun.webkit.ContextMenu" + "com.sun.webkit.ContextMenuItem" + "com.sun.webkit.CursorManager" + "com.sun.webkit.PageCache" + "com.sun.webkit.PopupMenu" + "com.sun.webkit.SharedBuffer" + "com.sun.webkit.WebPage" + "com.sun.webkit.LoadListenerClient" + "com.sun.webkit.event.WCFocusEvent" + "com.sun.webkit.event.WCKeyEvent" + "com.sun.webkit.event.WCMouseEvent" + "com.sun.webkit.event.WCMouseWheelEvent" + "com.sun.webkit.graphics.GraphicsDecoder" + "com.sun.webkit.graphics.RenderMediaControls" + "com.sun.webkit.graphics.RenderTheme" + "com.sun.webkit.graphics.ScrollBarTheme" + "com.sun.webkit.graphics.WCMediaPlayer" + "com.sun.webkit.graphics.WCGraphicsManager" + "com.sun.webkit.graphics.WCRenderQueue" + "com.sun.webkit.graphics.WCPath" + "com.sun.webkit.graphics.WCPathIterator" + "com.sun.webkit.Timer" + "com.sun.webkit.WCFrameView" + "com.sun.webkit.WCPasteboard" + "com.sun.webkit.WCPluginWidget" + "com.sun.webkit.dom.CharacterDataImpl" + "com.sun.webkit.dom.JSObject" + "com.sun.webkit.network.SocketStreamHandle" + "com.sun.webkit.network.URLLoader" + "com.sun.webkit.text.TextBreakIterator" + "com.sun.webkit.text.TextNormalizer")) + (graphics (assoc-ref inputs "java-openjfx-graphics"))) + (mkdir-p web-generated-headers) + (apply invoke + "javah" + "-Djava.ext.dirs=" + "-XDignore.symbol.file" + "-XDuseUnsharedTable=true" + "-d" web-generated-headers + "-cp" (string-join (cons* classes (find-files graphics "\\.jar$")) ":") + web-generated-classes)) + #t)) + + (add-after 'generate-headers 'compile-native-linux + (lambda* (#:key inputs system outputs #:allow-other-keys) + (let* ((module (string-append (getcwd) "/modules/web")) + ;; + (webkit-native-dest (string-append module "/build/linux")) + (webkit-native-src (string-append module "/src/main/native")) + ;; + (lib (string-append (assoc-ref outputs "out") "/lib")) + ;; uname -m + (machine (match system + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ;; Prevent errors when querying this + ;; package on unsupported platforms, + ;; e.g. when running "guix package + ;; --search=" + (_ "UNSUPPORTED")))) + + (setenv "PYTHONDONTWRITEBYTECODE" "1") + (setenv "WEBKIT_OUTPUTDIR" webkit-native-dest) + (apply invoke `("perl" + ,(string-append webkit-native-src "/Tools/Scripts/set-webkit-configuration") + ,(if ,(target-64bit?) "--64-bit" "--32-bit") + "--release")) + + (invoke "perl" + (string-append webkit-native-src "/Tools/Scripts/build-webkit") + "--java" ; webkit port + "--skip-library-update" + "--icu-unicode" + "--verbose" + (string-append + "--cmakeargs=" + (string-join + (list "-DENABLE_TOOLS=1" + "-DCMAKE_SYSTEM_NAME=Linux" + ;; Ensure that the libraries are installed into /lib + (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) + ;; Add input libraries to rpath + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + ;; Enable verbose output from builds + "-DCMAKE_VERBOSE_MAKEFILE=ON" + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "\"-Wl,-rpath=" lib "\"") + (string-append "-DCMAKE_SYSTEM_PROCESSOR=" machine) + "-DJAVAFX_RELEASE_VERSION=8.0" + "-W" + "-Wall" + "-Werror=implicit-function-declaration" + "-Wl,--gc-sections" + "-Wno-parentheses" + "-Wno-unused" + "-fPIC" + "-fno-omit-frame-pointer" + "-fno-strict-aliasing" + "-fstack-protector"))))) + #t)) + + (add-after 'compile-native-linux 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$"))) + #t)) + + (add-before 'install 'build-jar + (lambda _ + (let* ((resources "modules/web/src/main/resources") + (classes "modules/web/build/classes/java/main")) + (copy-recursively resources classes) + (invoke "ant" "jar" (string-append "-Dclasses.dir=" classes))) + #t))))) + + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("cmake" ,cmake) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("ruby" ,ruby) + ("perl" ,perl) + ("gperf" ,gperf) + ("python-2" ,python-2) + ("pkg-config" ,pkg-config))) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate) + ;; Webkit Java port dependencies + ("icu4c" ,icu4c) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("sqlite" ,sqlite))) + (propagated-inputs + `(("java-openjfx-controls" ,java-openjfx-controls) + ("java-openjfx-media" ,java-openjfx-media) + ("java-openjfx-graphics" ,java-openjfx-graphics))))) + (define-public javacc-4 (package (name "javacc") -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 08/12] gnu: java-openjfx-build: Fix web component compilation with ICU 59+. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154537230175 (code B ref 41360); Sun, 07 Jun 2020 15:57:04 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:12 +0000 Received: from localhost ([127.0.0.1]:54718 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxed-0007qX-MK for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:11 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62729) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe1-0007mk-QM for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id A16219CFDD for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:14 +0200 Message-Id: <20200607155518.1400-9-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-WTF.patch: New file. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + .../patches/java-openjfx-build-web-WTF.patch | 33 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-WTF.patch diff --git a/gnu/local.mk b/gnu/local.mk index 71b2cf1d69..d36636fd81 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1112,6 +1112,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-swing-JFXPanel-JDK8.patch \ %D%/packages/patches/java-openjfx-build-web-DumpRenderTree-java.patch \ %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ + %D%/packages/patches/java-openjfx-build-web-WTF.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8ce8043335..cf6135e926 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2505,6 +2505,7 @@ new Date();")) "java-openjfx-build-swing-JFXPanel-JDK8.patch" "java-openjfx-build-web-DumpRenderTree-java.patch" "java-openjfx-build-web-OptionsJava.cmake.patch" + "java-openjfx-build-web-WTF.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-WTF.patch b/gnu/packages/patches/java-openjfx-build-web-WTF.patch new file mode 100644 index 0000000000..5fa76449df --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-WTF.patch @@ -0,0 +1,33 @@ +Subject: [PATCH] Fix compilation against ICU 59+. + +ICU4C has moved to char16_t as the type for UTF-16 +http://site.icu-project.org/download/59 + +diff --git a/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h b/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h +index 0993aa6..e6ea131 100644 +--- a/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h ++++ b/modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h +@@ -15,21 +15,6 @@ + + #define CharProp(p) com_sun_webkit_dom_CharacterDataImpl_##p + +-#if PLATFORM(JAVA) && OS(WINDOWS) +-typedef wchar_t UChar; +-#else +-typedef uint16_t UChar; +-#endif +- +-// #ifdef UChar32 +-// #undef UChar32 +-// #endif +- +-#ifndef __UMACHINE_H__ //XXX: recheck +-typedef uint32_t UChar32; +-#endif +- +-#define U_MASK(x) ((uint32_t)1<<(x)) + #define USE_FAST_PATH(c, fast, slow) ((c) <= 0x7F ? fast((char)c) : slow(c)) + + #define CHECK_PROPERTY(c, mask, isSet) \ +-- +2.26.2 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 10/12] gnu: java-openjfx-build: Fix web component compilation with ICU 65+. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 15:57:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159154538530193 (code B ref 41360); Sun, 07 Jun 2020 15:57:04 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 15:56:25 +0000 Received: from localhost ([127.0.0.1]:54720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxed-0007qe-VP for submit@debbugs.gnu.org; Sun, 07 Jun 2020 11:56:24 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:62744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhxe4-0007mu-9k for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 11:55:42 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 0569E9D066 for <41360@debbugs.gnu.org>; Sun, 7 Jun 2020 15:24:46 +0000 (UTC) From: Alexey Abramov Date: Sun, 7 Jun 2020 17:55:16 +0200 Message-Id: <20200607155518.1400-11-levenson@mmer.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200607155518.1400-1-levenson@mmer.org> References: <20200607155518.1400-1-levenson@mmer.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/java.scm (java-openjfx-build)[source]: Use it. * gnu/packages/patches/java-openjfx-build-web-icu.patch: New file. Signed-off-by: Alexey Abramov --- gnu/local.mk | 1 + gnu/packages/java.scm | 1 + .../patches/java-openjfx-build-web-icu.patch | 38 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 gnu/packages/patches/java-openjfx-build-web-icu.patch diff --git a/gnu/local.mk b/gnu/local.mk index 85f8db7150..40458ac9c4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1114,6 +1114,7 @@ dist_patch_DATA = \ %D%/packages/patches/java-openjfx-build-web-OptionsJava.cmake.patch \ %D%/packages/patches/java-openjfx-build-web-WTF.patch \ %D%/packages/patches/java-openjfx-build-web-WebKitCompilerFlags.cmake.patch \ + %D%/packages/patches/java-openjfx-build-web-icu.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5da1476077..a17da610d2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2507,6 +2507,7 @@ new Date();")) "java-openjfx-build-web-OptionsJava.cmake.patch" "java-openjfx-build-web-WTF.patch" "java-openjfx-build-web-WebKitCompilerFlags.cmake.patch" + "java-openjfx-build-web-icu.patch" )))) (build-system ant-build-system) (arguments diff --git a/gnu/packages/patches/java-openjfx-build-web-icu.patch b/gnu/packages/patches/java-openjfx-build-web-icu.patch new file mode 100644 index 0000000000..3e5c4a770c --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-web-icu.patch @@ -0,0 +1,38 @@ +Subject: [PATCH] Fix compilateion with ICU. + +Regressed by https://github.com/unicode-org/icu/commit/480bec3ea652 + +--- + modules/web/src/main/native/Source/WebCore/dom/Document.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules/web/src/main/native/Source/WebCore/dom/Document.cpp b/modules/web/src/main/native/Source/WebCore/dom/Document.cpp +index ec30fb5..4b0ff9d 100644 +--- a/modules/web/src/main/native/Source/WebCore/dom/Document.cpp ++++ b/modules/web/src/main/native/Source/WebCore/dom/Document.cpp +@@ -4704,12 +4704,12 @@ static bool isValidNameNonASCII(const UChar* characters, unsigned length) + unsigned i = 0; + + UChar32 c; +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNameStart(c)) + return false; + + while (i < length) { +- U16_NEXT(characters, i, length, c) ++ U16_NEXT(characters, i, length, c); + if (!isValidNamePart(c)) + return false; + } +@@ -4769,7 +4769,7 @@ ExceptionOr> Document::parseQualifiedName( + + for (unsigned i = 0; i < length; ) { + UChar32 c; +- U16_NEXT(qualifiedName, i, length, c) ++ U16_NEXT(qualifiedName, i, length, c); + if (c == ':') { + if (sawColon) + return Exception { InvalidCharacterError }; +-- +2.26.2 -- 2.26.2 From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 09/12] gnu: java-openjfx-web: Add new variable. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 07 Jun 2020 16:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.15915471249161 (code B ref 41360); Sun, 07 Jun 2020 16:26:01 +0000 Received: (at 41360) by debbugs.gnu.org; 7 Jun 2020 16:25:24 +0000 Received: from localhost ([127.0.0.1]:54782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhy6u-0002Nf-15 for submit@debbugs.gnu.org; Sun, 07 Jun 2020 12:25:24 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:54215) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jhy6r-0002NV-Oq for 41360@debbugs.gnu.org; Sun, 07 Jun 2020 12:25:22 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 138B99CC35; Sun, 7 Jun 2020 15:54:34 +0000 (UTC) From: Alexey Abramov In-Reply-To: <87v9k8kv7s.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 03 Jun 2020 17:47:03 +0200") References: <20200517135138.1651512-1-levenson@mmer.org> <20200517135138.1651512-9-levenson@mmer.org> <87tv0668us.fsf@gnu.org> <87wo4t1ie8.fsf@mmer.org> <87v9k8kv7s.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Date: Sun, 07 Jun 2020 18:25:18 +0200 Message-ID: <87img2c07l.fsf@mmer.org> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) True. I have sent a new series with fixes. This move allowed me to drop off gcc-5, and switch back to the current one. It is also shed some light on what should/could be investigated/done to make tests work. -- Alexey From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 12 Jun 2020 16:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Alexey Abramov Cc: 41360@debbugs.gnu.org, Julien Lepiller Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159197835228499 (code B ref 41360); Fri, 12 Jun 2020 16:13:02 +0000 Received: (at 41360) by debbugs.gnu.org; 12 Jun 2020 16:12:32 +0000 Received: from localhost ([127.0.0.1]:40475 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jjmI9-0007PY-1G for submit@debbugs.gnu.org; Fri, 12 Jun 2020 12:12:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jjmI6-0007PH-MJ for 41360@debbugs.gnu.org; Fri, 12 Jun 2020 12:12:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38453) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jjmI0-0002CY-7v; Fri, 12 Jun 2020 12:12:20 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=55068 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jjmHy-0004Tt-5l; Fri, 12 Jun 2020 12:12:19 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20200607155518.1400-1-levenson@mmer.org> <20200607155518.1400-2-levenson@mmer.org> Date: Fri, 12 Jun 2020 18:12:16 +0200 In-Reply-To: <20200607155518.1400-2-levenson@mmer.org> (Alexey Abramov's message of "Sun, 7 Jun 2020 17:55:07 +0200") Message-ID: <87bllo5km7.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Alexey, Alexey Abramov skribis: > * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build > libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2, > font_freetype, glassgtk3, font, font_pango and glass libraries. > > All the steps were taken by inspecting ./gradlew build --info result. Could you add it in a comment? So essentially all these phases and the unrolled and translated version of what Gradle would do, right? > Signed-off-by: Alexey Abramov > --- > gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 634 insertions(+), 8 deletions(-) I guess it=E2=80=99s still =E2=80=9Csource=E2=80=9D, but that=E2=80=99s a l= ot of it. Do you think there are ways this could be factorized? I=E2=80=99m not sayi= ng we have to do this right away, but we should probably keep in mind if we want to ensure the long-term maintainability of this package. > + ;; XX: Description can be found in build.gradle:1429. Current= ly I think you can remove =E2=80=9CXX=E2=80=9D, but description of what? Prob= ably a bit more context would be fine. > + (mkdir-p prism-gen-src) > + (for-each (lambda (file) > + (apply invoke "java" > + "-cp" (string-join (list > + ;; For CompileJSL > + prism-compilers-= classes > + ;; jsl files are= there > + prism-src > + (getenv "CLASSPA= TH")) > + ":") > + "CompileJSL" > + "-i" prism-src > + "-o" prism-gen-src > + "-t" > + "-pkg" "com/sun/prism" > + "-d3d" > + "-es2" > + "-name" (list file))) Problem is we won=E2=80=99t know where those flags come from, right? Perha= ps there=E2=80=99s additional info the Gradle build files? > + (add-after 'compile-decora-compilers 'generate-decora-shaders > + (lambda _ > + (let ((classes "modules/graphics/build/classes/java/main") > + (decora-classes "modules/graphics/build/classes/jsl= -decora/") > + (decora-compilers-classes "modules/graphics/build/c= lasses/jsl-compilers/decora") > + (decora-gen-src "modules/graphics/build/generated-s= rc/jsl-decora") > + (decora-src "modules/graphics/src/main/jsl-decora/") > + (decora-components '([(file-name . "ColorAdjust") > + (generator . "CompileJSL") > + (outputs . "-all")] > + [(file-name . "Brightpass") > + (generator . "CompileJSL") > + (outputs . "-all")] > + [(file-name . "SepiaTone") > + (generator . "CompileJSL") > + (outputs . "-all")] > + [(file-name . "PerspectiveTran= sform") > + (generator . "CompileJSL") > + (outputs . "-all")] > + [(file-name . "DisplacementMap= ") > + (generator . "CompileJSL") > + (outputs . "-all")] > + [(file-name . "InvertMask") > + (generator . "CompileJSL") > + (outputs . "-all")] > + [(file-name . "Blend") > + (generator . "CompileBlend") > + (outputs . "-all")] > + [(file-name . "PhongLighting") > + (generator . "CompilePhong") > + (outputs . "-all")] > + [(file-name . "LinearConvolve") > + (generator . "CompileLinearCo= nvolve") > + (outputs . "-hw")] > + [(file-name . "LinearConvolveS= hadow") > + (generator . "CompileLinearCo= nvolve") > + (outputs . "-hw")]))) We should at least have a comment explaining where that list comes from and what it means. I appreciate the huge amount of work you put into this, but I=E2=80=99m concerned about maintainability. Julien, what are the prospects of getting Gradle in Guix? What are your thoughts here? Thanks, Ludo=E2=80=99. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v4 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 18 Jun 2020 17:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 41360@debbugs.gnu.org, Julien Lepiller Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.159250153321528 (code B ref 41360); Thu, 18 Jun 2020 17:33:02 +0000 Received: (at 41360) by debbugs.gnu.org; 18 Jun 2020 17:32:13 +0000 Received: from localhost ([127.0.0.1]:54295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jlyOR-0005TW-1F for submit@debbugs.gnu.org; Thu, 18 Jun 2020 13:32:13 -0400 Received: from mx4.mail.mmer.org ([178.22.66.29]:49587) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jlyOC-0005HM-Jm for 41360@debbugs.gnu.org; Thu, 18 Jun 2020 13:32:01 -0400 Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx4.mail.mmer.org (Postfix) with ESMTPSA id 9E6C29CE4E; Thu, 18 Jun 2020 17:00:59 +0000 (UTC) From: Alexey Abramov In-Reply-To: <87bllo5km7.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Fri, 12 Jun 2020 18:12:16 +0200") References: <20200607155518.1400-1-levenson@mmer.org> <20200607155518.1400-2-levenson@mmer.org> <87bllo5km7.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux) Date: Thu, 18 Jun 2020 19:31:42 +0200 Message-ID: <87o8pgs2kh.fsf@mmer.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludovic, Please see an updated version of the java-openjfx-graphics in the attachmen= ts.=20 - Add yet another comment on top of the definition. - Remove "XX" part from the commit, and put it to the above comment. Ludovic Court=C3=A8s writes: > Hi Alexey, > > Alexey Abramov skribis: > >> * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build >> libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2, >> font_freetype, glassgtk3, font, font_pango and glass libraries. >> >> All the steps were taken by inspecting ./gradlew build --info result. > > Could you add it in a comment? Done. > So essentially all these phases and the unrolled and translated version > of what Gradle would do, right? Yes. Some of them are pretty straightforward, but others (like prism and sh= aders) are tricky. > >> Signed-off-by: Alexey Abramov >> --- >> gnu/packages/java.scm | 642 +++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 634 insertions(+), 8 deletions(-) > > I guess it=E2=80=99s still =E2=80=9Csource=E2=80=9D, but that=E2=80=99s a= lot of it. > > Do you think there are ways this could be factorized? I=E2=80=99m not sa= ying we > have to do this right away, but we should probably keep in mind if we > want to ensure the long-term maintainability of this package. I guess, In the beginning, I was trying to wrap those steps with some proce= dure/s, like the one gradle.build has, but when I was doing this, I realize= d that it might become more complicated, than just simple series of javah/j= avac/gcc/g++ steps. They all kinda look alike, but different. > >> + ;; XX: Description can be found in build.gradle:1429. Curren= tly > > I think you can remove =E2=80=9CXX=E2=80=9D, but description of what? Pr= obably a bit > more context would be fine. Done. > >> + (mkdir-p prism-gen-src) >> + (for-each (lambda (file) >> + (apply invoke "java" >> + "-cp" (string-join (list >> + ;; For CompileJ= SL >> + prism-compilers= -classes >> + ;; jsl files ar= e there >> + prism-src >> + (getenv "CLASSP= ATH")) >> + ":") >> + "CompileJSL" >> + "-i" prism-src >> + "-o" prism-gen-src >> + "-t" >> + "-pkg" "com/sun/prism" >> + "-d3d" >> + "-es2" >> + "-name" (list file))) > > Problem is we won=E2=80=99t know where those flags come from, right? Per= haps > there=E2=80=99s additional info the Gradle build files? gradle.build has no comments about that =3D(. This is what you can find on= top of the graphics module: // The graphics module is needed for any graphical JavaFX application. It r= equires the base module and includes the scene graph, layout, css, prism, w= indowing, etc. This is a fairly complicated module. There are many differen= t types of native components that all need to be compiled. I also put it above the java-openjfx-graphics definition. > >> + (add-after 'compile-decora-compilers 'generate-decora-shaders >> + (lambda _ >> + (let ((classes "modules/graphics/build/classes/java/main= ") >> + (decora-classes "modules/graphics/build/classes/js= l-decora/") >> + (decora-compilers-classes "modules/graphics/build/= classes/jsl-compilers/decora") >> + (decora-gen-src "modules/graphics/build/generated-= src/jsl-decora") >> + (decora-src "modules/graphics/src/main/jsl-decora/= ") >> + (decora-components '([(file-name . "ColorAdjust") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "Brightpass") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "SepiaTone") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "PerspectiveTra= nsform") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "DisplacementMa= p") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "InvertMask") >> + (generator . "CompileJSL") >> + (outputs . "-all")] >> + [(file-name . "Blend") >> + (generator . "CompileBlend") >> + (outputs . "-all")] >> + [(file-name . "PhongLighting") >> + (generator . "CompilePhong") >> + (outputs . "-all")] >> + [(file-name . "LinearConvolve= ") >> + (generator . "CompileLinearC= onvolve") >> + (outputs . "-hw")] >> + [(file-name . "LinearConvolve= Shadow") >> + (generator . "CompileLinearC= onvolve") >> + (outputs . "-hw")]))) > > We should at least have a comment explaining where that list comes from > and what it means. I put a big comment I found in gradle.build a little bit higher, before tho= se steps where we compile these generators. > I appreciate the huge amount of work you put into this, but I=E2=80=99m > concerned about maintainability. Thanks, I agree. These patches are also not complete. Ideally, javafx shoul= d provide a jfxrt.jar and users should not think about these modules at all= . We are half-way there. > Julien, what are the prospects of getting Gradle in Guix? What are your > thoughts here? That would be awesome to have (guix build-system gradle)! I was looking int= o this as well, and even found some links where I got an idea that "probabl= y" some older version of gradle could be build with ant. > Thanks, > Ludo=E2=80=99. -- Alexey --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-java-openjfx-graphics-Implement-a-complete-compi.patch Content-Transfer-Encoding: quoted-printable >From f9a444680c9c1be2d75c021469cc265599130b65 Mon Sep 17 00:00:00 2001 From: Alexey Abramov Date: Sat, 22 Feb 2020 21:17:51 +0100 Subject: [PATCH v5 01/12] gnu: java-openjfx-graphics: Implement a complete compilation. * gnu/packages/java.scm (java-openjfx-graphics): Add stages to build libdecora_sse, prism_common, glassgtk2, iio, prism_sw, prism_es2, font_freetype, glassgtk3, font, font_pango and glass libraries. Signed-off-by: Alexey Abramov --- gnu/packages/java.scm | 646 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 638 insertions(+), 8 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d5bc713c70..a0e7957c25 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) + #:use-module (gnu packages glib) #:use-module (gnu packages ghostscript) ;lcms #:use-module (gnu packages gnome) #:use-module (gnu packages groovy) @@ -2561,22 +2562,651 @@ modern, efficient, and fully featured toolkit for = developing rich client applications. This package contains base classes for the OpenJFX distribution."))) =20 +;; The graphics module is needed for any graphical JavaFX application. It +;; requires the base module and includes the scene graph, layout, css, pri= sm, +;; windowing, etc. This is a fairly complicated module. There are many +;; different types of native components that all need to be compiled. +;; +;; All the bellow steps were taken by inspecting build.gradel and ./gradl= ew build --info +;; result. (define-public java-openjfx-graphics (package (inherit java-openjfx-build) (name "java-openjfx-graphics") (arguments `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" - #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:tests? #f ; require X + #:test-dir "modules/graphics/src/test" + #:test-include (list "**/*Test.*") + #:modules ((guix build ant-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + (ice-9 match)) + #:phases + (let* ((jdk (assoc-ref %build-inputs "jdk")) + (javac/h-flags + '(;; When javac is compiling code it doesn't link + ;; against rt.jar by default. Instead it uses special + ;; symbol file lib/ct.sym with class stubs. + ;; Surprisingly this file contains many but not *all* + ;; of internal classes. + "-XDignore.symbol.file" + ;; It=E2=80=99s an internal option for JDK 1.7+ that prev= ents + ;; the compiler from sharing a table that will never + ;; be reused. When shared, it can=E2=80=99t be garbage + ;; collected, continues to accumulate data, and + ;; therefore wastes memory. + "-XDuseUnsharedTable=3Dtrue")) + (common-flags + '("-fno-strict-aliasing" "-fPIC" "-fno-omit-frame-pointer" = ;; optimization flags + "-fstack-protector" + "-W" "-Wall" "-Wno-unused" "-Wno-parentheses")) + (cc-flags + `(,@common-flags "-c" "-ffunction-sections" "-fdata-section= s" + "-I" ,(string-append jdk "/include") + "-I" ,(string-append jdk "/include/linux")= )) + (link-flags + `("-static-libgcc" "-static-libstdc++" "-shared" ,@common-f= lags + "-z" "relro" + "-Wl,--gc-sections")) + (java-aux-class? + (lambda (class) + (string-match "\\$[0-9]+\\.class" class))) + (java-list-classes + (lambda (path) + ;; For each .java file we need to figure out what + ;; class the .java file belongs in and convert it to a + ;; class name. + (filter-map + (lambda (class) + (let* ((rx (make-regexp (string-append path file-name-= separator-string "?"))) + (class (string-drop-right class (string-length = ".class"))) + (class (match:suffix (regexp-exec rx class)))) + (if (java-aux-class? class) + #f + (string-join (string-split class #\/) ".")))) + (find-files path "\\.class$"))))) + (modify-phases %standard-phases + + (replace 'build + (lambda _ + ;; Do not mix different classes. There will be more stuff i= n build/classes + (invoke "ant" "compile" "-Dclasses.dir=3Dmodules/graphics/b= uild/classes/java/main") + #t)) + + ;; The Decora and Prism JSL files have to be generated in a ver= y specific set of steps. + ;; 1) Compile the *Compile.java classes. These live in src= /main/jsl-* and will be + ;; output to $buildDir/classes/jsl-compilers/* (where *= =3D=3D decora or prism). + ;; 2) Generate source files from the JSL files contained i= n src/main/jsl-*. These + ;; will be output to $buildDir/generated-src/jsl-* + ;; 3) Compile the JSL Java sources in $buildDir/generated-= src/jsl-* and put the output + ;; into classes/jsl-* + ;; 4) Compile the native JSL sources in $buildDir/generate= d-src/jsl-* and put the obj + ;; files into native/jsl-* and the resulting library in= to libs/jsl-*.dll|so|dylib + ;; 5) Modify the jar step to include classes/jsl-* + ;; The native library must be copied over during SDK creation t= ime in the "sdk" task. In + ;; addition to these steps, the clean task is created. Note tha= t I didn't bother to create + ;; a new task for each of the decora files, preferring instead = just to create a rule?? Also + ;; need "clean" tasks for each compile task. + (add-after 'build 'compile-prism-compilers + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/clas= ses/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/")) + (mkdir-p prism-compilers-classes) + + (apply invoke "javac" "-d" prism-compilers-classes + (append javac/h-flags (find-files prism-src "\\.ja= va")))) + + #t)) + + (add-after 'compile-prism-compilers 'generate-prism-shaders + (lambda _ + (let ((prism-compilers-classes "modules/graphics/build/clas= ses/jsl-compilers/prism") + (prism-src "modules/graphics/src/main/jsl-prism/") + (prism-gen-src "modules/graphics/build/generated-src/= jsl-prism")) + (mkdir-p prism-gen-src) + (for-each (lambda (file) + (apply invoke "java" + "-cp" (string-join (list + ;; For CompileJSL + prism-compilers-cl= asses + ;; jsl files are t= here + prism-src + (getenv "CLASSPATH= ")) + ":") + "CompileJSL" + "-i" prism-src + "-o" prism-gen-src + "-t" + "-pkg" "com/sun/prism" + "-d3d" + "-es2" + "-name" (list file))) + (find-files prism-src "\\.jsl$"))) + #t)) + + (add-after 'generate-prism-shaders 'compile-prism-shaders + (lambda _ + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-classes "modules/graphics/build/classes/jsl-p= rism") + (prism-gen-src "modules/graphics/build/generated-src= /jsl-prism") + (prism-gen-shaders-src (string-append prism-gen-src = "/com/sun/prism/shader"))) + (mkdir-p prism-classes) + (apply invoke "javac" + "-d" prism-classes + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags (find-files prism-gen-shader= s-src)))) + #t)) + + (add-after 'compile-prism-shaders 'compile-decora-compilers + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-compilers-classes "modules/graphics/build/cla= sses/jsl-compilers/decora") + (decora-src "modules/graphics/src/main/jsl-decora/")) + (mkdir-p decora-compilers-classes) + (apply invoke "javac" + "-d" decora-compilers-classes + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags (find-files decora-src "\\.j= ava")))) + #t)) + + (add-after 'compile-decora-compilers 'generate-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-d= ecora/") + (decora-compilers-classes "modules/graphics/build/cla= sses/jsl-compilers/decora") + (decora-gen-src "modules/graphics/build/generated-src= /jsl-decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-components '([(file-name . "ColorAdjust") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Brightpass") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "SepiaTone") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "PerspectiveTransf= orm") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "DisplacementMap") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "InvertMask") + (generator . "CompileJSL") + (outputs . "-all")] + [(file-name . "Blend") + (generator . "CompileBlend") + (outputs . "-all")] + [(file-name . "PhongLighting") + (generator . "CompilePhong") + (outputs . "-all")] + [(file-name . "LinearConvolve") + (generator . "CompileLinearConv= olve") + (outputs . "-hw")] + [(file-name . "LinearConvolveSha= dow") + (generator . "CompileLinearConv= olve") + (outputs . "-hw")]))) + (mkdir-p decora-gen-src) + (for-each (match-lambda + ((('file-name . file-name) + ('generator . generator) + ('outputs . outputs)) + (apply invoke "java" + "-cp" (string-join (cons* classes + decora-src + ;; CompileJ= SL + decora-comp= ilers-classes + decora-clas= ses + ;; We need = resources from the build + "buildSrc/s= rc/main/resources" + (list (gete= nv "CLASSPATH"))) + ":") + generator + "-i" decora-src + "-o" decora-gen-src + "-t" + "-pkg" "com/sun/scenario/effect" + outputs + (list file-name)))) + decora-components) + #t))) + + (add-after 'generate-decora-shaders 'compile-decora-shaders + (lambda _ + (let ((classes "modules/graphics/build/classes/java/main") + (decora-classes "modules/graphics/build/classes/jsl-d= ecora/") + (decora-gen-src "modules/graphics/build/generated-src= /jsl-decora")) + (mkdir-p decora-classes) + (apply invoke "javac" + "-d" decora-classes + "-cp" classes + (append javac/h-flags (find-files decora-gen-src "= \\.java$")))) + #t)) + + (add-after 'compile-decora-shaders 'compile-decora-native-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (decora-gen-headers "modules/graphics/build/generate= d-src/headers/jsl-decora") + (decora-gen-src "modules/graphics/build/generated-sr= c/jsl-decora") + (decora-native-lib "modules/graphics/build/libs/jsl-= decora/linux/libdecora_sse.so") + (decora-native-obj "modules/graphics/build/native/js= l-decora/linux") + (decora-native-src "modules/graphics/src/main/native= -decora") + (decora-src "modules/graphics/src/main/jsl-decora/") + (decora-classes "modules/graphics/build/classes/jsl-= decora/") + (decora-cc-flags `(,@cc-flags "-ffast-math"))) + (mkdir-p decora-gen-headers) + (apply invoke "javah" + "-d" decora-gen-headers + "-cp" (string-join (list classes decora-classes) "= :") + (append javac/h-flags + (filter (cut string-prefix? "com.sun.scena= rio.effect.impl.sw.sse" <>) + (append (java-list-classes classes) + (java-list-classes decora-= classes))))) + (mkdir-p decora-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" decora-gen-headers + "-I" decora-gen-src + "-I" decora-native-src + "-o" (string-append decora-native-obj = "/" (basename cc ".cc") ".obj") + (append decora-cc-flags (list cc)))) + (append (find-files decora-gen-src "\\.cc$") + (find-files decora-native-src "\\.cc$")= )) + (mkdir-p (dirname decora-native-lib)) + (apply invoke "g++" "-o" decora-native-lib + (append link-flags (find-files decora-native-obj "= \\.obj$")))) + #t)) + + (add-after 'compile-decora-native-lib 'compile-linux-font-nativ= e-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-gen-headers "modules/graphics/build/generated-= src/headers/font/linux") + (font-native-lib "modules/graphics/build/libs/font/l= inux/libjavafx_font.so") + (font-native-obj "modules/graphics/build/native/font= /linux") + (font-native-src "modules/graphics/src/main/native-f= ont") + ;; + (font-cc-flags `("-DJFXFONT_PLUS" ,@cc-flags))) + (mkdir-p font-gen-headers) + (apply invoke "javah" + "-d" font-gen-headers + "-cp" classes + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.jav= afx.font" class) + (string-prefix? "com.sun.jav= afx.text" class))) + (java-list-classes classes)))) + (mkdir-p font-native-obj) + (for-each (lambda (cc) + (apply invoke "gcc" + "-I" font-gen-headers + "-I" font-native-src + "-o" (string-append font-native-obj "/" + (basename cc ".c")= ".obj") + (append font-cc-flags (list cc)))) + (find-files font-native-src "\\.c$")) + (mkdir-p (dirname font-native-lib)) + (apply invoke "g++" + "-o" font-native-lib + (append link-flags + (find-files font-native-obj "\\.obj$")))) + #t)) + + (add-after 'compile-linux-font-native-lib 'compile-linux-font-f= reetype + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; + (font-freetype-gen-headers "modules/graphics/build/g= enerated-src/headers/fontFreetype/linux") + (font-freetype-native-lib "modules/graphics/build/li= bs/fontFreetype/linux/libjavafx_font_freetype.so") + (font-freetype-native-obj "modules/graphics/build/na= tive/fontFreetype/linux") + (font-freetype-native-src "modules/graphics/src/main= /native-font/freetype.c") + (font-freetype-cc-flags `("-DJFXFONT_PLUS" "-D_ENABL= E_PANGO" + "$(pkg-config --cflags fre= etype2)" ,@cc-flags)) + (font-freetype-link-flags `("$(pkg-config --libs fre= etype2)" ,@link-flags))) + (mkdir-p font-freetype-gen-headers) + (apply invoke "javah" + "-d" font-freetype-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javaf= x.font.freetype.OSFreetype" <>) + (java-list-classes classes)))) + (mkdir-p font-freetype-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-freetype-cc-flags + "-I" ,font-freetype-gen-headers + "-I" ,(dirname font-freetype-nativ= e-src) + "-o" ,(string-append font-freetype= -native-obj "/" + (basename fon= t-freetype-native-src ".c") ".obj") + ,font-freetype-native-src))) + (mkdir-p (dirname font-freetype-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + "-o" ,font-freetype-native-lib + ,@font-freetype-link-flags + ,@(find-files font-freetype-native= -obj "\\.obj$")))) + #t))) + + (add-after 'compile-linux-font-freetype 'compile-linux-font-pan= go-lib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (font-pango-gen-headers "modules/graphics/build/gene= rated-src/headers/fontPango/linux") + (font-pango-native-lib "modules/graphics/build/libs/= fontPango/linux/libjavafx_font_pango.so") + (font-pango-native-obj "modules/graphics/build/nativ= e/fontPango/linux") + (font-pango-native-src "modules/graphics/src/main/na= tive-font/pango.c") + (font-pango-cc-flags `("-DJFXFONT_PLUS" "-D_ENABLE_P= ANGO" + "$(pkg-config --cflags pangof= t2)" ,@cc-flags)) + (font-pango-link-flags `("$(pkg-config --libs pangof= t2)" ,@link-flags))) + (mkdir-p font-pango-gen-headers) + (apply invoke "javah" + "-d" font-pango-gen-headers + "-cp" classes + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javaf= x.font.freetype.OSPango" <>) + (java-list-classes classes)))) + (mkdir-p font-pango-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@font-pango-cc-flags + "-I" ,font-pango-gen-headers + "-I" ,(dirname font-pango-native-s= rc) + "-o" ,(string-append font-pango-na= tive-obj "/" + (basename fon= t-pango-native-src ".c") ".obj") + ,font-pango-native-src))) + (mkdir-p (dirname font-pango-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@font-pango-link-flags + "-o" ,font-pango-native-lib + ,@(find-files font-pango-native-ob= j "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-font-pango-lib 'compile-linux-glass-l= ib + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + ;; glass + (glass-gen-headers "modules/graphics/build/generated= -src/headers/glass/linux") + (glass-native-lib "modules/graphics/build/libs/glass= /linux/libglass.so") + (glass-native-obj "modules/graphics/build/native/gla= ss/linux/glass") + (glass-native-src "modules/graphics/src/main/native-= glass/gtk/launcher.c") + (glass-cc-flags + `(,@cc-flags + "$(pkg-config --cflags glib-2.0 gdk-2.0 gtk+-2.0 = gthread-2.0 xtst)" + "-Werror")) + (glass-link-flags + `(,@link-flags "$(pkg-config --libs x11)" "-ldl")) + ;; glass-gtk2 + (gtk (assoc-ref inputs "gtk")) + (glass-gtk2-native-obj "modules/graphics/build/nativ= e/glass/linux/glassgtk2") + (glass-gtk2-native-src (dirname glass-native-src)) + (glass-gtk2-native-lib "modules/graphics/build/libs/= glass/linux/libglassgtk2.so") + (glass-gtk2-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-2.0 gthread-2.0 xtst)" + ;; XX: GTimeVal has been deprecated in GLIB since + ;; version 2.62. GTimeVal s not year-2038-safe. G= tk + ;; 2.24 uses GTimeVal so our build is also failin= g. + "-Wno-deprecated-declarations" + "-Werror")) + (glass-gtk2-link-flags + `(,@link-flags + "$(pkg-config --libs gtk+-2.0 gthread-2.0 xtst)")) + ;; glass-gtk3 + (gtk3 (assoc-ref inputs "gtk3")) + (glass-gtk3-native-obj "modules/graphics/build/nativ= e/glass/linux/glassgtk3") + (glass-gtk3-native-src (dirname glass-native-src)) + (glass-gtk3-native-lib "modules/graphics/build/libs/= glass/linux/libglassgtk3.so") + (glass-gtk3-cc-flags + `(,@cc-flags + "$(pkg-config --cflags gtk+-3.0 gthread-2.0 xtst)" + "-Wno-deprecated-declarations" "-Werror")) + (glass-gtk3-link-flags + `(,@link-flags "$(pkg-config --libs gtk+-3.0 gthrea= d-2.0 xtst)"))) + ;; glass + (mkdir-p glass-gen-headers) + (apply invoke "javah" + "-d" glass-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.gla= ss.events" class) + (string-prefix? "com.sun.gla= ss.ui.gtk" class) + (string-prefix? "com.sun.gla= ss.ui" class))) + (java-list-classes classes)))) + (mkdir-p glass-native-obj) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-cc-flags + "-I" ,glass-gen-headers + "-I" ,(dirname glass-native-src) + "-o" ,(string-append glass-native-= obj "/" + (basename gla= ss-native-src ".c") ".obj") + ,glass-native-src))) + (mkdir-p (dirname glass-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-link-flags + "-o" ,glass-native-lib + ,@(find-files glass-native-obj "\\= .obj$")))) + ;; gtk2 + (mkdir-p glass-gtk2-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk2-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append g= lass-gtk2-native-obj "/" + (= basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk2-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk2-link-flags + "-o" ,glass-gtk2-native-lib + ,@(find-files glass-gtk2-native-ob= j "\\.obj$")))) + ;; gtk3 + (mkdir-p glass-gtk3-native-obj) + (for-each (lambda (cpp) + (invoke "bash" "-c" + (string-join `("gcc" + ,@glass-gtk3-cc-flags + "-I" ,glass-gen-headers + "-o" ,(string-append g= lass-gtk3-native-obj "/" + (= basename cpp ".cpp") ".obj") + ,cpp)))) + (find-files glass-gtk3-native-src "\\.cpp$")) + (mkdir-p (dirname glass-gtk3-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@glass-gtk3-link-flags + "-o" ,glass-gtk3-native-lib + ,@(find-files glass-gtk3-native-ob= j "\\.obj$"))))) + #t)) + + (add-after 'compile-linux-glass-lib 'compile-linux-iio + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (iio-gen-headers "modules/graphics/build/generated-s= rc/headers/iio/linux") + (iio-native-lib "modules/graphics/build/libs/iio/lin= ux/libjavafx_iio.so") + (iio-native-obj "modules/graphics/build/native/iio/l= inux") + (iio-native-src "modules/graphics/src/main/native-ii= o") + (iio-cc-flags cc-flags) + (iio-link-flags link-flags)) + (mkdir-p iio-gen-headers) + (apply invoke "javah" + "-d" iio-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.javaf= x.iio" <>) + (java-list-classes classes)))) + (mkdir-p iio-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@iio-cc-flags + "-I" ,iio-gen-headers + "-o" ,(string-append i= io-native-obj "/" + (= basename c ".c") ".obj") + ,c)))) + (find-files iio-native-src "\\.c$")) + (mkdir-p (dirname iio-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@iio-link-flags + "-o" ,iio-native-lib + ,@(find-files iio-native-obj "\\.o= bj$")))) + #t))) + + (add-after 'compile-linux-iio 'compile-linux-prism + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-gen-headers "modules/graphics/build/generated= -src/headers/prism/linux") + (prism-native-lib "modules/graphics/build/libs/prism= /linux/libprism_common.so") + (prism-native-obj "modules/graphics/build/native/pri= sm/linux") + (prism-native-src "modules/graphics/src/main/native-= prism") + (prism-cc-flags `(,@cc-flags "-DINLINE=3Dinline")) + (prism-link-flags link-flags)) + (mkdir-p prism-gen-headers) + (apply invoke "javah" + "-d" prism-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (lambda (class) + (or (string-prefix? "com.sun.pri= sm.impl" class) + (string-prefix? "com.sun.pri= sm.PresentableState" class))) + (java-list-classes classes)))) + (mkdir-p prism-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-cc-flags + "-I" ,prism-gen-headers + "-I" ,prism-native-src + "-o" ,(string-append p= rism-native-obj "/" + (= basename c ".c") ".obj") + ,c)))) + (find-files prism-native-obj "\\.c$")) + (mkdir-p (dirname prism-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-link-flags + "-o" ,prism-native-lib + ,@(find-files prism-native-obj "\\= .obj$")))) + #t))) + + (add-after 'compile-linux-prism 'compile-linux-prism-es2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-es2-gen-headers "modules/graphics/build/gener= ated-src/headers/prismES2/linux") + (prism-es2-native-lib "modules/graphics/build/libs/p= rism/linux/libprism_es2.so") + (prism-es2-native-obj "modules/graphics/build/native= /prismES2/linux") + (prism-es2-native-src "modules/graphics/src/main/nat= ive-prism-es2") + (prism-es2-cc-flags `("-DLINUX" ,@cc-flags)) + (prism-es2-link-flags + `(,@link-flags "$(pkg-config --libs x11 xxf86vm gl)= ")) + ;; We need all *.c files in the root and only those + ;; which are in a specific directories. + (filter-src + (lambda (abs _) + (or (regexp-exec (make-regexp (string-append pris= m-es2-native-src "[^/]*\\.c$")) + abs) + (regexp-exec (make-regexp (string-append pris= m-es2-native-src "(x11/|GL/)")) + abs))))) + (mkdir-p prism-es2-gen-headers) + (apply invoke "javah" + "-d" prism-es2-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.prism= .es2" <>) + (java-list-classes classes)))) + (mkdir-p prism-es2-native-obj) + (for-each (lambda (c) + (apply invoke "gcc" + "-I" glass-native-src + "-I" prism-es2-gen-headers + "-I" prism-es2-native-src + "-I" (string-append prism-es2-native-s= rc "/GL") + "-I" (string-append prism-es2-native-s= rc "/x11") + "-o" (string-append prism-es2-native-o= bj "/" (basename c ".c") ".obj") + (append prism-es2-cc-flags (list c)))) + (find-files prism-es2-native-src filter-src)) + (mkdir-p (dirname prism-es2-native-lib)) + (invoke "bash" "-c" + (string-join `("g++" + ,@prism-es2-link-flags + "-o" ,prism-es2-native-lib + ,@(find-files prism-es2-native-obj= "\\.obj$")))) + #t))) + + (add-after 'compile-linux-prism-es2 'compile-linux-prism-sw + (lambda* (#:key inputs #:allow-other-keys) + (let* ((classes "modules/graphics/build/classes/java/main") + (prism-sw-gen-headers "modules/graphics/build/genera= ted-src/headers/prismSW/linux") + (prism-sw-native-lib "modules/graphics/build/libs/pr= ism/linux/libprism_sw.so") + (prism-sw-native-obj "modules/graphics/build/native/= prismSW/linux") + (prism-sw-native-src "modules/graphics/src/main/nati= ve-prism-sw") + ;; + (prism-sw-cc-flags `(,@cc-flags "-DINLINE=3Dinline")) + (prism-sw-link-flags link-flags)) + (mkdir-p prism-sw-gen-headers) + (apply invoke "javah" + "-d" prism-sw-gen-headers + "-cp" (string-append classes ":" (getenv "CLASSPAT= H")) + (append javac/h-flags + (filter (cut string-prefix? "com.sun.pisce= s" <>) + (java-list-classes classes)))) + (mkdir-p prism-sw-native-obj) + (for-each (lambda (c) + (invoke "bash" "-c" + (string-join `("gcc" + ,@prism-sw-cc-flags + "-I" ,prism-sw-gen-hea= ders + "-I" ,prism-sw-native-= src + "-o" ,(string-append p= rism-sw-native-obj "/" + (= basename c ".c") ".obj") + ,c)))) + (find-files prism-sw-native-src "\\.c$")) + (mkdir-p (dirname prism-sw-native-lib)) + (apply invoke "g++" "-o" prism-sw-native-lib + (append prism-sw-link-flags (find-files prism-sw-n= ative-obj "\\.obj$"))) + #t))) + + (add-after 'compile-linux-prism-sw 'install-native + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib")= )) + (for-each (lambda (file) + (install-file file lib)) + (find-files "." "\\.so$")) + #t))) + + (add-after 'install-native 'build-jar + (lambda _ + (let* ((module (string-append "modules/graphics")) + (resources (string-append module "/src/main/resource= s")) + (classes (string-append module "/build/classes/java/= main"))) + (copy-recursively resources classes) + + (invoke "ant" "jar" (string-append "-Dclasses.dir=3D" cla= sses))) + #t)))))) + (native-inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("gcc" ,gcc) + ("glib" ,glib) + ("zlib" ,zlib) + ("gtk" ,gtk+-2) + ("gtk3" ,gtk+) + ("jpeg" ,libjpeg-turbo) + ("libxtst" ,libxtst) + ("pango" ,pango) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) - ("java-swt" ,java-swt))) - (description "OpenJFX is a client application platform for desktop, -mobile and embedded systems built on Java. Its goal is to produce a -modern, efficient, and fully featured toolkit for developing rich client -applications. This package contains graphics-related classes for the -OpenJFX distribution."))) + ("java-swt" ,java-swt))))) =20 (define-public java-openjfx-media (package (inherit java-openjfx-build) --=20 2.26.2 --=-=-=-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages References: <20200517132829.1553311-1-levenson@mmer.org> In-Reply-To: <20200517132829.1553311-1-levenson@mmer.org> Resent-From: Ioannis Kappas Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 19 Jun 2022 19:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 41360@debbugs.gnu.org Cc: ludo@gnu.org, julien@lepiller.eu, levenson@mmer.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165566681020993 (code B ref 41360); Sun, 19 Jun 2022 19:27:02 +0000 Received: (at 41360) by debbugs.gnu.org; 19 Jun 2022 19:26:50 +0000 Received: from localhost ([127.0.0.1]:53263 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o30ZO-0005SX-16 for submit@debbugs.gnu.org; Sun, 19 Jun 2022 15:26:50 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:34406) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o30ZM-0005SG-5i for 41360@debbugs.gnu.org; Sun, 19 Jun 2022 15:26:48 -0400 Received: by mail-vs1-f41.google.com with SMTP id l28so621452vsb.1 for <41360@debbugs.gnu.org>; Sun, 19 Jun 2022 12:26:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to:cc; bh=VNJ2PEk+LTuG2uaCyNlF3XljgstxbtKXXIyF6QhHhyA=; b=EmkcQMC3pkuwPGIkn2u1MyZ6vcmCjQXatQgW0NfrS44paICp0drHDk59dP+V8WbnZI Q3IJnKWNfGI6zFQ7fjN7G46PATldhplTMBk4NPjzU3HfN0HS8ogrpcPDXfZzUyj4Y/AN qNhIunOhDXUqPRNfIo8K9iqejB1qYdgl6Bx2c5lhPEXjXaDHEYsBki6lb4efRg/30ELf KpSJ3SjRZvyAhA7FnTvEgEcPlh+5GWxc0mwfHcGVN8tSSGSaGvILVSehYVcEy+DAoL5O KAOrUf/CaY7iXLXG5SbGNm4R3SR+XANw+24pXylyx3HN1YNsYeNcMHVccTKk8PLGyh7k lHEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=VNJ2PEk+LTuG2uaCyNlF3XljgstxbtKXXIyF6QhHhyA=; b=udxWFNTaQotaH2An/T4p4sEAFB8AYiWN3qEeadbqPf9NFKJTb1g7l/F8d/XeB58qea zDvlU1XeasRi4R5xB5e1d0PEx4+OJ/khOw+2HIixsBQfF0e80KyNx3uXfQYju9ldWATO cZPfdqtKtx++zDa7uopHrsE5W0pCnBkXIqYrC/p7RachAUbAu50otDhpHcH7akhXYrYY VCb68k/tfJMq78a4bzMyBDMalxB2WsHzlw7GdLbgRgZ9p13FgT/1LBHMS47LlkVhC9yb xxDCyaA9CX59vBuLEjpdpXxfXpGCv5bNuRv17quzpo+AInNMNkvX6ZLMhfwhFi4WuuCm uQ1Q== X-Gm-Message-State: AJIora+Ze72ra8mSLvVorH9+ZKnwvlZTvbHlVseA4R0D1BCSERI0O92u UwWAYWXYiSEasiZO893K2xDNtDGRiZvGJBdJRWlo64mt4hY= X-Google-Smtp-Source: AGRyM1tvQGhgayXAV05+zrFcpCSZXuaS0CVqYkLU8QcfHZ+PST3v4bQ9b1TF9dDg6wEdbvLExboGKHzSEs/mlq0QEp8= X-Received: by 2002:a05:6102:f81:b0:354:3967:118a with SMTP id e1-20020a0561020f8100b003543967118amr55694vsv.67.1655666802598; Sun, 19 Jun 2022 12:26:42 -0700 (PDT) MIME-Version: 1.0 From: Ioannis Kappas Date: Sun, 19 Jun 2022 20:26:32 +0100 Message-ID: Content-Type: multipart/mixed; boundary="000000000000a2c70305e1d1f7a3" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --000000000000a2c70305e1d1f7a3 Content-Type: text/plain; charset="UTF-8" Hi, could you please consider reviewing patches to finalize the building of the java-openjfx packages in scope of this discussion, as part of an attempt to complete Alexey's awesome work. The thread had stopped receiving updates for some time now. I assume priorities were shifted elsewhere. I recently got interested testing an openjfx application on Java 1.8, only to realise that the current packages are incomplete. I came across this thread, and thought to give the patches a try, and fix where possible. I believe I have finalised all openjfx packages in scope to build, pass all tests and seamlessly link to their native libraries at runtime. My test application now works, I can use the graphics, controls and web openjfx packages by merely specifying their share/java jar packages on the classpath. This email has three incremental patches. I've named the as [PATCH v5] to denote this is a continuation from the last patches. 0001: Alexey's work brought forward to a recent guix revision. 0002: Small changes to updated the above to build with the current guix spec/packages. 0003: My update to finalize the openjfx packages, normalize inputs, run all tests where they exist and fix the load path of native libraries at runtime. I've put the author of 0001 down to Alexey since this is his works. I compiled this patch by hand from the thread, I hope I haven't missed anything. The individual packages produce a jar output, and some of them also build native shared libraries. The individual jar packages try to load their native libraries just by name, and this will fail if the native libs are not on the library path. I've taken the decision to load these libraries by their full gnu/store path instead of their names. I have also applied the same to an external package, java-swt, since it has a shared library that has to be located at runtime. Although there are a few native libraries built by the java-openjfx-graphics package I left it as is, because it has a sophisticated native library loader that locates shared libraries relative to the jar location. The changes in 0003 are as follows: * java-openjfx-graphics 1. Normalize inputs, only build against gtk-2.0. 2. Output native libs to openjfx standard share/amd64 dir. 3. Do not build libjpeg from source, but rather use corresponding package. 4. Run all tests. * java-openjfx-controls 1. Run all tests. 2. Fix java-openjfx-graphics name typo. * java-openjfx-media 1. Build against gstreamer. 2. Compile native library and modify loader to load it directly from the store path. * java-openjfx-web 1. Include version. 2. Modify loader to load native web kit lib directly from the store. 3. Fix a failing test, by applying new java-openjfx-build-web-js-test.patch as picked up from a later openjfx revision source code revision, to fix a failing test. 4. Run all tests. * java-swt 1. Modify loader to load native library directly from the gnu/store path if it can't be found otherwise. This is required for seamlessly loading java-swt as an input. This is my first guix package update, so is likely to require more work based on your feedback, which is most welcome. Thanks --000000000000a2c70305e1d1f7a3 Content-Type: application/octet-stream; name="0002-Fix-openjfx-build-issues-occuring-from-merge.patch" Content-Disposition: attachment; filename="0002-Fix-openjfx-build-issues-occuring-from-merge.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4lotphg1 RnJvbSBiZjk4NzhkNmEwMmQ3ODFiZGEyNDA0MzIwMTdiZjc2NTliNDJiZDc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAxOCBKdW4gMjAyMiAxNDozOToxOCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjUgMi8zXSBGaXggb3BlbmpmeCBidWlsZCBpc3N1ZXMgb2NjdXJpbmcgZnJvbSBtZXJnZQoK VGhpcyBpcyBiZWNhdXNlIHRoZSBndWl4IHN5bnRheCBvciBpbnB1dHMgaGF2ZSBjaGFuZ2VkL3Vw ZGF0ZWQgc2luY2UgQWxleGV5J3MKdjQgcGF0Y2guCi0tLQogZ251L3BhY2thZ2VzL2phdmEuc2Nt IHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2dudS9wYWNrYWdlcy9qYXZhLnNjbSBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQppbmRleCA1MTg1 OTY3OTYwLi44YWM1MDEyNTJjIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvamF2YS5zY20KKysr IGIvZ251L3BhY2thZ2VzL2phdmEuc2NtCkBAIC0yNjIxLDggKzI2MjEsNyBAQCAoZGVmaW5lLXB1 YmxpYyBqYXZhLW9wZW5qZngtZ3JhcGhpY3MKICAgICAgICAgICAgICAgICAgIChpY2UtOSByZWdl eCkKICAgICAgICAgICAgICAgICAgIChpY2UtOSBtYXRjaCkpCiAgICAgICAgIzpwaGFzZXMKLSAg ICAgICAobGV0KiAoKGpkayAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImpkayIpKQotICAgICAg ICAgICAgICAoamF2YWMvaC1mbGFncworICAgICAgIChsZXQqICgoamF2YWMvaC1mbGFncwogICAg ICAgICAgICAgICAgJyg7OyBXaGVuIGphdmFjIGlzIGNvbXBpbGluZyBjb2RlIGl0IGRvZXNuJ3Qg bGluawogICAgICAgICAgICAgICAgICA7OyBhZ2FpbnN0IHJ0LmphciBieSBkZWZhdWx0LiBJbnN0 ZWFkIGl0IHVzZXMgc3BlY2lhbAogICAgICAgICAgICAgICAgICA7OyBzeW1ib2wgZmlsZSBsaWIv Y3Quc3ltIHdpdGggY2xhc3Mgc3R1YnMuCkBAIC0yNjM5LDEwICsyNjM4LDYgQEAgKGRlZmluZS1w dWJsaWMgamF2YS1vcGVuamZ4LWdyYXBoaWNzCiAgICAgICAgICAgICAgICAnKCItZm5vLXN0cmlj dC1hbGlhc2luZyIgIi1mUElDIiAiLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIiIDs7IG9wdGltaXph dGlvbiBmbGFncwogICAgICAgICAgICAgICAgICAiLWZzdGFjay1wcm90ZWN0b3IiCiAgICAgICAg ICAgICAgICAgICItVyIgIi1XYWxsIiAiLVduby11bnVzZWQiICItV25vLXBhcmVudGhlc2VzIikp Ci0gICAgICAgICAgICAgIChjYy1mbGFncwotICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFn cyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRl IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQg amRrICIvaW5jbHVkZS9saW51eCIpKSkKICAgICAgICAgICAgICAgKGxpbmstZmxhZ3MKICAgICAg ICAgICAgICAgIGAoIi1zdGF0aWMtbGliZ2NjIiAiLXN0YXRpYy1saWJzdGRjKysiICItc2hhcmVk IiAsQGNvbW1vbi1mbGFncwogICAgICAgICAgICAgICAgICAiLXoiICJyZWxybyIKQEAgLTI4MzIs NiArMjgyNywxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3Mp KSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1uYXRpdmUtc3JjICJtb2R1bGVzL2dy YXBoaWNzL3NyYy9tYWluL25hdGl2ZS1kZWNvcmEiKQogICAgICAgICAgICAgICAgICAgICAgIChk ZWNvcmEtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL2pzbC1kZWNvcmEvIikKICAgICAg ICAgICAgICAgICAgICAgICAoZGVjb3JhLWNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQv Y2xhc3Nlcy9qc2wtZGVjb3JhLyIpCisgICAgICAgICAgICAgICAgICAgICAgKGpkayAoYXNzb2Mt cmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNjLWZsYWdzCisgICAg ICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0 aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9p bmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2MtZmxhZ3Mg YCgsQGNjLWZsYWdzICItZmZhc3QtbWF0aCIpKSkKICAgICAgICAgICAgICAgICAgKG1rZGlyLXAg ZGVjb3JhLWdlbi1oZWFkZXJzKQogICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZh aCIKQEAgLTI4NjQsNiArMjg2NCwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4 ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtbmF0aXZlLW9iaiAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udC9saW51eCIpCiAgICAgICAgICAgICAg ICAgICAgICAgKGZvbnQtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRp dmUtZm9udCIpCiAgICAgICAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAgICAg ICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAo Y2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICIt ZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmct YXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZv bnQtY2MtZmxhZ3MgYCgiLURKRlhGT05UX1BMVVMiICxAY2MtZmxhZ3MpKSkKICAgICAgICAgICAg ICAgICAgKG1rZGlyLXAgZm9udC1nZW4taGVhZGVycykKICAgICAgICAgICAgICAgICAgKGFwcGx5 IGludm9rZSAiamF2YWgiCkBAIC0yODk4LDYgKzI5MDMsMTEgQEAgKGNsYXNzIChtYXRjaDpzdWZm aXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgIChmb250 LWZyZWV0eXBlLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9mb250RnJl ZXR5cGUvbGludXgvbGliamF2YWZ4X2ZvbnRfZnJlZXR5cGUuc28iKQogICAgICAgICAgICAgICAg ICAgICAgIChmb250LWZyZWV0eXBlLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQv bmF0aXZlL2ZvbnRGcmVldHlwZS9saW51eCIpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQt ZnJlZXR5cGUtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZm9u dC9mcmVldHlwZS5jIikKKyAgICAgICAgICAgICAgICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5w dXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAg ICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAi LWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUv bGludXgiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtY2MtZmxhZ3Mg YCgiLURKRlhGT05UX1BMVVMiICItRF9FTkFCTEVfUEFOR08iCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGZyZWV0 eXBlMikiICxAY2MtZmxhZ3MpKQogICAgICAgICAgICAgICAgICAgICAgIChmb250LWZyZWV0eXBl LWxpbmstZmxhZ3MgYCgiJChwa2ctY29uZmlnIC0tbGlicyBmcmVldHlwZTIpIiAsQGxpbmstZmxh Z3MpKSkKQEAgLTI5MzIsNiArMjk0MiwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhw LWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtcGFuZ28tbmF0 aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ZvbnRQYW5nby9saW51eC9saWJq YXZhZnhfZm9udF9wYW5nby5zbyIpCiAgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtcGFuZ28t bmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udFBhbmdvL2xpbnV4 IikKICAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1uYXRpdmUtc3JjICJtb2R1bGVz L2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1mb250L3BhbmdvLmMiKQorICAgICAgICAgICAgICAg ICAgICAgIChqZGsgKGFzc29jLXJlZiBpbnB1dHMgImpkayIpKQorICAgICAgICAgICAgICAgICAg ICAgIChjYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxAY29tbW9uLWZsYWdzICIt YyIgIi1mZnVuY3Rpb24tc2VjdGlvbnMiICItZmRhdGEtc2VjdGlvbnMiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5j bHVkZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0 cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZS9saW51eCIpKSkKICAgICAgICAgICAgICAgICAgICAg ICAoZm9udC1wYW5nby1jYy1mbGFncyBgKCItREpGWEZPTlRfUExVUyIgIi1EX0VOQUJMRV9QQU5H TyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1j b25maWcgLS1jZmxhZ3MgcGFuZ29mdDIpIiAsQGNjLWZsYWdzKSkKICAgICAgICAgICAgICAgICAg ICAgICAoZm9udC1wYW5nby1saW5rLWZsYWdzIGAoIiQocGtnLWNvbmZpZyAtLWxpYnMgcGFuZ29m dDIpIiAsQGxpbmstZmxhZ3MpKSkKQEAgLTI5NjcsMTAgKzI5ODIsMTcgQEAgKGNsYXNzIChtYXRj aDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAg IChnbGFzcy1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGlu dXgvbGliZ2xhc3Muc28iKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1uYXRpdmUtb2Jq ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25hdGl2ZS9nbGFzcy9saW51eC9nbGFzcyIpCiAgICAg ICAgICAgICAgICAgICAgICAgKGdsYXNzLW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3Jj L21haW4vbmF0aXZlLWdsYXNzL2d0ay9sYXVuY2hlci5jIikKKyAgICAgICAgICAgICAgICAgICAg ICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAo Y2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICIt ZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmct YXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGds YXNzLWNjLWZsYWdzCiAgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjYy1mbGFncwogICAgICAg ICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ2xpYi0yLjAgZ2RrLTIu MCBndGsrLTIuMCBndGhyZWFkLTIuMCB4dHN0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAi LVdlcnJvciIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICItV2Vycm9yIgorICAgICAgICAg ICAgICAgICAgICAgICAgICItV25vLWNhc3QtZnVuY3Rpb24tdHlwZSIKKyAgICAgICAgICAgICAg ICAgICAgICAgICApKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1saW5rLWZsYWdzCiAg ICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJz IHgxMSkiICItbGRsIikpCiAgICAgICAgICAgICAgICAgICAgICAgOzsgZ2xhc3MtZ3RrMgpAQCAt Mjk4NSw3ICszMDA3LDkgQEAgKGNsYXNzIChtYXRjaDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNs YXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgIDs7IHZlcnNpb24gMi42Mi4gR1RpbWVW YWwgcyBub3QgeWVhci0yMDM4LXNhZmUuIEd0awogICAgICAgICAgICAgICAgICAgICAgICAgIDs7 IDIuMjQgdXNlcyBHVGltZVZhbCBzbyBvdXIgYnVpbGQgaXMgYWxzbyBmYWlsaW5nLgogICAgICAg ICAgICAgICAgICAgICAgICAgICItV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgotICAgICAg ICAgICAgICAgICAgICAgICAgICItV2Vycm9yIikpCisgICAgICAgICAgICAgICAgICAgICAgICAg Ii1XZXJyb3IiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1mdW5jdGlvbi10 eXBlIgorICAgICAgICAgICAgICAgICAgICAgICAgICkpCiAgICAgICAgICAgICAgICAgICAgICAg KGdsYXNzLWd0azItbGluay1mbGFncwogICAgICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1m bGFncwogICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1saWJzIGd0ayst Mi4wIGd0aHJlYWQtMi4wIHh0c3QpIikpCkBAIC0yOTk3LDcgKzMwMjEsOSBAQCAoY2xhc3MgKG1h dGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgKGdsYXNzLWd0azMtY2MtZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNjLWZs YWdzCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBndGsr LTMuMCBndGhyZWFkLTIuMCB4dHN0KSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1k ZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIgIi1XZXJyb3IiKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAiLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIgIi1XZXJyb3IiCisgICAgICAgICAg ICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlIgorICAgICAgICAgICAgICAg ICAgICAgICAgICkpCiAgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWd0azMtbGluay1mbGFn cwogICAgICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1mbGFncyAiJChwa2ctY29uZmlnIC0t bGlicyBndGsrLTMuMCBndGhyZWFkLTIuMCB4dHN0KSIpKSkKICAgICAgICAgICAgICAgICAgOzsg Z2xhc3MKQEAgLTMwNjksNiArMzA5NSwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhw LWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKGlpby1uYXRpdmUtbGli ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvaWlvL2xpbnV4L2xpYmphdmFmeF9paW8uc28i KQogICAgICAgICAgICAgICAgICAgICAgIChpaW8tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGlj cy9idWlsZC9uYXRpdmUvaWlvL2xpbnV4IikKICAgICAgICAgICAgICAgICAgICAgICAoaWlvLW5h dGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWlpbyIpCisgICAgICAg ICAgICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAg ICAgICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24t ZmxhZ3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBq ZGsgIi9pbmNsdWRlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAg ICAgICAgICAgIChpaW8tY2MtZmxhZ3MgY2MtZmxhZ3MpCiAgICAgICAgICAgICAgICAgICAgICAg KGlpby1saW5rLWZsYWdzIGxpbmstZmxhZ3MpKQogICAgICAgICAgICAgICAgICAobWtkaXItcCBp aW8tZ2VuLWhlYWRlcnMpCkBAIC0zMTAzLDYgKzMxMzQsMTEgQEAgKGNsYXNzIChtYXRjaDpzdWZm aXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlz bS1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGli cHJpc21fY29tbW9uLnNvIikKICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tbmF0aXZlLW9i aiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvcHJpc20vbGludXgiKQogICAgICAgICAg ICAgICAgICAgICAgIChwcmlzbS1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWlu L25hdGl2ZS1wcmlzbSIpCisgICAgICAgICAgICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlu cHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAg ICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0aW9ucyIg Ii1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRl L2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1jYy1mbGFncyBgKCxAY2Mt ZmxhZ3MgIi1ESU5MSU5FPWlubGluZSIpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1s aW5rLWZsYWdzIGxpbmstZmxhZ3MpKQogICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1n ZW4taGVhZGVycykKQEAgLTMxNDAsNiArMzE3NiwxMSBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAo cmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgKHByaXNtLWVz Mi1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGli cHJpc21fZXMyLnNvIikKICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tZXMyLW5hdGl2ZS1v YmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL3ByaXNtRVMyL2xpbnV4IikKICAgICAg ICAgICAgICAgICAgICAgICAocHJpc20tZXMyLW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mv c3JjL21haW4vbmF0aXZlLXByaXNtLWVzMiIpCisgICAgICAgICAgICAgICAgICAgICAgKGpkayAo YXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNjLWZsYWdz CisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZmdW5jdGlv bi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBq ZGsgIi9pbmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1lczIt Y2MtZmxhZ3MgYCgiLURMSU5VWCIgLEBjYy1mbGFncykpCiAgICAgICAgICAgICAgICAgICAgICAg KHByaXNtLWVzMi1saW5rLWZsYWdzCiAgICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZs YWdzICIkKHBrZy1jb25maWcgLS1saWJzIHgxMSB4eGY4NnZtIGdsKSIpKQpAQCAtMzE4NCw2ICsz MjI1LDExIEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkK ICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3ctbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFw aGljcy9idWlsZC9saWJzL3ByaXNtL2xpbnV4L2xpYnByaXNtX3N3LnNvIikKICAgICAgICAgICAg ICAgICAgICAgICAocHJpc20tc3ctbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9u YXRpdmUvcHJpc21TVy9saW51eCIpCiAgICAgICAgICAgICAgICAgICAgICAgKHByaXNtLXN3LW5h dGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLXByaXNtLXN3IikKKyAg ICAgICAgICAgICAgICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAg ICAgICAgICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNv bW1vbi1mbGFncyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBw ZW5kIGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3ctY2MtZmxh Z3MgYCgsQGNjLWZsYWdzICItRElOTElORT1pbmxpbmUiKSkKICAgICAgICAgICAgICAgICAgICAg ICAocHJpc20tc3ctbGluay1mbGFncyBsaW5rLWZsYWdzKSkKQEAgLTM0MTgsMTYgKzM0NjQsMjAg QEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LXdlYgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJcIi1XbCwtcnBhdGg9IiBsaWIgIlwiIikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURDTUFLRV9TWVNURU1f UFJPQ0VTU09SPSIgbWFjaGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLURK QVZBRlhfUkVMRUFTRV9WRVJTSU9OPTguMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiLVciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XYWxsIgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV2wsLS1nYy1zZWN0aW9ucyIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1wYXJlbnRoZXNlcyIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby11bnVzZWQiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIi1mUElDIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt Zm5vLW9taXQtZnJhbWUtcG9pbnRlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LWZuby1zdHJpY3QtYWxpYXNpbmciCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1m c3RhY2stcHJvdGVjdG9yIikpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1E Q01BS0VfQ1hYX0ZMQUdTPVwiIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctam9pbiAobGlzdCAiLVciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICItRFVfREVGSU5FX0ZBTFNFX0FORF9UUlVFPTEiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV2FsbCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb24iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItV2wsLS1nYy1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tcGFyZW50aGVzZXMiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLXVudXNlZCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mUElD IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWZu by1vbWl0LWZyYW1lLXBvaW50ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mc3RhY2stcHJvdGVjdG9yIikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJcIiIpKSkpKQogICAgICAgICAgICAgICN0KSkKIAogICAg ICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1uYXRpdmUtbGludXggJ2luc3RhbGwtbmF0aXZlCi0t IAoyLjM0LjAKCg== --000000000000a2c70305e1d1f7a3 Content-Type: application/octet-stream; name="0003-Finalize-openjfx-libraries.patch" Content-Disposition: attachment; filename="0003-Finalize-openjfx-libraries.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4lotpho2 RnJvbSAwYjZjNzU2ZmM0NGZjZGEzMDNjZjEyNjhhOWVmYTY0ZjkzNjcyNGFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU3VuLCAxOSBKdW4gMjAyMiAwOTo0NDoyNiArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjUgMy8zXSBGaW5hbGl6ZSBvcGVuamZ4IGxpYnJhcmllcwoKKiBqYXZhLW9wZW5qZngtZ3Jh cGhpY3MKICAxLiBOb3JtYWxpemUgaW5wdXRzLCBvbmx5IGJ1aWxkIGFnYWluc3QgZ3RrLTIuMC4K ICAyLiBPdXRwdXQgbmF0aXZlIGxpYnMgdG8gb3BlbmpmeCBzdGFuZGFyZCBzaGFyZS9hbWQ2NCBk aXIuCiAgMy4gRG8gbm90IGJ1aWxkIGxpYmpwZWcgZnJvbSBzb3VyY2UsIGJ1dCByYXRoZXIgdXNl IGNvcnJlc3BvbmRpbmcKICAgICBwYWNrYWdlLgogIDQuIFJ1biBhbGwgdGVzdHMuCiogamF2YS1v cGVuamZ4LWNvbnRyb2xzCiAgMS4gUnVuIGFsbCB0ZXN0cy4KICAyLiBGaXggamF2YS1vcGVuamZ4 LWdyYXBoaWNzIG5hbWUgdHlwby4KKiBqYXZhLW9wZW5qZngtbWVkaWEKICAxLiBCdWlsZCBhZ2Fp bnN0IGdzdHJlYW1lci4KICAyLiBDb21waWxlIG5hdGl2ZSBsaWJyYXJ5IGFuZCBtb2RpZnkgbG9h ZGVyIHRvIGxvYWQgaXQgZGlyZWN0bHkgZnJvbQogICAgIHRoZSBzdG9yZSBwYXRoLgoqIGphdmEt b3BlbmpmeC13ZWIKICAxLiBJbmNsdWRlIHZlcnNpb24uCiAgMi4gTW9kaWZ5IGxvYWRlciB0byBs b2FkIG5hdGl2ZSB3ZWIga2l0IGxpYiBkaXJlY3RseSBmcm9tIHRoZSBzdG9yZS4KICAzLiBGaXgg YSBmYWlsaW5nIHRlc3QsIGJ5IGFwcGx5aW5nIG5ldwogICAgIGphdmEtb3BlbmpmeC1idWlsZC13 ZWItanMtdGVzdC5wYXRjaCBhcyBwaWNrZWQgdXAgZnJvbSBhIGxhdGVyCiAgICAgb3BlbmpmeCBy ZXZpc2lvbiBzb3VyY2UgY29kZSByZXZpc2lvbiwgdG8gZml4IGEgZmFpbGluZyB0ZXN0LgogIDQu IFJ1biBhbGwgdGVzdHMuCiogamF2YS1zd3QKICAxLiBNb2RpZnkgbG9hZGVyIHRvIGxvYWQgbmF0 aXZlIGxpYnJhcnkgZGlyZWN0bHkgZnJvbSB0aGUgZ251L3N0b3JlCiAgICAgcGF0aCBpZiBpdCBj YW4ndCBiZSBmb3VuZCBvdGhlcndpc2UuIFRoaXMgaXMgcmVxdWlyZWQgZm9yCiAgICAgc2VhbWxl c3NseSBsb2FkaW5nIGphdmEtc3d0IGFzIGFuIGlucHV0LgotLS0KIGdudS9sb2NhbC5tayAgICAg ICAgICB8ICAgMSArCiBnbnUvcGFja2FnZXMvamF2YS5zY20gfCA0ODIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM5OSBpbnNlcnRp b25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUv bG9jYWwubWsKaW5kZXggOWI5ODJjNDJkYi4uMjljM2Y3NTBhYSAxMDA2NDQKLS0tIGEvZ251L2xv Y2FsLm1rCisrKyBiL2dudS9sb2NhbC5tawpAQCAtMTMyNyw2ICsxMzI3LDcgQEAgZGlzdF9wYXRj aF9EQVRBID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWls ZC13ZWItV1RGLnBhdGNoCQkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngt YnVpbGQtd2ViLVdlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2gJXAogICAlRCUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaAkJCVwKKyAgJUQlL3Bh Y2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1qcy10ZXN0LnBhdGNoICAgICBc CiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtcG93ZXJtb2NrLWZpeC1qYXZhLWZpbGVzLnBh dGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtc2ltcGxlLXhtbC1maXgtdGVzdHMu cGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1zdmctc2FsYW1hbmRlci1GaXgt bm9uLWRldC5wYXRjaAlcCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvamF2YS5zY20gYi9nbnUv cGFja2FnZXMvamF2YS5zY20KaW5kZXggOGFjNTAxMjUyYy4uNTk0MGRmMDE4YiAxMDA2NDQKLS0t IGEvZ251L3BhY2thZ2VzL2phdmEuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQpAQCAt NzIsNiArNzIsNyBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNl LW1vZHVsZSAoZ251IHBhY2thZ2VzIGdob3N0c2NyaXB0KSA7bGNtcwogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBnbm9tZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3Jvb3Z5 KQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnc3RyZWFtZXIpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGd0aykKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3VpbGUp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGljdTRjKQpAQCAtMjUyNyw2ICsyNTI4LDcg QEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWJ1aWxkCiAgICAgICAgICAgICAgICAgICA7 OyBEZWxldGUgc291cmNlIGNvZGUgb2YgYSBUaGlyZFBhcnR5IGxpYnJhcmllcwogICAgICAgICAg ICAgICAgICAgKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9u YXRpdmUvU291cmNlL1RoaXJkUGFydHkiKQogICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxl LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1BsYXRmb3Jt SmF2YS5jbWFrZSIpCisgICAgICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkg Im1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWlpby9saWJqcGVnIikKICAgICAgICAg ICAgICAgICAgICN0KSkKICAgICAgICAgICAgICAgKHNoYTI1NgogICAgICAgICAgICAgICAgKGJh c2UzMgpAQCAtMjUzOSw3ICsyNTQxLDcgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWJ1 aWxkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4 LWJ1aWxkLXdlYi1XVEYucGF0Y2giCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBh dGNoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3Blbmpm eC1idWlsZC13ZWItaWN1LnBhdGNoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEt b3BlbmpmeC1idWlsZC13ZWItanMtdGVzdC5wYXRjaCIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBh bnQtYnVpbGQtc3lzdGVtKQogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZh LW9wZW5qZnguamFyIgpAQCAtMjYxMSw3ICsyNjEzLDYgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1v cGVuamZ4LWdyYXBoaWNzCiAgICAgKGFyZ3VtZW50cwogICAgICBgKCM6amFyLW5hbWUgImphdmEt b3BlbmpmeC1ncmFwaGljcy5qYXIiCiAgICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL2phdmEiCi0gICAgICAgIzp0ZXN0cz8gI2YgICAgICAgICAgICAgICA7IHJl cXVpcmVzIFgKICAgICAgICAjOnRlc3QtZGlyICJtb2R1bGVzL2dyYXBoaWNzL3NyYy90ZXN0Igog ICAgICAgICM6dGVzdC1pbmNsdWRlIChsaXN0ICIqKi8qVGVzdC4qIikKICAgICAgICAjOm1vZHVs ZXMgKChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0ZW0pCkBAIC0yOTc1LDEzICsyOTc2LDE1IEBA IChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAgICAgICAg ICAgICAgICN0KSkKIAogICAgICAgICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LWZvbnQt cGFuZ28tbGliICdjb21waWxlLWxpbnV4LWdsYXNzLWxpYgotICAgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBpbnB1dHMgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCiAgICAgICAgICAgICAg ICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21h aW4iKQogICAgICAgICAgICAgICAgICAgICAgIDs7IGdsYXNzCiAgICAgICAgICAgICAgICAgICAg ICAgKGdsYXNzLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVyYXRlZC1z cmMvaGVhZGVycy9nbGFzcy9saW51eCIpCiAgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLW5h dGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9nbGFzcy9saW51eC9saWJnbGFz cy5zbyIpCiAgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLW5hdGl2ZS1vYmogIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4L2dsYXNzIikKLSAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRp dmUtZ2xhc3MvZ3RrL2xhdW5jaGVyLmMiKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1u YXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1nbGFzcy9ndGsiKQor ICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1saWItcGF0aCAoc3RyaW5nLWFwcGVuZCAoYXNz b2MtcmVmIG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIvc2hhcmUvYW1kNjQiKSkKICAgICAgICAgICAgICAgICAgICAg ICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKICAgICAgICAgICAgICAgICAgICAgICAo Y2MtZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAiLWMiICIt ZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgpAQCAtMjk4OSwyMCArMjk5Miwy MiBAQCAoY2xhc3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQg amRrICIvaW5jbHVkZS9saW51eCIpKSkKICAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtY2Mt ZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNjLWZsYWdzCi0gICAgICAgICAgICAg ICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBnbGliLTIuMCBnZGstMi4wIGd0ayst Mi4wIGd0aHJlYWQtMi4wIHh0c3QpIgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1j b25maWcgLS1jZmxhZ3MgZ2xpYi0yLjAgZ3RrKy0yLjAgeHRzdCkiCisgICAgICAgICAgICAgICAg ICAgICAgICAgIi1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1XZXJyb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1m dW5jdGlvbi10eXBlIgogICAgICAgICAgICAgICAgICAgICAgICAgICkpCiAgICAgICAgICAgICAg ICAgICAgICAgKGdsYXNzLWxpbmstZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgYCgsQGxp bmstZmxhZ3MgIiQocGtnLWNvbmZpZyAtLWxpYnMgeDExKSIgIi1sZGwiKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChw a2ctY29uZmlnIC0tbGlicyB4MTEgZ3RrKy0yLjApIiAiLWxkbCIpKQogICAgICAgICAgICAgICAg ICAgICAgIDs7IGdsYXNzLWd0azIKICAgICAgICAgICAgICAgICAgICAgICAoZ3RrIChhc3NvYy1y ZWYgaW5wdXRzICJndGsiKSkKICAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1uYXRp dmUtb2JqICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25hdGl2ZS9nbGFzcy9saW51eC9nbGFzc2d0 azIiKQotICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLW5hdGl2ZS1zcmMgKGRpcm5h bWUgZ2xhc3MtbmF0aXZlLXNyYykpCisgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWd0azIt bmF0aXZlLXNyYyBnbGFzcy1uYXRpdmUtc3JjKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFz cy1ndGsyLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9nbGFzcy9saW51 eC9saWJnbGFzc2d0azIuc28iKQogICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLWNj LWZsYWdzCiAgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjYy1mbGFncwotICAgICAgICAgICAg ICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ3RrKy0yLjAgZ3RocmVhZC0yLjAg eHRzdCkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBn dGsrLTIuMCB4dHN0KSIKICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBYWDogR1RpbWVWYWwg aGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBHTElCIHNpbmNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgdmVyc2lvbiAyLjYyLiBHVGltZVZhbCBzIG5vdCB5ZWFyLTIwMzgtc2FmZS4gR3RrCiAg ICAgICAgICAgICAgICAgICAgICAgICAgOzsgMi4yNCB1c2VzIEdUaW1lVmFsIHNvIG91ciBidWls ZCBpcyBhbHNvIGZhaWxpbmcuCkBAIC0zMDExLDIxICszMDE2LDcgQEAgKGNsYXNzIChtYXRjaDpz dWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICItV25vLWNhc3QtZnVuY3Rpb24tdHlwZSIKICAgICAgICAgICAgICAgICAgICAgICAgICApKQog ICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLWxpbmstZmxhZ3MKLSAgICAgICAgICAg ICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAiJChw a2ctY29uZmlnIC0tbGlicyBndGsrLTIuMCBndGhyZWFkLTIuMCB4dHN0KSIpKQotICAgICAgICAg ICAgICAgICAgICAgIDs7IGdsYXNzLWd0azMKLSAgICAgICAgICAgICAgICAgICAgICAoZ3RrMyAo YXNzb2MtcmVmIGlucHV0cyAiZ3RrMyIpKQotICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1n dGszLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4 L2dsYXNzZ3RrMyIpCi0gICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWd0azMtbmF0aXZlLXNy YyAoZGlybmFtZSBnbGFzcy1uYXRpdmUtc3JjKSkKLSAgICAgICAgICAgICAgICAgICAgICAoZ2xh c3MtZ3RrMy1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGlu dXgvbGliZ2xhc3NndGszLnNvIikKLSAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMy1j Yy1mbGFncwotICAgICAgICAgICAgICAgICAgICAgICBgKCxAY2MtZmxhZ3MKLSAgICAgICAgICAg ICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGd0aystMy4wIGd0aHJlYWQtMi4w IHh0c3QpIgotICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLWRlcHJlY2F0ZWQtZGVjbGFy YXRpb25zIiAiLVdlcnJvciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1jYXN0LWZ1 bmN0aW9uLXR5cGUiCi0gICAgICAgICAgICAgICAgICAgICAgICAgKSkKLSAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtZ3RrMy1saW5rLWZsYWdzCi0gICAgICAgICAgICAgICAgICAgICAgIGAo LEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIGd0aystMy4wIGd0aHJlYWQtMi4wIHh0 c3QpIikpKQorICAgICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1mbGFncyAiJChwa2ctY29u ZmlnIC0tbGlicyBndGsrLTIuMCB4dHN0KSIpKSkKICAgICAgICAgICAgICAgICAgOzsgZ2xhc3MK ICAgICAgICAgICAgICAgICAgKG1rZGlyLXAgZ2xhc3MtZ2VuLWhlYWRlcnMpCiAgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgpAQCAtMzAzOCwxNCArMzAyOSwxNiBAQCAoY2xh c3MgKG1hdGNoOnN1ZmZpeCAocmVnZXhwLWV4ZWMgcnggY2xhc3MpKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ICJjb20uc3Vu LmdsYXNzLnVpIiBjbGFzcykpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQogICAgICAgICAgICAgICAgICAobWtk aXItcCBnbGFzcy1uYXRpdmUtb2JqKQotICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAi LWMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImdjYyIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWNjLWZsYWdzCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZ2xhc3MtZ2VuLWhlYWRl cnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoZGlybmFt ZSBnbGFzcy1uYXRpdmUtc3JjKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItbyIgLChzdHJpbmctYXBwZW5kIGdsYXNzLW5hdGl2ZS1vYmogIi8iCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2Vu YW1lIGdsYXNzLW5hdGl2ZS1zcmMgIi5jIikgIi5vYmoiKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxnbGFzcy1uYXRpdmUtc3JjKSkpCisgICAgICAgICAgICAgICAg IChmb3ItZWFjaCAobGFtYmRhIChjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW52 b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZ2xhc3MtZ2VuLWhlYWRlcnMKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxnbGFz cy1uYXRpdmUtc3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtbmF0aXZlLW9iaiAiLyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYmFzZW5hbWUgYyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGMpKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZmluZC1maWxlcyBnbGFzcy1uYXRpdmUtc3JjICJcXC5jJCIpKQogICAgICAg ICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBnbGFzcy1uYXRpdmUtbGliKSkKICAgICAgICAg ICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgogICAgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmctam9pbiBgKCJnKysiCkBAIC0zMDY4LDI0ICszMDYxLDcgQEAgKGNsYXNzIChtYXRjaDpz dWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmctam9pbiBgKCJnKysiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEBnbGFzcy1ndGsyLWxpbmstZmxhZ3MKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLW8iICxnbGFzcy1ndGsyLW5hdGl2ZS1saWIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIGdsYXNzLWd0azItbmF0aXZl LW9iaiAiXFwub2JqJCIpKSkpCi0gICAgICAgICAgICAgICAgIDs7IGd0azMKLSAgICAgICAgICAg ICAgICAgKG1rZGlyLXAgZ2xhc3MtZ3RrMy1uYXRpdmUtb2JqKQotICAgICAgICAgICAgICAgICAo Zm9yLWVhY2ggKGxhbWJkYSAoY3BwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW52 b2tlICJiYXNoIiAiLWMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1qb2luIGAoImdjYyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQGdsYXNzLWd0azMtY2MtZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxnbGFzcy1nZW4taGVhZGVycwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIg LChzdHJpbmctYXBwZW5kIGdsYXNzLWd0azMtbmF0aXZlLW9iaiAiLyIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoYmFzZW5hbWUgY3BwICIuY3BwIikgIi5vYmoiKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxjcHApKSkpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAoZmluZC1maWxlcyBnbGFzcy1ndGszLW5hdGl2ZS1zcmMgIlxcLmNwcCQiKSkKLSAg ICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgZ2xhc3MtZ3RrMy1uYXRpdmUtbGliKSkK LSAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgotICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctam9pbiBgKCJnKysiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEBnbGFzcy1ndGszLWxpbmstZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLW8iICxnbGFzcy1ndGszLW5hdGl2ZS1saWIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIGdsYXNzLWd0azMt bmF0aXZlLW9iaiAiXFwub2JqJCIpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKGZpbmQtZmlsZXMgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICJcXC5vYmokIikp KSkpCiAgICAgICAgICAgICAgICAjdCkpCiAKICAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGls ZS1saW51eC1nbGFzcy1saWIgICdjb21waWxlLWxpbnV4LWlpbwpAQCAtMzEwMSw3ICszMDc3LDcg QEAgKGNsYXNzIChtYXRjaDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpk ayAiL2luY2x1ZGUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgKGlpby1jYy1mbGFncyBjYy1mbGFncykKLSAgICAgICAgICAgICAgICAgICAgICAo aWlvLWxpbmstZmxhZ3MgbGluay1mbGFncykpCisgICAgICAgICAgICAgICAgICAgICAgKGlpby1s aW5rLWZsYWdzIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIGxpYmpwZWcpIikp KQogICAgICAgICAgICAgICAgICAobWtkaXItcCBpaW8tZ2VuLWhlYWRlcnMpCiAgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgogICAgICAgICAgICAgICAgICAgICAgICAgIi1k IiBpaW8tZ2VuLWhlYWRlcnMKQEAgLTMxNjAsNyArMzEzNiw3IEBAIChjbGFzcyAobWF0Y2g6c3Vm Zml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwoc3RyaW5nLWFwcGVuZCBwcmlzbS1uYXRp dmUtb2JqICIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjICIuYyIpICIub2JqIikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsYykpKSkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIHByaXNtLW5hdGl2ZS1vYmog IlxcLmMkIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyBwcmlzbS1u YXRpdmUtc3JjICJcXC5jJCIpKQogICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBw cmlzbS1uYXRpdmUtbGliKSkKICAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgog ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnKysiCkBAIC0zMTgzLDE0 ICszMTU5LDE0IEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykp KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5n LWFwcGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQogICAgICAgICAgICAgICAgICAgICAgIChw cmlzbS1lczItY2MtZmxhZ3MgYCgiLURMSU5VWCIgLEBjYy1mbGFncykpCiAgICAgICAgICAgICAg ICAgICAgICAgKHByaXNtLWVzMi1saW5rLWZsYWdzCi0gICAgICAgICAgICAgICAgICAgICAgIGAo LEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIHgxMSB4eGY4NnZtIGdsKSIpKQorICAg ICAgICAgICAgICAgICAgICAgICBgKCxAbGluay1mbGFncyAiJChwa2ctY29uZmlnIC0tbGlicyB4 MTEgeHhmODZ2bSBnbCBmb250Y29uZmlnKSIpKQogICAgICAgICAgICAgICAgICAgICAgIDs7IFdl IG5lZWQgYWxsICouYyBmaWxlcyBpbiB0aGUgcm9vdCBhbmQgb25seSB0aG9zZQogICAgICAgICAg ICAgICAgICAgICAgIDs7IHdoaWNoIGFyZSBpbiBhIHNwZWNpZmljIGRpcmVjdG9yaWVzLgogICAg ICAgICAgICAgICAgICAgICAgIChmaWx0ZXItc3JjCiAgICAgICAgICAgICAgICAgICAgICAgIChs YW1iZGEgKGFicyBfKQotICAgICAgICAgICAgICAgICAgICAgICAgIChvciAocmVnZXhwLWV4ZWMg KG1ha2UtcmVnZXhwIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICJbXi9dKlxc LmMkIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChyZWdleHAtZXhlYyAobWFrZS1y ZWdleHAgKHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi9bWzphbG51bTpdXStc XC5jJCIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhwLWV4ZWMgKG1ha2UtcmVnZXhwIChz dHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIoeDExL3xHTC8pIikpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChyZWdleHAtZXhlYyAobWFrZS1yZWdleHAgKHN0cmluZy1h cHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi8oeDExL3xHTC8pLipcXC5jJCIpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzKSkpKSkKICAgICAgICAgICAg ICAgICAgKG1rZGlyLXAgcHJpc20tZXMyLWdlbi1oZWFkZXJzKQogICAgICAgICAgICAgICAgICAo YXBwbHkgaW52b2tlICJqYXZhaCIKQEAgLTMyMDIsNyArMzE3OCw2IEBAIChjbGFzcyAobWF0Y2g6 c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAgICAgICAgICAgICAgICAgKG1rZGly LXAgcHJpc20tZXMyLW5hdGl2ZS1vYmopCiAgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFt YmRhIChjKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJnY2Mi Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGdsYXNzLW5hdGl2ZS1z cmMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgcHJpc20tZXMyLWdl bi1oZWFkZXJzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIHByaXNt LWVzMi1uYXRpdmUtc3JjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUki IChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIvR0wiKQpAQCAtMzI1OCw3ICsz MjMzLDcgQEAgKGNsYXNzIChtYXRjaDpzdWZmaXggKHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQog CiAgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbGludXgtcHJpc20tc3cgJ2luc3RhbGwt bmF0aXZlCiAgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhl ci1rZXlzKQotICAgICAgICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2Mt cmVmIG91dHB1dHMgIm91dCIpICIvbGliIikpKQorICAgICAgICAgICAgICAgKGxldCAoKGxpYiAo c3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpICIvc2hhcmUvYW1kNjQiKSkp CiAgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmaW5kLWZpbGVzICIuIiAiXFwuc28kIikpCkBAIC0zMjY3LDI1ICszMjQy LDU0IEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhlYyByeCBjbGFzcykpKSkKICAg ICAgICAgICAgKGFkZC1hZnRlciAnaW5zdGFsbC1uYXRpdmUgJ2J1aWxkLWphcgogICAgICAgICAg ICAgIChsYW1iZGEgXwogICAgICAgICAgICAgICAgKGxldCogKChtb2R1bGUgKHN0cmluZy1hcHBl bmQgIm1vZHVsZXMvZ3JhcGhpY3MiKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhIChz dHJpbmctYXBwZW5kIG1vZHVsZSAiL2J1aWxkL2NsYXNzZXMvanNsLWRlY29yYSIpKQorICAgICAg ICAgICAgICAgICAgICAgIChwcmlzbSAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9idWlsZC9jbGFz c2VzL2pzbC1wcmlzbSIpKQogICAgICAgICAgICAgICAgICAgICAgIChyZXNvdXJjZXMgKHN0cmlu Zy1hcHBlbmQgbW9kdWxlICIvc3JjL21haW4vcmVzb3VyY2VzIikpCiAgICAgICAgICAgICAgICAg ICAgICAgKGNsYXNzZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvY2xhc3Nlcy9qYXZh L21haW4iKSkpCisgICAgICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5IGRlY29yYSBjbGFz c2VzKQorICAgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSBwcmlzbSBjbGFzc2VzKQog ICAgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSByZXNvdXJjZXMgY2xhc3NlcykKIAog ICAgICAgICAgICAgICAgICAoaW52b2tlICJhbnQiICJqYXIiIChzdHJpbmctYXBwZW5kICItRGNs YXNzZXMuZGlyPSIgY2xhc3NlcykpKQotICAgICAgICAgICAgICAgI3QpKSkpKSkKKyAgICAgICAg ICAgICAgICN0KSkKKworICAgICAgICAgICAoYWRkLWJlZm9yZSAnY2hlY2sgJ2NvcHktY2xhc3Nl cworICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5 ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIiAiYnVpbGQvY2xhc3Nl cyIpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJidWlsZC54bWwiCisgICAgICAgICAgICAg ICAoKCI8anVuaXQuKmhhbHRvbmZhaWx1cmU9XCJ5ZXNcIj4iIGFsbCkKKyAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICBhbGwKKyAgICAgICAgICAgICAgICAg IjxzeXNwcm9wZXJ0eSBrZXk9XCJqYXZhLmxpYnJhcnkucGF0aFwiIHZhbHVlPVwiIgorICAgICAg ICAgICAgICAgICAoc3RyaW5nLWpvaW4gJygibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL3By aXNtL2xpbnV4LyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvbGlicy9mb250L2xpbnV4LyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9mb250RnJlZXR5cGUvbGludXgvIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9s aWJzL2ZvbnRQYW5nby9saW51eC8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJt b2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvaWlvL2xpbnV4LyIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiOiIpCisgICAgICAgICAgICAgICAgICAiXCIvPiIKKyAgICAgICAgICAg ICAgICAgIjxzeXNwcm9wZXJ0eSBrZXk9XCJqYXZhZngudG9vbGtpdFwiIHZhbHVlPVwiY29tLnN1 bi5qYXZhZngucGdzdHViLlN0dWJUb29sa2l0XCIvPiIpKSkKKyAgICAgICAgICAgICAjdCkpKSkp KQogICAgIChuYXRpdmUtaW5wdXRzCisgICAgIGAoKCJhbnRscjMiICxhbnRscjMpCisgICAgICAg KCJqYXZhLXN0cmluZ3RlbXBsYXRlIiAsamF2YS1zdHJpbmd0ZW1wbGF0ZSkKKyAgICAgICAoImdj YyIgLGdjYykKKyAgICAgICAoImpkayIgLGljZWR0ZWEtOCAiamRrIikKKyAgICAgICAoInBrZy1j b25maWciICxwa2ctY29uZmlnKQorICAgICAgICgiamF2YS1qdW5pdCIgLGphdmEtanVuaXQpKSkK KyAgICAoaW5wdXRzCiAgICAgIGAoKCJmcmVldHlwZSIgLGZyZWV0eXBlKQogICAgICAgICgiZm9u dGNvbmZpZyIgLGZvbnRjb25maWcpCi0gICAgICAgKCJnY2MiICxnY2MpCiAgICAgICAgKCJnbGli IiAsZ2xpYikKICAgICAgICAoInpsaWIiICx6bGliKQogICAgICAgICgiZ3RrIiAsZ3RrKy0yKQot ICAgICAgICgiZ3RrMyIgLGd0ayspCiAgICAgICAgKCJqcGVnIiAsbGlianBlZy10dXJibykKICAg ICAgICAoImxpYnh0c3QiICxsaWJ4dHN0KQorICAgICAgICgibWVzYSIgLG1lc2EpCiAgICAgICAg KCJwYW5nbyIgLHBhbmdvKQogICAgICAgICgibGlicG5nIiAsbGlicG5nKQotICAgICAgICgicGtn LWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAgICAoInh4Zjg2dm0iICxsaWJ4eGY4NnZtKQor ICAgICAgICgieDExIiAsbGlieDExKSkpCiAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCiAgICAgIGAo KCJqYXZhLW9wZW5qZngtYmFzZSIgLGphdmEtb3BlbmpmeC1iYXNlKQogICAgICAgICgiamF2YS1z d3QiICxqYXZhLXN3dCkpKSkpCkBAIC0zMjk2LDEwICszMzAwLDIxIEBAIChkZWZpbmUtcHVibGlj IGphdmEtb3BlbmpmeC1zd2luZwogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJq YXZhLW9wZW5qZngtc3dpbmcuamFyIgogICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9zd2lu Zy9zcmMvbWFpbi9qYXZhIgotICAgICAgICM6dGVzdHM/ICNmKSkKLSAgICAoaW5wdXRzCi0gICAg IGAoKCJhbnRscjMiICxhbnRscjMpCi0gICAgICAgKCJqYXZhLXN0cmluZ3RlbXBsYXRlIiAsamF2 YS1zdHJpbmd0ZW1wbGF0ZSkpKQorICAgICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvc3dpbmcvc3Jj L3Rlc3QiCisgICAgICAgIzp0ZXN0LWluY2x1ZGUgKGxpc3QgIioqLypUZXN0LioiKQorICAgICAg ICM6bW9kdWxlcyAoKGd1aXggYnVpbGQgYW50LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAg ICAgIChndWl4IGJ1aWxkIHV0aWxzKQorICAgICAgICAgICAgICAgICAgKGljZS05IHJlZ2V4KSkK KyAgICAgICAjOnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMK KyAgICAgICAgIChhZGQtYmVmb3JlICdjaGVjayAneC10ZXN0LXNldHVwCisgICAgICAgICAgIChs YW1iZGEgXworICAgICAgICAgICAgIChzeXN0ZW0gIlh2ZmIgOjMzICYiKQorICAgICAgICAgICAg IChzZXRlbnYgIkRJU1BMQVkiICI6MzMiKQorICAgICAgICAgICAgICN0KSkpKSkKKyAgICAobmF0 aXZlLWlucHV0cworICAgICBgKCgiamF2YS1qdW5pdCIgLGphdmEtanVuaXQpCisgICAgICAgKCJ4 b3JnLXNlcnZlciIgLHhvcmctc2VydmVyLWZvci10ZXN0cykpKQogICAgIChwcm9wYWdhdGVkLWlu cHV0cwogICAgICBgKCgiamF2YS1vcGVuamZ4LWdyYXBoaWNzIiAsamF2YS1vcGVuamZ4LWdyYXBo aWNzKSkpKSkKIApAQCAtMzMwOSw2ICszMzI0LDcgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVu amZ4LXN3dAogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZngt c3d0LmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvc3d0L3NyYy9tYWluL2phdmEi CisgICAgICAgOzsgbm8gdGVzdHMgYXZhaWxhYmxlIGluIHNyYwogICAgICAgICM6dGVzdHM/ICNm KSkKICAgICAoaW5wdXRzCiAgICAgIGAoKCJhbnRscjMiICxhbnRscjMpCkBAIC0zMzIyLDI1ICsz MzM4LDI1NSBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtY29udHJvbHMKICAgICAoYXJn dW1lbnRzCiAgICAgIGAoIzpqYXItbmFtZSAiamF2YS1vcGVuamZ4LWNvbnRyb2xzLmphciIKICAg ICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvY29udHJvbHMvc3JjL21haW4vamF2YSIKLSAgICAg ICAjOnRlc3RzPyAjZgotICAgICAgICM6cGhhc2VzCi0gICAgICAgKG1vZGlmeS1waGFzZXMgJXN0 YW5kYXJkLXBoYXNlcwotICAgICAgICAgKGFkZC1iZWZvcmUgJ2J1aWxkICdjb3B5LXJlc291cmNl cworICAgICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvY29udHJvbHMvc3JjL3Rlc3QiCisgICAgICAg Izp0ZXN0LWluY2x1ZGUgKGxpc3QgIioqLypUZXN0LioiKQorICAgICAgICM6bW9kdWxlcyAoKGd1 aXggYnVpbGQgYW50LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxk IHV0aWxzKQorICAgICAgICAgICAgICAgICAgKGljZS05IHJlZ2V4KSkKKyAgICAgICAjOnBoYXNl cworICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAgIChhZGQt YWZ0ZXIgJ3VucGFjayAnY29weS1yZXNvdXJjZXMKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAg ICAgICAgICAgOzsgY29weSB0ZXN0IHN1cHBvcnQgZmlsZXMgKGJ1dCBub3QgdGhlIGFjdHVhbCB0 ZXN0cyB0aGVtc2VsdmVzKQorICAgICAgICAgICAgIDs7IGZyb20gb3RoZXIgbW9kdWxlcworICAg ICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL2dyYXBoaWNzL3NyYy90ZXN0L2ph dmEvY29tL3N1bi9qYXZhZngvcGdzdHViIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvY29tL3N1bi9qYXZhZngvcGdzdHViIikK KyAgICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMv Y29udHJvbHMvc3JjL3Rlc3QvamF2YS9jb20vc3VuL2phdmFmeC9wZ3N0dWIiICIuKlRlc3QuamF2 YSQiKSkKKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9iYXNlL3NyYy90 ZXN0L2phdmEvY29tL3N1bi9qYXZhZngvYmluZGluZyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAibW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2NvbS9zdW4vamF2YWZ4L2Jp bmRpbmciKQorICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZSAoZmluZC1maWxlcyAi bW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2NvbS9zdW4vamF2YWZ4L2JpbmRpbmciICIu KlRlc3QuamF2YSQiKSkKKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9i YXNlL3NyYy90ZXN0L2phdmEvamF2YWZ4L2JlYW5zIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvamF2YWZ4L2JlYW5zIikKKyAg ICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMvY29u dHJvbHMvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmVhbnMiICIuKlRlc3QuamF2YSQiKSkKKyAgICAg ICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9iYXNlL3NyYy90ZXN0L2phdmEvamF2 YWZ4L2NvbGxlY3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1bGVz L2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvamF2YWZ4L2NvbGxlY3Rpb25zIikKKyAgICAgICAgICAg ICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMvY29udHJvbHMvc3Jj L3Rlc3QvamF2YS9qYXZhZngvY29sbGVjdGlvbnMiICIuKlRlc3QuamF2YSQiKSkKKyAgICAgICAg ICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9iYXNlL3NyYy90ZXN0L2phdmEvamF2YWZ4 L2JpbmRpbmciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMvY29udHJv bHMvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmluZGluZyIpCisgICAgICAgICAgICAgKGZvci1lYWNo IGRlbGV0ZS1maWxlIChmaW5kLWZpbGVzICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEv amF2YWZ4L2JpbmRpbmciICIuKlRlc3QuamF2YSQiKSkKKworICAgICAgICAgICAgIChjb3B5LXJl Y3Vyc2l2ZWx5ICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L3Jlc291cmNlcyIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiYnVpbGQvdGVzdC1jbGFzc2VzIikKKyAgICAgICAgICAg ICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy9jb250cm9scy9zcmMvbWFpbi9yZXNvdXJjZXMi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1aWxkL2NsYXNzZXMiKSkpCisKKyAg ICAgICAgIChhZGQtYmVmb3JlICdjaGVjayAndG9vbGtpdAogICAgICAgICAgICAobGFtYmRhIF8K LSAgICAgICAgICAgICAobGV0ICgocmVzb3VyY2VzIChzdHJpbmctYXBwZW5kIChnZXRjd2QpICIv bW9kdWxlcy9jb250cm9scy9zcmMvbWFpbi9yZXNvdXJjZXMiKSkpCi0gICAgICAgICAgICAgICAo Y29weS1yZWN1cnNpdmVseSByZXNvdXJjZXMgImJ1aWxkL2NsYXNzZXMiKSkgI3QpKSkpKQorICAg ICAgICAgICAgIChzdWJzdGl0dXRlKiAiYnVpbGQueG1sIgorICAgICAgICAgICAgICAgKCgiPGp1 bml0LipoYWx0b25mYWlsdXJlPVwieWVzXCI+IiBhbGwpCisgICAgICAgICAgICAgICAgKHN0cmlu Zy1hcHBlbmQgYWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzeXNwcm9wZXJ0 eSBrZXk9XCJqYXZhZngudG9vbGtpdFwiIHZhbHVlPVwiY29tLnN1bi5qYXZhZngucGdzdHViLlN0 dWJUb29sa2l0XCIvPiIpKSkKKyAgICAgICAgICAgICAjdCkpKSkpCiAgICAgKHByb3BhZ2F0ZWQt aW5wdXRzCi0gICAgIGAoKCJqYXZhLW9wZW5qZngtZ3JhcGhpY3MiICxqYXZhLW9wZW5qZngtZ3Jh cGhpY3MpKSkpKQorICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNzIiAsamF2YS1vcGVuamZ4 LWdyYXBoaWNzKSkpKSkKIAogKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LW1lZGlhCiAgIChw YWNrYWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKICAgICAobmFtZSAiamF2YS1vcGVu amZ4LW1lZGlhIikKKyAgICAobmF0aXZlLWlucHV0cworICAgICBgKCgiZ2NjIiAsZ2NjKQorICAg ICAgICgiamRrIiAsaWNlZHRlYS04ICJqZGsiKQorICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1j b25maWcpKSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJ4eiIgLHh6KSA7OyB3b3JrYXJvdW5kIGZv ciBnc3RyZWFtZXIncyBlbGZ1dGlscyBidWcjNTU3OTMuCisgICAgICAgKCJnc3RyZWFtZXIiICxn c3RyZWFtZXIpCisgICAgICAgKCJnc3QtcGx1Z2lucy1iYXNlIiAsZ3N0LXBsdWdpbnMtYmFzZSkp KQogICAgIChwcm9wYWdhdGVkLWlucHV0cwotICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNz IiAsamF2YS1vcGVuamZ4LWdyYXBoaWNzKSkpCisgICAgIGAoKCJqYXZhLW9wZW5qZngtZ3JhcGhp Y3MiICxqYXZhLW9wZW5qZngtZ3JhcGhpY3MpKSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpq YXItbmFtZSAiamF2YS1vcGVuamZ4LW1lZGlhLmphciIKLSAgICAgICAjOnNvdXJjZS1kaXIgIm1v ZHVsZXMvbWVkaWEvc3JjL21haW4vamF2YSIKLSAgICAgICAjOnRlc3RzPyAjZikpOyBubyB0ZXN0 cworICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9tZWRpYS9zcmMvbWFpbi9qYXZhOm1vZHVs ZXMvbWVkaWEvc3JjL3Rvb2xzL2phdmEiCisgICAgICAgOzsgbm8gdGVzdHMgYXZhaWxhYmxlIGlu IHNyYworICAgICAgICM6dGVzdHM/ICNmCisgICAgICAgIzptb2R1bGVzICgoaWNlLTkgbWF0Y2gp CisgICAgICAgICAgICAgICAgICAoaWNlLTkgcmVnZXgpCisgICAgICAgICAgICAgICAgICAoZ3Vp eCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAgKGd1aXggYnVpbGQg dXRpbHMpKQorICAgICAgICM6cGhhc2VzCisgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcworICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCisgICAgICAgICAgIChsYW1iZGEqICgj OmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0ICgobGli IChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliL2xpYmpmeG1lZGlhLnNvIikpKQorICAgICAg ICAgICAgICAgOzsgTG9hZCBqZnhtZWRpYS5zbyBsaWJyYXJ5IGRpcmVjdGx5IGZyb20gb3V0cHV0 IHBhdGguCisgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1vZHVsZXMvbWVkaWEvc3JjL21h aW4vamF2YS9jb20vc3VuL21lZGlhL2pmeG1lZGlhaW1wbC9OYXRpdmVNZWRpYU1hbmFnZXIuamF2 YSIKKyAgICAgICAgICAgICAgICAgKCgocmVnZXhwLXF1b3RlICJOYXRpdmVMaWJMb2FkZXIubG9h ZExpYnJhcnkoXCJqZnhtZWRpYVwiKTsiKSkKKyAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kCisgICAgICAgICAgICAgICAgICAgIlN5c3RlbS5sb2FkKFwiIgorICAgICAgICAgICAgICAg ICAgIGxpYgorICAgICAgICAgICAgICAgICAgICJcIik7IikpKSkKKyAgICAgICAgICAgICAoaW52 b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVzL21lZGlhL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAjdCkpCisKKyAgICAgICAgIChhZGQtYWZ0 ZXIgJ2J1aWxkICdnZW5lcmF0ZS1oZWFkZXJzCisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBp bnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAi bW9kdWxlcy9tZWRpYS9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAg ICAgIChtZWRpYS1nZW5lcmF0ZWQtaGVhZGVycyAibW9kdWxlcy9tZWRpYS9idWlsZC9nZW5lcmF0 ZWQtc3JjL2hlYWRlcnMiKQorICAgICAgICAgICAgICAgICAgICAobWVkaWEtZ2VuZXJhdGVkLWNs YXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICcoImNvbS5zdW4ubWVkaWEuamZ4bWVkaWEubG9n Z2luZy5Mb2dnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLm1lZGlhLmpmeG1l ZGlhLnRyYWNrLkF1ZGlvVHJhY2siCisgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLm1l ZGlhLmpmeG1lZGlhLmNvbnRyb2wuVmlkZW9EYXRhQnVmZmVyIgorICAgICAgICAgICAgICAgICAg ICAgICAiY29tLnN1bi5tZWRpYS5qZnhtZWRpYS5jb250cm9sLlZpZGVvRm9ybWF0JEZvcm1hdFR5 cGVzIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5tZWRpYS5qZnhtZWRpYWltcGwu TmF0aXZlQXVkaW9DbGlwIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5tZWRpYS5q ZnhtZWRpYWltcGwuTmF0aXZlTWVkaWFQbGF5ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICJj b20uc3VuLm1lZGlhLmpmeG1lZGlhaW1wbC5OYXRpdmVWaWRlb0J1ZmZlciIKKyAgICAgICAgICAg ICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLnBsYXRmb3JtLmdzdHJlYW1l ci5HU1RQbGF0Zm9ybSIKKyAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4 bWVkaWFpbXBsLnBsYXRmb3JtLmdzdHJlYW1lci5HU1RNZWRpYSIKKyAgICAgICAgICAgICAgICAg ICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLnBsYXRmb3JtLmdzdHJlYW1lci5HU1RN ZWRpYVBsYXllciIKKyAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVk aWFpbXBsLk5hdGl2ZUF1ZGlvRXF1YWxpemVyIgorICAgICAgICAgICAgICAgICAgICAgICAiY29t LnN1bi5tZWRpYS5qZnhtZWRpYWltcGwuTmF0aXZlRXF1YWxpemVyQmFuZCIKKyAgICAgICAgICAg ICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLk5hdGl2ZUF1ZGlvU3BlY3Ry dW0iKSkKKyAgICAgICAgICAgICAgICAgICAgKGdyYXBoaWNzIChhc3NvYy1yZWYgaW5wdXRzICJq YXZhLW9wZW5qZngtZ3JhcGhpY3MiKSkpCisgICAgICAgICAgICAgICAobWtkaXItcCBtZWRpYS1n ZW5lcmF0ZWQtaGVhZGVycykKKyAgICAgICAgICAgICAgIChpbnZva2UgImphdmEiCisgICAgICAg ICAgICAgICAgICAgICAgICItRGphdmEuZXh0LmRpcnM9IgorICAgICAgICAgICAgICAgICAgICAg ICAiLWNsYXNzcGF0aCIgY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAiaGVhZGVyZ2Vu LkhlYWRlckdlbiIKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgbWVkaWEt Z2VuZXJhdGVkLWhlYWRlcnMgIi8iICJqZnhtZWRpYV9lcnJvcnMuaCIpCisgICAgICAgICAgICAg ICAgICAgICAgIGNsYXNzZXMpCisgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlCisgICAgICAg ICAgICAgICAgICAgICAgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICItRGphdmEuZXh0 LmRpcnM9IgorICAgICAgICAgICAgICAgICAgICAgICItWERpZ25vcmUuc3ltYm9sLmZpbGUiCisg ICAgICAgICAgICAgICAgICAgICAgIi1YRHVzZVVuc2hhcmVkVGFibGU9dHJ1ZSIKKyAgICAgICAg ICAgICAgICAgICAgICAiLWQiIG1lZGlhLWdlbmVyYXRlZC1oZWFkZXJzCisgICAgICAgICAgICAg ICAgICAgICAgIi1jcCIgKHN0cmluZy1qb2luIChjb25zKiBjbGFzc2VzIChmaW5kLWZpbGVzIGdy YXBoaWNzICJcXC5qYXIkIikpICI6IikKKyAgICAgICAgICAgICAgICAgICAgICBtZWRpYS1nZW5l cmF0ZWQtY2xhc3NlcykpCisgICAgICAgICAgICAgI3QpKQorCisgICAgICAgICAoYWRkLWFmdGVy ICdnZW5lcmF0ZS1oZWFkZXJzICdtZWRpYS1uYXRpdmUtbGliCisgICAgICAgICAgICAgKGxhbWJk YSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0 KiAoKGNsYXNzZXMgIm1vZHVsZXMvbWVkaWEvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAg ICAgICAgICAgICAgICAgICAgIChtZWRpYS1nZW4taGVhZGVycyAibW9kdWxlcy9tZWRpYS9idWls ZC9nZW5lcmF0ZWQtc3JjL2hlYWRlcnMiKQorICAgICAgICAgICAgICAgICAgICAgIChtZWRpYS1n ZW4tc3JjICJtb2R1bGVzL21lZGlhL2J1aWxkL2dlbmVyYXRlZC1zcmMiKQorICAgICAgICAgICAg ICAgICAgICAgIChtZWRpYS1uYXRpdmUtbGliICJtb2R1bGVzL21lZGlhL2J1aWxkL2xpYnMvbGlu dXgvbGliamZ4bWVkaWEuc28iKQorICAgICAgICAgICAgICAgICAgICAgIChtZWRpYS1uYXRpdmUt b2JqICJtb2R1bGVzL21lZGlhL2J1aWxkL25hdGl2ZS9saW51eCIpCisgICAgICAgICAgICAgICAg ICAgICAgOzsgcmVmOiBtb2R1bGVzL21lZGlhL3NyYy9tYWluL25hdGl2ZS9qZnhtZWRpYS9wcm9q ZWN0cy9saW51eC9NYWtlZmlsZQorICAgICAgICAgICAgICAgICAgICAgIChtZWRpYS1uYXRpdmUt c3JjICJtb2R1bGVzL21lZGlhL3NyYy9tYWluL25hdGl2ZS9qZnhtZWRpYSIpCisgICAgICAgICAg ICAgICAgICAgICAgKG1lZGlhLW5hdGl2ZS1zcmMtZmlsZXMKKyAgICAgICAgICAgICAgICAgICAg ICAgJygiam5pL2NvbV9zdW5fbWVkaWFfamZ4bWVkaWFfbG9nZ2luZ19Mb2dnZXIuY3BwIgorICAg ICAgICAgICAgICAgICAgICAgICAgICJqbmkvSmF2YUJhbmRzSG9sZGVyLmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiam5pL0phdmFNZWRpYVdhcm5pbmdMaXN0ZW5lci5jcHAiCisgICAg ICAgICAgICAgICAgICAgICAgICAgImpuaS9KYXZhUGxheWVyRXZlbnREaXNwYXRjaGVyLmNwcCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAiam5pL0puaVV0aWxzLmNwcCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiam5pL0xvZ2dlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAg ImpuaS9OYXRpdmVWaWRlb0J1ZmZlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImpu aS9OYXRpdmVBdWRpb0VxdWFsaXplci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImpu aS9OYXRpdmVBdWRpb1NwZWN0cnVtLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiam5p L05hdGl2ZUVxdWFsaXplckJhbmQuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJqbmkv SmF2YUlucHV0U3RyZWFtQ2FsbGJhY2tzLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAi UGlwZWxpbmVNYW5hZ2VtZW50L0F1ZGlvVHJhY2suY3BwIgorICAgICAgICAgICAgICAgICAgICAg ICAgICJQaXBlbGluZU1hbmFnZW1lbnQvUGlwZWxpbmUuY3BwIgorICAgICAgICAgICAgICAgICAg ICAgICAgICJQaXBlbGluZU1hbmFnZW1lbnQvUGlwZWxpbmVGYWN0b3J5LmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiUGlwZWxpbmVNYW5hZ2VtZW50L1RyYWNrLmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiUGlwZWxpbmVNYW5hZ2VtZW50L1ZpZGVvRnJhbWUuY3BwIgorICAg ICAgICAgICAgICAgICAgICAgICAgICJQaXBlbGluZU1hbmFnZW1lbnQvVmlkZW9UcmFjay5jcHAi CisgICAgICAgICAgICAgICAgICAgICAgICAgIlBpcGVsaW5lTWFuYWdlbWVudC9TdWJ0aXRsZVRy YWNrLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWFNYW5hZ2VtZW50L01lZGlh LmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWFNYW5hZ2VtZW50L01lZGlhTWFu YWdlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2F0b3IvTG9jYXRvci5jcHAi CisgICAgICAgICAgICAgICAgICAgICAgICAgIkxvY2F0b3IvTG9jYXRvclN0cmVhbS5jcHAiCisg ICAgICAgICAgICAgICAgICAgICAgICAgIlV0aWxzL01lZGlhV2FybmluZ0Rpc3BhdGNoZXIuY3Bw IgorICAgICAgICAgICAgICAgICAgICAgICAgICJVdGlscy9wb3NpeC9wb3NpeF9jcml0aWNhbF9z ZWN0aW9uLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1l ci9Hc3RNZWRpYS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJl YW1lci9Hc3RNZWRpYVBsYXllci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRm b3JtL2dzdHJlYW1lci9Hc3RQbGF0Zm9ybS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAg InBsYXRmb3JtL2dzdHJlYW1lci9Hc3RBdWRpb0VxdWFsaXplci5jcHAiCisgICAgICAgICAgICAg ICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RBdWRpb1BsYXliYWNrUGlwZWxpbmUu Y3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0QXVk aW9TcGVjdHJ1bS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJl YW1lci9Hc3RBVlBsYXliYWNrUGlwZWxpbmUuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAg ICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0RWxlbWVudENvbnRhaW5lci5jcHAiCisgICAgICAgICAg ICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RKbmlVdGlscy5jcHAiCisgICAg ICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RNZWRpYU1hbmFnZXIu Y3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0UGlw ZWxpbmVGYWN0b3J5LmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0 cmVhbWVyL0dzdFZpZGVvRnJhbWUuY3BwIikpCisgICAgICAgICAgICAgICAgICAgICAgKG1lZGlh LW5hdGl2ZS1zcmMtYyAiVXRpbHMvQ29sb3JDb252ZXJ0ZXIuYyIpCisgICAgICAgICAgICAgICAg ICAgICAgKG1lZGlhLXNyYyAibW9kdWxlcy9tZWRpYS9zcmMvbWFpbiIpCisgICAgICAgICAgICAg ICAgICAgICAgKG1lZGlhLWNsYXNzZXMgIm1vZHVsZXMvbWVkaWEvYnVpbGQvY2xhc3NlcyIpCisg ICAgICAgICAgICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAg ICAgICAgICAgICAgICAgICAgKGdzdHJlYW1lciAoYXNzb2MtcmVmIGlucHV0cyAiZ3N0cmVhbWVy IikpCisgICAgICAgICAgICAgICAgICAgICAgKGxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAg ICAgICAgJygiLXB0aHJlYWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1zdGF0aWMtbGli Z2NjIiAiLXN0YXRpYy1saWJzdGRjKysiICItc2hhcmVkIgorICAgICAgICAgICAgICAgICAgICAg ICAgICIteiIgInJlbHJvIgorICAgICAgICAgICAgICAgICAgICAgICAgICItV2wsLS1nYy1zZWN0 aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGlicyBnc3Ry ZWFtZXItMS4wKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGli cyBnc3RyZWFtZXItcGx1Z2lucy1iYXNlLTEuMCkiCisgICAgICAgICAgICAgICAgICAgICAgICAg IiQocGtnLWNvbmZpZyAtLWxpYnMgZ3N0cmVhbWVyLWFwcC0xLjApIikpCisgICAgICAgICAgICAg ICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoIi1wdGhyZWFkIgor ICAgICAgICAgICAgICAgICAgICAgICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIgIi1mUElDIiAi LWZuby1vbWl0LWZyYW1lLXBvaW50ZXIiIDs7IG9wdGltaXphdGlvbiBmbGFncworICAgICAgICAg ICAgICAgICAgICAgICAgICItZnN0YWNrLXByb3RlY3RvciIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAiLVciICItV2FsbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURUQVJHRVRfT1Nf TElOVVg9MSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURfR05VX1NPVVJDRSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiLURHU1RfUkVNT1ZFX0RFUFJFQ0FURUQiCisgICAgICAgICAg ICAgICAgICAgICAgICAgIi1ER1NUX0RJU0FCTEVfR1NUX0RFQlVHIgorICAgICAgICAgICAgICAg ICAgICAgICAgICItREdTVF9ESVNBQkxFX0xPQURTQVZFIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItREdTVF9ESVNBQkxFX1hNTCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURIQVZF X0NPTkZJR19IIgorICAgICAgICAgICAgICAgICAgICAgICAgICItREpGWE1FRElBX0pOSV9FWFBP UlRTIgorICAgICAgICAgICAgICAgICAgICAgICAgICItRExJTlVYIgorICAgICAgICAgICAgICAg ICAgICAgICAgICItREdfRElTQUJMRV9ERVBSRUNBVEVEIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItZmZ1bmN0aW9uLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICItZmRh dGEtc2VjdGlvbnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1mbm8tcnR0aSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGdzdHJlYW1lci0xLjAp IgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ3N0cmVh bWVyLXBsdWdpbnMtYmFzZS0xLjApIgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1j b25maWcgLS1jZmxhZ3MgZ3N0cmVhbWVyLWFwcC0xLjApIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpKQor ICAgICAgICAgICAgICAgICAobWtkaXItcCBtZWRpYS1uYXRpdmUtb2JqKQorICAgICAgICAgICAg ICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoY3BwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobGV0ICgoY3BwIChzdHJpbmctYXBwZW5kIG1lZGlhLW5hdGl2ZS1zcmMgIi8iIGNwcCkpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYCgiZysrIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLUkiICxtZWRpYS1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItSSIgLG1lZGlhLWdlbi1zcmMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxtZWRpYS1uYXRpdmUtc3JjCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBl bmQgbWVkaWEtbmF0aXZlLW9iagorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIiAoYmFzZW5hbWUgY3BwICIuY3BwIikgIi5v YmoiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MtZmxhZ3Mg KGxpc3QgY3BwKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYS1uYXRpdmUt c3JjLWZpbGVzKQorICAgICAgICAgICAgICAgICAobGV0ICgoYyAoc3RyaW5nLWFwcGVuZCBtZWRp YS1uYXRpdmUtc3JjICIvIiBtZWRpYS1uYXRpdmUtc3JjLWMpKSkKKyAgICAgICAgICAgICAgICAg ICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n LWpvaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsbWVkaWEtZ2VuLWhlYWRl cnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxtZWRpYS1nZW4tc3JjCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsbWVkaWEtbmF0aXZlLXNyYworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChzdHJpbmctYXBwZW5kIG1lZGlhLW5h dGl2ZS1vYmoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLyIgKGJhc2VuYW1lIGMgIi5jIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLm9iaiIpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjYy1mbGFncyAobGlzdCBjKSkpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRp cm5hbWUgbWVkaWEtbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2gi ICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gKGFwcGVuZAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgiZ2NjIiAiLW8iICxtZWRpYS1u YXRpdmUtbGliKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay1m bGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMg bWVkaWEtbmF0aXZlLW9iaiAiXFwub2JqJCIpKSkpKQorICAgICAgICAgICAgICAgI3QpKQorICAg ICAgICAgKGFkZC1hZnRlciAnbWVkaWEtbmF0aXZlLWxpYiAnaW5zdGFsbC1uYXRpdmUKKyAgICAg ICAgICAgKGxhbWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAg ICAgICAgIChsZXQgKChsaWIgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQi KSAiL2xpYiIpKSkKKyAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNvJCIpKQorICAgICAgICAg ICAgICAgI3QpKSkKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwtbmF0aXZlICdidWlsZC1q YXIKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGxldCogKChtb2R1bGUgKHN0 cmluZy1hcHBlbmQgIm1vZHVsZXMvbWVkaWEiKSkKKyAgICAgICAgICAgICAgICAgICAgKHJlc291 cmNlcyAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9zcmMvbWFpbi9yZXNvdXJjZXMiKSkKKyAgICAg ICAgICAgICAgICAgICAgKGNsYXNzZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvY2xh c3Nlcy9qYXZhL21haW4iKSkpCisgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSByZXNv dXJjZXMgY2xhc3NlcykKKworICAgICAgICAgICAgICAgKGludm9rZSAiYW50IiAiamFyIiAoc3Ry aW5nLWFwcGVuZCAiLURjbGFzc2VzLmRpcj0iIGNsYXNzZXMpKSkKKyAgICAgICAgICAgICAjdCkp KSkpCiAgICAgKGRlc2NyaXB0aW9uICJPcGVuSkZYIGlzIGEgY2xpZW50IGFwcGxpY2F0aW9uIHBs YXRmb3JtIGZvciBkZXNrdG9wLAogbW9iaWxlIGFuZCBlbWJlZGRlZCBzeXN0ZW1zIGJ1aWx0IG9u IEphdmEuICBJdHMgZ29hbCBpcyB0byBwcm9kdWNlIGEKIG1vZGVybiwgZWZmaWNpZW50LCBhbmQg ZnVsbHkgZmVhdHVyZWQgdG9vbGtpdCBmb3IgZGV2ZWxvcGluZyByaWNoIGNsaWVudApAQCAtMzM1 MCwxOSArMzU5NiwyOCBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtbWVkaWEKIChkZWZp bmUtcHVibGljIGphdmEtb3BlbmpmeC13ZWIKICAgKHBhY2thZ2UgKGluaGVyaXQgamF2YS1vcGVu amZ4LWJ1aWxkKQogICAgIChuYW1lICJqYXZhLW9wZW5qZngtd2ViIikKKyAgICAodmVyc2lvbiAi OC4yMDIiKQogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZngt d2ViLmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgKHN0cmluZy1qb2luICcoIm1vZHVsZXMvd2Vi L3NyYy9tYWluL2phdmEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1 bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvamF2YS9kb20z IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI7IikKLSAgICAgICAjOnRlc3Rz PyAjZgorICAgICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvd2ViL3NyYy90ZXN0IgorICAgICAgICM6 dGVzdC1pbmNsdWRlIChsaXN0ICIqKi8qVGVzdC4qIikKICAgICAgICAjOm1vZHVsZXMgKChpY2Ut OSBtYXRjaCkKKyAgICAgICAgICAgICAgICAgIChpY2UtOSByZWdleCkKICAgICAgICAgICAgICAg ICAgIChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0ZW0pCiAgICAgICAgICAgICAgICAgICAoZ3Vp eCBidWlsZCB1dGlscykpCiAgICAgICAgIzpwaGFzZXMKICAgICAgICAobW9kaWZ5LXBoYXNlcyAl c3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKLSAgICAgICAgICAgKGxh bWJkYSogXworICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVy LWtleXMpCisgICAgICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVm IG91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi L2xpYi9saWJqZnh3ZWJraXQuc28iKSkpCisgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogIm1v ZHVsZXMvd2ViL3NyYy9tYWluL2phdmEvY29tL3N1bi93ZWJraXQvV2ViUGFnZS5qYXZhIgorICAg ICAgICAgICAgICAgICAoKChyZWdleHAtcXVvdGUgIk5hdGl2ZUxpYkxvYWRlci5sb2FkTGlicmFy eShcImpmeHdlYmtpdFwiKTsiKSBhbGwpCisgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZAorICAgICAgICAgICAgICAgICAgICJTeXN0ZW0ubG9hZChcIiIgbGliICJcIik7IikpKSkKICAg ICAgICAgICAgICAoaW52b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVz L3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCiAgICAgICAgICAgICAgI3QpKQogCkBAIC0z NDE4LDYgKzM2NzMsMTIgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LXdlYgogICAgICAg ICAgICAgICAgICAgICAgIHdlYi1nZW5lcmF0ZWQtY2xhc3NlcykpCiAgICAgICAgICAgICAgI3Qp KQogCisgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NvcHktcmVzb3VyY2VzCisgICAgICAg ICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dl Yi9zcmMvdGVzdC9yZXNvdXJjZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1 aWxkL3Rlc3QtY2xhc3NlcyIpCisgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVs ZXMvd2ViL3NyYy9tYWluL3Jlc291cmNlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiYnVpbGQvY2xhc3NlcyIpKSkKICAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLWhlYWRl cnMgJ2NvbXBpbGUtbmF0aXZlLWxpbnV4CiAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1 dHMgc3lzdGVtIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQogICAgICAgICAgICAgIChsZXQq ICAoKG1vZHVsZSAoc3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKSAiL21vZHVsZXMvd2ViIikpCkBAIC0z NDY4LDEwICszNzI5LDE3IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC13ZWIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gKGxpc3QgIi1XIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLURVX0RFRklORV9G QUxTRV9BTkRfVFJVRT0xIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLVdhbGwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICItV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVdsLC0tZ2Mt c2VjdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItV25vLXBhcmVudGhlc2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiLVduby11bnVzZWQiCisKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgc2lsZW5jZSBleGNlc3NpdmUgd2FybmluZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtV25v LWV4cGFuc2lvbi10by1kZWZpbmVkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiIC1Xbm8tZGVwcmVjYXRlZC1jb3B5IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC1Xbm8tcmVkdW5kYW50LW1vdmUi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLVdu by1jbGFzcy1tZW1hY2Nlc3MiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIgLVduby11bmRlZiIKKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLWZQSUMiCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItZm5vLW9taXQtZnJhbWUtcG9pbnRlciIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mbm8tc3RyaWN0 LWFsaWFzaW5nIgpAQCAtMzQ4OCw2ICszNzU2LDM3IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3Bl bmpmeC13ZWIKICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNv JCIpKSkKICAgICAgICAgICAgICAjdCkpCiAKKyAgICAgICAgIChhZGQtYmVmb3JlICdjaGVjayAn eC10ZXN0LXNldHVwCisgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChzeXN0ZW0g Ilh2ZmIgOjMzICYiKQorICAgICAgICAgICAgIChzZXRlbnYgIkRJU1BMQVkiICI6MzMiKQorICAg ICAgICAgICAgICN0KSkKKworICAgICAgICAgKGFkZC1iZWZvcmUgJ3gtdGVzdC1zZXR1cCAnY29w eS1jbGFzc2VzCisgICAgICAgICAgIChsYW1iZGEgXworCisgICAgICAgICAgICAgKG1rZGlyLXAg InNyYy90ZXN0L3Jlc291cmNlcyIpCisgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkKKyAg ICAgICAgICAgICAgIm1vZHVsZXMvd2ViL3NyYy90ZXN0L3Jlc291cmNlcyIKKyAgICAgICAgICAg ICAgInNyYy90ZXN0L3Jlc291cmNlcyIpCisKKyAgICAgICAgICAgICAobWtkaXItcCAic3JjL21h aW4vbmF0aXZlL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjLyIpCisgICAgICAgICAgICAg KGNvcHktZmlsZSAibW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Rvb2xzL1Rlc3RXZWJLaXRB UEkvVGVzdHMvbWFjL0FoZW0udHRmIgorICAgICAgICAgICAgICAgICAgICAgICAgInNyYy9tYWlu L25hdGl2ZS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9BaGVtLnR0ZiIpCisKKyAgICAg ICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uICJtb2R1bGVzL3dlYi9zcmMvdGVzdC9y ZXNvdXJjZXMvdGVzdC9odG1sLyIKKyAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImphciIg ImNmIiAid2ViQXJjaGl2ZUphci5qYXIiIChmaW5kLWZpbGVzICIuIikpKQorCisgICAgICAgICAg ICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVsZXMvd2ViL2J1aWxkL2NsYXNzZXMvamF2YS9tYWlu IiAiYnVpbGQvY2xhc3NlcyIpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJidWlsZC54bWwi CisgICAgICAgICAgICAgICAoKCI8anVuaXQuKmhhbHRvbmZhaWx1cmU9XCJ5ZXNcIj4iIGFsbCkK KyAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiPG1rZGlyIGRpcj1cIiR7dGVzdC5ob21l fS9ob21lXCIgLz4iIDs7IGhvbWUgZGlyIHJlcXVpcmVkIGZvciBzb21lIHRlc3RzLgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICI8c3lzcHJvcGVydHkga2V5PVwidXNlci5ob21lXCIgdmFsdWU9XCIke3Rlc3QuaG9tZX0v aG9tZVwiLz4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzeXNwcm9wZXJ0eSBr ZXk9XCJqYXZhLmxpYnJhcnkucGF0aFwiIHZhbHVlPVwibW9kdWxlcy93ZWIvYnVpbGQvbGludXgv UmVsZWFzZS9saWIvXCIvPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPGp2bWFy ZyB2YWx1ZT1cIi1EV0VCX0FSQ0hJVkVfSkFSX1RFU1RfRElSPW1vZHVsZXMvd2ViL3NyYy90ZXN0 L3Jlc291cmNlcy90ZXN0L2h0bWwvXCIvPiIpKSkKKyAgICAgICAgICAgICAjdCkpCisKICAgICAg ICAgIChhZGQtYmVmb3JlICdpbnN0YWxsICdidWlsZC1qYXIKICAgICAgICAgICAgKGxhbWJkYSBf CiAgICAgICAgICAgICAgKGxldCogKChyZXNvdXJjZXMgIm1vZHVsZXMvd2ViL3NyYy9tYWluL3Jl c291cmNlcyIpCkBAIC0zNDk4LDE5ICszNzk3LDE1IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3Bl bmpmeC13ZWIKIAogICAgIChuYXRpdmUtaW5wdXRzCiAgICAgIGAoKCJqYXZhLWp1bml0IiAsamF2 YS1qdW5pdCkKLSAgICAgICAoImphdmEtaGFtY3Jlc3QtY29yZSIgLGphdmEtaGFtY3Jlc3QtY29y ZSkKICAgICAgICAoImNtYWtlIiAsY21ha2UpCi0gICAgICAgKCJndGsiICxndGsrLTIpCi0gICAg ICAgKCJndGszIiAsZ3RrKykKICAgICAgICAoInJ1YnkiICxydWJ5KQogICAgICAgICgicGVybCIg LHBlcmwpCiAgICAgICAgKCJncGVyZiIgLGdwZXJmKQogICAgICAgICgicHl0aG9uLTIiICxweXRo b24tMikKLSAgICAgICAoInBrZy1jb25maWciICxwa2ctY29uZmlnKSkpCisgICAgICAgKCJwa2ct Y29uZmlnIiAscGtnLWNvbmZpZykKKyAgICAgICAoInhvcmctc2VydmVyIiAseG9yZy1zZXJ2ZXIt Zm9yLXRlc3RzKSkpCiAgICAgKGlucHV0cwotICAgICBgKCgiYW50bHIzIiAsYW50bHIzKQotICAg ICAgICgiamF2YS1zdHJpbmd0ZW1wbGF0ZSIgLGphdmEtc3RyaW5ndGVtcGxhdGUpCi0gICAgICAg OzsgV2Via2l0IEphdmEgcG9ydCBkZXBlbmRlbmNpZXMKKyAgICAgYCg7OyBXZWJraXQgSmF2YSBw b3J0IGRlcGVuZGVuY2llcwogICAgICAgICgiaWN1NGMiICxpY3U0YykKICAgICAgICAoImxpYnht bDIiICxsaWJ4bWwyKQogICAgICAgICgibGlieHNsdCIgLGxpYnhzbHQpCkBAIC00MzEwLDYgKzQ2 MDUsOSBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLXN3dAogICAgICBgKCM6amFyLW5hbWUgInN3dC5q YXIiCiAgICAgICAgIzpqZGsgLGljZWR0ZWEtOAogICAgICAgICM6dGVzdHM/ICNmIDsgbm8gImNo ZWNrIiB0YXJnZXQKKyAgICAgICAjOm1vZHVsZXMgKChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0 ZW0pCisgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAg ICAgIChpY2UtOSByZWdleCkpCiAgICAgICAgIzpwaGFzZXMKICAgICAgICAobW9kaWZ5LXBoYXNl cyAlc3RhbmRhcmQtcGhhc2VzCiAgICAgICAgICAocmVwbGFjZSAndW5wYWNrCkBAIC00MzE5LDYg KzQ2MTcsMjIgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1zd3QKICAgICAgICAgICAgICAoY2hkaXIg InN3dCIpCiAgICAgICAgICAgICAgKG1rZGlyICJzcmMiKQogICAgICAgICAgICAgIChpbnZva2Ug InVuemlwIiAic3JjLnppcCIgIi1kIiAic3JjIikpKQorICAgICAgICAgOzsgZXhwbGljaXRseSBs b2FkIG5hdGl2ZSBsaWJyYXJ5IGZyb20gZ251L3N0b3JlIGlmIGl0IGNhbid0IGJlIGZvdW5kCisg ICAgICAgICA7OyBieSBhbnkgb2Ygb3RoZXIgc3RhbmRhcmQgbWVhbnMuCisgICAgICAgICAoYWRk LWJlZm9yZSAnY29uZmlndXJlICdlbmdyYXZlLXN3dC1wYXRoCisgICAgICAgICAgIChsYW1iZGEq ICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0ICgo bGliIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvbGliIikpKQorICAgICAgICAgICAgICAgKHN1 YnN0aXR1dGUqICJzcmMvb3JnL2VjbGlwc2Uvc3d0L2ludGVybmFsL0xpYnJhcnkuamF2YSIKKyAg ICAgICAgICAgICAgICAgKCgocmVnZXhwLXF1b3RlICIvKiBGYWlsZWQgdG8gZmluZCB0aGUgbGli cmFyeSAqLyIpIGFsbCkKKyAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAg ICAgICAgICAgICAgImlmIChwYXRoICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICAgICAgIHBh dGggPSBuZXcgRmlsZSAoXCIiIGxpYiAiXCIpLmdldEFic29sdXRlUGF0aCAoKTsKKyAgICAgICAg ICAgICAgICAgICAgIGlmIChsb2FkIChwYXRoICsgU0VQQVJBVE9SICsgbWFwcGVkTmFtZTEsIG1l c3NhZ2UpKSByZXR1cm47CisgICAgICAgICAgICAgICAgICAgICBpZiAobWFwTmFtZSAmJiBsb2Fk IChwYXRoICsgU0VQQVJBVE9SICsgbWFwcGVkTmFtZTIsIG1lc3NhZ2UpKSByZXR1cm47CisgICAg ICAgICAgICAgICAgICAgIH1cblxuIgorICAgICAgICAgICAgICAgICAgICAgYWxsKSkpKQorICAg ICAgICAgICAgICN0KSkKICAgICAgICAgIDs7IFRoZSBjbGFzc3BhdGggY29udGFpbnMgaW52YWxp ZCBpY2VjYXQgamFycy4gIFNpbmNlIHdlIGRvbid0IG5lZWQKICAgICAgICAgIDs7IGFueXRoaW5n IG90aGVyIHRoYW4gdGhlIEpESyBvbiB0aGUgY2xhc3NwYXRoLCB3ZSBjYW4gc2ltcGx5IHVuc2V0 CiAgICAgICAgICA7OyBpdC4KLS0gCjIuMzQuMAoK --000000000000a2c70305e1d1f7a3 Content-Type: application/octet-stream; name="0001-Merge-Alexey-Abramov-s-openjfx-v4-patches.patch" Content-Disposition: attachment; filename="0001-Merge-Alexey-Abramov-s-openjfx-v4-patches.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4lotpgh0 RnJvbSA4YTllYzE4ZWM2N2NhOWM5NGRiYWZmM2FjMTI5OWZhMmE0NjdjMWMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4ZXkgQWJyYW1vdiA8bGV2ZW5zb25AbW1lci5vcmc+CkRh dGU6IFNhdCwgMTggSnVuIDIwMjIgMTI6MDc6MTIgKzAxMDAKU3ViamVjdDogW1BBVENIIHY1IDEv M10gTWVyZ2UgQWxleGV5IEFicmFtb3YncyBvcGVuamZ4IHY0IHBhdGNoZXMKCnNvdXJjZTogaHR0 cHM6Ly9pc3N1ZXMuZ3VpeC5nbnUub3JnLzQxMzYwCi0tLQogZ251L2xvY2FsLm1rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIGdudS9wYWNrYWdlcy9qYXZhLnNjbSAg ICAgICAgICAgICAgICAgICAgICAgICB8IDk3NyArKysrKysrKysrKysrKystLS0KIC4uLnZhLW9w ZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5wYXRjaCB8ICA2MCArKwogLi4ucGVuamZ4 LWJ1aWxkLXdlYi1EdW1wUmVuZGVyVHJlZS1qYXZhLnBhdGNoIHwgIDMwICsKIC4uLi1vcGVuamZ4 LWJ1aWxkLXdlYi1PcHRpb25zSmF2YS5jbWFrZS5wYXRjaCB8ICAzMiArCiAuLi4vcGF0Y2hlcy9q YXZhLW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRjaCAgfCAgMzMgKwogLi4uLWJ1aWxkLXdlYi1X ZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoIHwgIDM2ICsKIC4uLi9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC13ZWItaWN1LnBhdGNoICB8ICAzOCArCiAuLi4vamF2YS1vcGVuamZ4LWJ1 aWxkLXdlYi14bG9jYWxlLmgucGF0Y2ggICAgfCAgNTIgKwogOSBmaWxlcyBjaGFuZ2VkLCAxMTQ3 IGluc2VydGlvbnMoKyksIDExOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUv cGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3Blbmpm eC1idWlsZC13ZWItRHVtcFJlbmRlclRyZWUtamF2YS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEu Y21ha2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZh LW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNr YWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV2ViS2l0Q29tcGlsZXJGbGFncy5j bWFrZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC13ZWItaWN1LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2th Z2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2gKCmRpZmYg LS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUvbG9jYWwubWsKaW5kZXggNTc2YzFhM2ViNi4uOWI5 ODJjNDJkYiAxMDA2NDQKLS0tIGEvZ251L2xvY2FsLm1rCisrKyBiL2dudS9sb2NhbC5tawpAQCAt MTMyMCw2ICsxMzIwLDEzIEBAIGRpc3RfcGF0Y2hfREFUQSA9CQkJCQkJXAogICAlRCUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLWNvbW1vbnMtbGFuZy1maXgtZGVwZW5kZW5jeS5wYXRjaCBcCiAgICVE JS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtamVyb21xLWZpeC10ZXN0cy5wYXRjaAkJXAogICAlRCUv cGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtamRrX3ZlcnNpb24ucGF0Y2ggICAg IFwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXN3aW5nLUpGWFBh bmVsLUpESzgucGF0Y2ggICAgIFwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4 LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2ggICBcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2ph dmEtb3BlbmpmeC1idWlsZC13ZWItRHVtcFJlbmRlclRyZWUtamF2YS5wYXRjaAlcCisgICVEJS9w YWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2Uu cGF0Y2gJXAorICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdU Ri5wYXRjaAkJCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdl Yi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNo ZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1pY3UucGF0Y2gJCQlcCiAgICVEJS9wYWNrYWdlcy9w YXRjaGVzL2phdmEtcG93ZXJtb2NrLWZpeC1qYXZhLWZpbGVzLnBhdGNoCQlcCiAgICVEJS9wYWNr YWdlcy9wYXRjaGVzL2phdmEtc2ltcGxlLXhtbC1maXgtdGVzdHMucGF0Y2gJCVwKICAgJUQlL3Bh Y2thZ2VzL3BhdGNoZXMvamF2YS1zdmctc2FsYW1hbmRlci1GaXgtbm9uLWRldC5wYXRjaAlcCmRp ZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvamF2YS5zY20gYi9nbnUvcGFja2FnZXMvamF2YS5zY20K aW5kZXggZDJmYmY4NDBhMC4uNTE4NTk2Nzk2MCAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2ph dmEuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQpAQCAtMTEsNiArMTEsNyBAQAogOzs7 IENvcHlyaWdodCDCqSAyMDE4IENocmlzIE1hcnVzaWNoIDxjbW1hcnVzaWNoQGdtYWlsLmNvbT4K IDs7OyBDb3B5cmlnaHQgwqkgMjAxOCwgMjAxOSwgMjAyMCwgMjAyMSwgMjAyMiBFZnJhaW0gRmxh c2huZXIgPGVmcmFpbUBmbGFzaG5lci5jby5pbD4KIDs7OyBDb3B5cmlnaHQgwqkgMjAxOSwgMjAy MCwgMjAyMSBCasO2cm4gSMO2ZmxpbmcgPGJqb2Vybi5ob2VmbGluZ0Biam9lcm5ob2VmbGluZy5k ZT4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMCBBbGV4ZXkgQWJyYW1vdiA8bGV2ZW5zb25AbW1lci5v cmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMjAgSmFuIChqYW5uZWtlKSBOaWV1d2VuaHVpemVuIDxq YW5uZWtlQGdudS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMjAgUmFnaGF2IEd1cnVyYWphbiA8 cmFnaGF2Z3VydXJhamFuQGRpc3Jvb3Qub3JnPgogOzs7IENvcHlyaWdodCDCqSAyMDIwLCAyMDIy IE1heGltIENvdXJub3llciA8bWF4aW0uY291cm5veWVyQGdtYWlsLmNvbT4KQEAgLTU5LDEyICs2 MCwxNSBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGNwaW8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGN1cHMp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNvbXByZXNzaW9uKQorICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBjbWFrZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZWxm KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmb250dXRpbHMpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIGdhd2spCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykK ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2V0dGV4dCkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgZ3BlcmYpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdsKQorICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnbGliKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBnaG9zdHNjcmlwdCkgO2xjbXMKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ25v bWUpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdyb292eSkKQEAgLTg1LDExICs4OSwx NCBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHdnZXQpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBrZy1jb25m aWcpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBlcmwpCisgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHB5dGhvbikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcG9wdCkK ICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMga2VyYmVyb3MpCisgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHJ1YnkpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHNlY3VyaXR5 LXRva2VuKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4bWwpCiAgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIHhvcmcpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHNxbGl0 ZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGV4aW5mbykKICAgIzp1c2UtbW9kdWxl ICgoc3JmaSBzcmZpLTEpICM6c2VsZWN0IChmb2xkIGFsaXN0LWRlbGV0ZSkpCiAgICM6dXNlLW1v ZHVsZSAoc3JmaSBzcmZpLTExKQpAQCAtMjUxNywxMSArMjUyNCwyMiBAQCAoZGVmaW5lLXB1Ymxp YyBqYXZhLW9wZW5qZngtYnVpbGQKICAgICAgICAgICAgICAgICcoYmVnaW4KICAgICAgICAgICAg ICAgICAgIDs7IERlbGV0ZSBpbmNsdWRlZCBncmFkbGUgamFyCiAgICAgICAgICAgICAgICAgICAo ZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgImdyYWRsZS93cmFwcGVyIikKKyAgICAgICAgICAgICAg ICAgIDs7IERlbGV0ZSBzb3VyY2UgY29kZSBvZiBhIFRoaXJkUGFydHkgbGlicmFyaWVzCisgICAg ICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgIm1vZHVsZXMvd2ViL3NyYy9t YWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eSIpCisgICAgICAgICAgICAgICAgICAoZGVsZXRl LWZpbGUtcmVjdXJzaXZlbHkgIm1vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvUGxh dGZvcm1KYXZhLmNtYWtlIikKICAgICAgICAgICAgICAgICAgICN0KSkKICAgICAgICAgICAgICAg KHNoYTI1NgogICAgICAgICAgICAgICAgKGJhc2UzMgogICAgICAgICAgICAgICAgICIweWczOG13 cGl2c3djY3Y5bjk2azA2eDNpdjgyaTRweDFhOXhnOWw4ZHN3endtZmoyNTlmIikpCi0gICAgICAg ICAgICAgIChwYXRjaGVzIChzZWFyY2gtcGF0Y2hlcyAiamF2YS1vcGVuamZ4LWJ1aWxkLWpka192 ZXJzaW9uLnBhdGNoIikpKSkKKyAgICAgICAgICAgICAgKHBhdGNoZXMgKHNlYXJjaC1wYXRjaGVz ICJqYXZhLW9wZW5qZngtYnVpbGQtamRrX3ZlcnNpb24ucGF0Y2giCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXN3aW5nLUpGWFBhbmVs LUpESzgucGF0Y2giCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2 YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2giCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1EdW1wUmVuZGVyVHJl ZS1qYXZhLnBhdGNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImph dmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2UucGF0Y2giCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XVEYu cGF0Y2giCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1vcGVu amZ4LWJ1aWxkLXdlYi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3BlbmpmeC1idWlsZC13ZWItaWN1 LnBhdGNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSkpKQogICAg IChidWlsZC1zeXN0ZW0gYW50LWJ1aWxkLXN5c3RlbSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAo IzpqYXItbmFtZSAiamF2YS1vcGVuamZ4LmphciIKQEAgLTI1ODAsMTEyICsyNTk4LDY5MyBAQCAo ZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtYmFzZQogYXBwbGljYXRpb25zLiAgVGhpcyBwYWNr YWdlIGNvbnRhaW5zIGJhc2UgY2xhc3NlcyBmb3IgdGhlIE9wZW5KRlgKIGRpc3RyaWJ1dGlvbi4i KSkpCiAKKzs7IFRoZSBncmFwaGljcyBtb2R1bGUgaXMgbmVlZGVkIGZvciBhbnkgZ3JhcGhpY2Fs IEphdmFGWCBhcHBsaWNhdGlvbi4gSXQKKzs7IHJlcXVpcmVzIHRoZSBiYXNlIG1vZHVsZSBhbmQg aW5jbHVkZXMgdGhlIHNjZW5lIGdyYXBoLCBsYXlvdXQsIGNzcywgcHJpc20sCis7OyB3aW5kb3dp bmcsIGV0Yy4gVGhpcyBpcyBhIGZhaXJseSBjb21wbGljYXRlZCBtb2R1bGUuIFRoZXJlIGFyZSBt YW55Cis7OyBkaWZmZXJlbnQgdHlwZXMgb2YgbmF0aXZlIGNvbXBvbmVudHMgdGhhdCBhbGwgbmVl ZCB0byBiZSBjb21waWxlZC4KKzs7Cis7OyBBbGwgdGhlIGJlbGxvdyBzdGVwcyB3ZXJlIHRha2Vu IGJ5IGluc3BlY3RpbmcgYnVpbGQuZ3JhZGVsIGFuZCAgLi9ncmFkbGV3IGJ1aWxkIC0taW5mbwor OzsgcmVzdWx0LgogKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWdyYXBoaWNzCiAgIChwYWNr YWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKICAgICAobmFtZSAiamF2YS1vcGVuamZ4 LWdyYXBoaWNzIikKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpqYXItbmFtZSAiamF2YS1vcGVu amZ4LWdyYXBoaWNzLmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvZ3JhcGhpY3Mv c3JjL21haW4vamF2YSIKLSAgICAgICAjOnRlc3RzPyAjZjsgcmVxdWlyZSBYCisgICAgICAgIzp0 ZXN0cz8gI2YgICAgICAgICAgICAgICA7IHJlcXVpcmVzIFgKICAgICAgICAjOnRlc3QtZGlyICJt b2R1bGVzL2dyYXBoaWNzL3NyYy90ZXN0IgorICAgICAgICM6dGVzdC1pbmNsdWRlIChsaXN0ICIq Ki8qVGVzdC4qIikKKyAgICAgICAjOm1vZHVsZXMgKChndWl4IGJ1aWxkIGFudC1idWlsZC1zeXN0 ZW0pCisgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAg ICAgIChzcmZpIHNyZmktMSkKKyAgICAgICAgICAgICAgICAgIChzcmZpIHNyZmktMjYpCisgICAg ICAgICAgICAgICAgICAoaWNlLTkgcmVnZXgpCisgICAgICAgICAgICAgICAgICAoaWNlLTkgbWF0 Y2gpKQogICAgICAgICM6cGhhc2VzCi0gICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBo YXNlcwotICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdjb3B5LW1pc3NpbmctZmlsZQotICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKLSAgICAg ICAgICAgICAobGV0ICgodGFyZ2V0ICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1w cmlzbS1zdy9KTmF0aXZlU3VyZmFjZS5jIikpCi0gICAgICAgICAgICAgICAoY29weS1maWxlIChh c3NvYy1yZWYgaW5wdXRzICJKTmF0aXZlU3VyZmFjZS5jIikgdGFyZ2V0KQotICAgICAgICAgICAg ICAgOzsgWFhYOiBsb29rcyBsaWtlIHRoZSBtaXNzaW5nIGZpbGUgd2UgZm91bmQgaXNuJ3QgKnF1 aXRlKgotICAgICAgICAgICAgICAgOzsgY29tcGF0aWJsZS4uLgotICAgICAgICAgICAgICAgKHN1 YnN0aXR1dGUqIHRhcmdldAotICAgICAgICAgICAgICAgICAoKCJjYXNlIFRZUEVfSU5UX0FSR0I6 IikgIiIpKSkpKQotICAgICAgICAgKGFkZC1hZnRlciAnYnVpbGQgJ2J1aWxkLW5hdGl2ZQotICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlz KQotICAgICAgICAgICAgIChsZXQgKChqZGsgKGFzc29jLXJlZiBpbnB1dHMgImpkayIpKQotICAg ICAgICAgICAgICAgICAgIChjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAgICAgICAgICAg ICAgIChsYW1iZGEgKGNsYXNzLWZpbGUpCi0gICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1t YXAgKGxhbWJkYSAoYykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAo Y2hhcj0/IGMgI1wvKSAjXC4gYykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHN0cmluZy1kcm9wLXJpZ2h0IGNsYXNzLWZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1sZW5ndGggIi5jbGFzcyIpKSkpKSkK LSAgICAgICAgICAgICAgIChzZXRlbnYgIkNQUEZMQUdTIgotICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCAiLURJTkxJTkU9aW5saW5lICIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi1ETElOVVggIgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLUkiIGpkayAiL2luY2x1ZGUgIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLUkiIGpkayAiL2luY2x1ZGUvbGludXggIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkgIiAoZ2V0Y3dkKSAiL2J1aWxkL2NsYXNzZXMvaW5j bHVkZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSAiIChnZXRj d2QpICIvbW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtcHJpc20tc3ciKSkKLQotICAg ICAgICAgICAgICAgOzsgSW5zdHJ1Y3Rpb25zIGhhdmUgYmVlbiBhZGFwdGVkIGZyb20gYnVpbGRT cmMvbGludXguZ3JhZGxlCi0gICAgICAgICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9u ICJidWlsZC9jbGFzc2VzIgotICAgICAgICAgICAgICAgICA7OyBCdWlsZCBwcmlzbQotICAgICAg ICAgICAgICAgICAobWtkaXItcCAiaW5jbHVkZSIpCi0KLSAgICAgICAgICAgICAgICAgOzsgR2Vu ZXJhdGUgaGVhZGVycyBmb3IgcHJpc20KLSAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAi amF2YWgiICItZCIgImluY2x1ZGUiICItY3AiICIuIgotICAgICAgICAgICAgICAgICAgICAgICAg KG1hcCBjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IChhcHBlbmQgKGZpbmQtZmlsZXMgImNvbS9zdW4vcHJpc20vaW1wbCIgIlxcLmNsYXNzJCIpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgImNvbS9zdW4v cHJpc20iICJQcmVzZW50YWJsZVN0YXRlLipcXC5jbGFzcyQiKSkpKQotCi0gICAgICAgICAgICAg ICAgIDs7IC4uLnRoZW4gZm9yIHByaXNtX3N3Ci0gICAgICAgICAgICAgICAgIChhcHBseSBpbnZv a2UgImphdmFoIiAiLWQiICJpbmNsdWRlIiAiLWNwIiAiLiIKLSAgICAgICAgICAgICAgICAgICAg ICAgIChtYXAgY2xhc3MtZmlsZS0+Y2xhc3MtbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmluZC1maWxlcyAiY29tL3N1bi9waXNjZXMiICJcXC5jbGFzcyQiKSkpCi0KLSAgICAg ICAgICAgICAgICAgOzsgLi4uYW5kIGZvciBwcmlzbV9lczIKLSAgICAgICAgICAgICAgICAgKGFw cGx5IGludm9rZSAiamF2YWgiICItZCIgImluY2x1ZGUiICItY3AiICIuIgotICAgICAgICAgICAg ICAgICAgICAgICAgKG1hcCBjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmaW5kLWZpbGVzICJjb20vc3VuL3ByaXNtL2VzMiIgIlxcLmNsYXNzJCIp KSkpKQotCi0gICAgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAibmV0YmVhbnMv bmF0aXZlLXByaXNtIgotICAgICAgICAgICAgICAgKGludm9rZSAibWFrZSIgIkNPTkY9UmVsZWFz ZSIpKQotICAgICAgICAgICAgICh3aXRoLWRpcmVjdG9yeS1leGN1cnNpb24gIm5ldGJlYW5zL25h dGl2ZS1wcmlzbS1zdyIKLSAgICAgICAgICAgICAgIChpbnZva2UgIm1ha2UiICJDT05GPVJlbGVh c2UiKSkKLSAgICAgICAgICAgICA7OyBUT0RPOiBUaGlzIGZhaWxzIGR1ZSB0byB1bmtub3duIEVH TCBwcm9jZWR1cmUgbmFtZXMKLSAgICAgICAgICAgICAjOwotICAgICAgICAgICAgICh3aXRoLWRp cmVjdG9yeS1leGN1cnNpb24gIm5ldGJlYW5zL25hdGl2ZS1wcmlzbS1lczIiCi0gICAgICAgICAg ICAgICAoaW52b2tlICJtYWtlIiAiQ09ORj1SZWxlYXNlIikpCisgICAgICAgKGxldCogKChqZGsg KGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgKGphdmFjL2gt ZmxhZ3MKKyAgICAgICAgICAgICAgICcoOzsgV2hlbiBqYXZhYyBpcyBjb21waWxpbmcgY29kZSBp dCBkb2Vzbid0IGxpbmsKKyAgICAgICAgICAgICAgICAgOzsgYWdhaW5zdCBydC5qYXIgYnkgZGVm YXVsdC4gSW5zdGVhZCBpdCB1c2VzIHNwZWNpYWwKKyAgICAgICAgICAgICAgICAgOzsgc3ltYm9s IGZpbGUgbGliL2N0LnN5bSB3aXRoIGNsYXNzIHN0dWJzLgorICAgICAgICAgICAgICAgICA7OyBT dXJwcmlzaW5nbHkgdGhpcyBmaWxlIGNvbnRhaW5zIG1hbnkgYnV0IG5vdCAqYWxsKgorICAgICAg ICAgICAgICAgICA7OyBvZiBpbnRlcm5hbCBjbGFzc2VzLgorICAgICAgICAgICAgICAgICAiLVhE aWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAgICAgICAgICA7OyBJdCdzIGFuIGludGVybmFs IG9wdGlvbiBmb3IgSkRLIDEuNysgdGhhdCBwcmV2ZW50cworICAgICAgICAgICAgICAgICA7OyB0 aGUgY29tcGlsZXIgZnJvbSBzaGFyaW5nIGEgdGFibGUgdGhhdCB3aWxsIG5ldmVyCisgICAgICAg ICAgICAgICAgIDs7IGJlIHJldXNlZC4gV2hlbiBzaGFyZWQsIGl0IGNhbid0IGJlIGdhcmJhZ2UK KyAgICAgICAgICAgICAgICAgOzsgY29sbGVjdGVkLCBjb250aW51ZXMgdG8gYWNjdW11bGF0ZSBk YXRhLCBhbmQKKyAgICAgICAgICAgICAgICAgOzsgdGhlcmVmb3JlIHdhc3RlcyBtZW1vcnkuCisg ICAgICAgICAgICAgICAgICItWER1c2VVbnNoYXJlZFRhYmxlPXRydWUiKSkKKyAgICAgICAgICAg ICAgKGNvbW1vbi1mbGFncworICAgICAgICAgICAgICAgJygiLWZuby1zdHJpY3QtYWxpYXNpbmci ICItZlBJQyIgIi1mbm8tb21pdC1mcmFtZS1wb2ludGVyIiA7OyBvcHRpbWl6YXRpb24gZmxhZ3MK KyAgICAgICAgICAgICAgICAgIi1mc3RhY2stcHJvdGVjdG9yIgorICAgICAgICAgICAgICAgICAi LVciICItV2FsbCIgIi1Xbm8tdW51c2VkIiAiLVduby1wYXJlbnRoZXNlcyIpKQorICAgICAgICAg ICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZm dW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZSIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1 ZGUvbGludXgiKSkpCisgICAgICAgICAgICAgIChsaW5rLWZsYWdzCisgICAgICAgICAgICAgICBg KCItc3RhdGljLWxpYmdjYyIgIi1zdGF0aWMtbGlic3RkYysrIiAiLXNoYXJlZCIgLEBjb21tb24t ZmxhZ3MKKyAgICAgICAgICAgICAgICAgIi16IiAicmVscm8iCisgICAgICAgICAgICAgICAgICIt V2wsLS1nYy1zZWN0aW9ucyIpKQorICAgICAgICAgICAgICAoamF2YS1hdXgtY2xhc3M/CisgICAg ICAgICAgICAgICAobGFtYmRhIChjbGFzcykKKyAgICAgICAgICAgICAgICAgKHN0cmluZy1tYXRj aCAiXFwkWzAtOV0rXFwuY2xhc3MiIGNsYXNzKSkpCisgICAgICAgICAgICAgIChqYXZhLWxpc3Qt Y2xhc3NlcworICAgICAgICAgICAgICAgKGxhbWJkYSAocGF0aCkKKyAgICAgICAgICAgICAgICAg OzsgRm9yIGVhY2ggLmphdmEgZmlsZSB3ZSBuZWVkIHRvIGZpZ3VyZSBvdXQgd2hhdAorICAgICAg ICAgICAgICAgICA7OyBjbGFzcyB0aGUgLmphdmEgZmlsZSBiZWxvbmdzIGluIGFuZCBjb252ZXJ0 IGl0IHRvIGEKKyAgICAgICAgICAgICAgICAgOzsgY2xhc3MgbmFtZS4KKyAgICAgICAgICAgICAg ICAgKGZpbHRlci1tYXAKKyAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGNsYXNzKQorICAgICAg ICAgICAgICAgICAgICAobGV0KiAoKHJ4IChtYWtlLXJlZ2V4cCAoc3RyaW5nLWFwcGVuZCBwYXRo IGZpbGUtbmFtZS1zZXBhcmF0b3Itc3RyaW5nICI/IikpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNsYXNzIChzdHJpbmctZHJvcC1yaWdodCBjbGFzcyAoc3RyaW5nLWxlbmd0aCAiLmNs YXNzIikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsYXNzIChtYXRjaDpzdWZmaXgg KHJlZ2V4cC1leGVjIHJ4IGNsYXNzKSkpKQorICAgICAgICAgICAgICAgICAgICAgIChpZiAoamF2 YS1hdXgtY2xhc3M/IGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAjZgorICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gKHN0cmluZy1zcGxpdCBjbGFzcyAjXC8p ICIuIikpKSkKKyAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIHBhdGggIlxcLmNsYXNzJCIp KSkpKQorICAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogCi0gICAgICAg ICAgICAgKGxldCogKChvdXQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSkKLSAgICAgICAgICAg ICAgICAgICAgKGRpciAsKG1hdGNoICglY3VycmVudC1zeXN0ZW0pCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCJpNjg2LWxpbnV4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi aTM4NiIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKChvciAiYXJtaGYtbGludXgiICJh YXJjaDY0LWxpbnV4IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFybSIpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgKChvciAieDg2XzY0LWxpbnV4IikKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImFtZDY0IikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAo XyAidW5rbm93biIpKSkKLSAgICAgICAgICAgICAgICAgICAgKHRhcmdldCAoc3RyaW5nLWFwcGVu ZCBvdXQgIi9zaGFyZS8iIGRpciAiLyIpKSkKLSAgICAgICAgICAgICAgIChta2Rpci1wIHRhcmdl dCkKLSAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGxldCAoKG5ldy1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1hcHBlbmQgImxpYiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLW1hcAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChjKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoY2hhcj0/IGMgI1wtKSAj XF8gYykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJpbmctZHJvcCAoYmFzZW5hbWUgZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctbGVuZ3RoICJsaWJu YXRpdmUtIikpKSkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29weS1maWxlIGZp bGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCB0YXJnZXQgbmV3LW5hbWUpKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmls ZXMgIm5ldGJlYW5zIiAiXFwuc28kIikpKSkpKSkpCi0gICAgKHByb3BhZ2F0ZWQtaW5wdXRzCi0g ICAgIChsaXN0IGphdmEtb3BlbmpmeC1iYXNlIGphdmEtc3d0KSkKLSAgICA7OyBYWFg6IGZvciB1 bmtub3duIHJlYXNvbnMKLSAgICA7OyBtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1w cmlzbS1zdy9KTmF0aXZlU3VyZmFjZS5jIGlzIG1pc3NpbmcKLSAgICA7OyBpbiB0aGlzIHJldmlz aW9uLgorICAgICAgICAgICAocmVwbGFjZSAnYnVpbGQKKyAgICAgICAgICAgICAobGFtYmRhIF8K KyAgICAgICAgICAgICAgIDs7IERvIG5vdCBtaXggZGlmZmVyZW50IGNsYXNzZXMuIFRoZXJlIHdp bGwgYmUgbW9yZSBzdHVmZiBpbiBidWlsZC9jbGFzc2VzCisgICAgICAgICAgICAgICAoaW52b2tl ICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAgICA7OyBU aGUgRGVjb3JhIGFuZCBQcmlzbSBKU0wgZmlsZXMgaGF2ZSB0byBiZSBnZW5lcmF0ZWQgaW4gYSB2 ZXJ5IHNwZWNpZmljIHNldCBvZiBzdGVwcy4KKyAgICAgICAgICAgOzsgICAgICAxKSBDb21waWxl IHRoZSAqQ29tcGlsZS5qYXZhIGNsYXNzZXMuIFRoZXNlIGxpdmUgaW4gc3JjL21haW4vanNsLSog YW5kIHdpbGwgYmUKKyAgICAgICAgICAgOzsgICAgICAgICBvdXRwdXQgdG8gJGJ1aWxkRGlyL2Ns YXNzZXMvanNsLWNvbXBpbGVycy8qICh3aGVyZSAqID09IGRlY29yYSBvciBwcmlzbSkuCisgICAg ICAgICAgIDs7ICAgICAgMikgR2VuZXJhdGUgc291cmNlIGZpbGVzIGZyb20gdGhlIEpTTCBmaWxl cyBjb250YWluZWQgaW4gc3JjL21haW4vanNsLSouIFRoZXNlCisgICAgICAgICAgIDs7ICAgICAg ICAgd2lsbCBiZSBvdXRwdXQgdG8gJGJ1aWxkRGlyL2dlbmVyYXRlZC1zcmMvanNsLSoKKyAgICAg ICAgICAgOzsgICAgICAzKSBDb21waWxlIHRoZSBKU0wgSmF2YSBzb3VyY2VzIGluICRidWlsZERp ci9nZW5lcmF0ZWQtc3JjL2pzbC0qIGFuZCBwdXQgdGhlIG91dHB1dAorICAgICAgICAgICA7OyAg ICAgICAgIGludG8gY2xhc3Nlcy9qc2wtKgorICAgICAgICAgICA7OyAgICAgIDQpIENvbXBpbGUg dGhlIG5hdGl2ZSBKU0wgc291cmNlcyBpbiAkYnVpbGREaXIvZ2VuZXJhdGVkLXNyYy9qc2wtKiBh bmQgcHV0IHRoZSBvYmoKKyAgICAgICAgICAgOzsgICAgICAgICBmaWxlcyBpbnRvIG5hdGl2ZS9q c2wtKiBhbmQgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGludG8gbGlicy9qc2wtKi5kbGx8c298ZHls aWIKKyAgICAgICAgICAgOzsgICAgICA1KSBNb2RpZnkgdGhlIGphciBzdGVwIHRvIGluY2x1ZGUg Y2xhc3Nlcy9qc2wtKgorICAgICAgICAgICA7OyBUaGUgbmF0aXZlIGxpYnJhcnkgbXVzdCBiZSBj b3BpZWQgb3ZlciBkdXJpbmcgU0RLIGNyZWF0aW9uIHRpbWUgaW4gdGhlICJzZGsiIHRhc2suIElu CisgICAgICAgICAgIDs7IGFkZGl0aW9uIHRvIHRoZXNlIHN0ZXBzLCB0aGUgY2xlYW4gdGFzayBp cyBjcmVhdGVkLiBOb3RlIHRoYXQgSSBkaWRuJ3QgYm90aGVyIHRvIGNyZWF0ZQorICAgICAgICAg ICA7OyBhIG5ldyB0YXNrIGZvciBlYWNoIG9mIHRoZSBkZWNvcmEgZmlsZXMsIHByZWZlcnJpbmcg aW5zdGVhZCBqdXN0IHRvIGNyZWF0ZSBhIHJ1bGU/PyBBbHNvCisgICAgICAgICAgIDs7IG5lZWQg ImNsZWFuIiB0YXNrcyBmb3IgZWFjaCBjb21waWxlIHRhc2suCisgICAgICAgICAgIChhZGQtYWZ0 ZXIgJ2J1aWxkICdjb21waWxlLXByaXNtLWNvbXBpbGVycworICAgICAgICAgICAgIChsYW1iZGEg XworICAgICAgICAgICAgICAgKGxldCAoKHByaXNtLWNvbXBpbGVycy1jbGFzc2VzICJtb2R1bGVz L2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWNvbXBpbGVycy9wcmlzbSIpCisgICAgICAgICAg ICAgICAgICAgICAocHJpc20tc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL2pzbC1wcmlz bS8iKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgcHJpc20tY29tcGlsZXJzLWNsYXNzZXMp CisKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2YWMiICItZCIgcHJpc20tY29t cGlsZXJzLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1m bGFncyAoZmluZC1maWxlcyBwcmlzbS1zcmMgIlxcLmphdmEiKSkpKQorCisgICAgICAgICAgICAg ICAjdCkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1wcmlzbS1jb21waWxlcnMg J2dlbmVyYXRlLXByaXNtLXNoYWRlcnMKKyAgICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAg ICAgICAgIChsZXQgKChwcmlzbS1jb21waWxlcnMtY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9i dWlsZC9jbGFzc2VzL2pzbC1jb21waWxlcnMvcHJpc20iKQorICAgICAgICAgICAgICAgICAgICAg KHByaXNtLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9qc2wtcHJpc20vIikKKyAgICAg ICAgICAgICAgICAgICAgIChwcmlzbS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dl bmVyYXRlZC1zcmMvanNsLXByaXNtIikpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIHByaXNt LWdlbi1zcmMpCisgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgKHN0cmluZy1qb2luIChsaXN0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEZv ciBDb21waWxlSlNMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHByaXNtLWNvbXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGpzbCBmaWxlcyBhcmUgdGhl cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJpc20tc3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI6IikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJDb21waWxlSlNMIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1pIiBwcmlzbS1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICItbyIgcHJpc20tZ2VuLXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi10IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1wa2ciICJj b20vc3VuL3ByaXNtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1kM2Qi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWVzMiIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItbmFtZSIgKGxpc3QgZmlsZSkpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgcHJpc20tc3JjICJcXC5qc2wkIikpKQorICAg ICAgICAgICAgICAgI3QpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLXByaXNt LXNoYWRlcnMgJ2NvbXBpbGUtcHJpc20tc2hhZGVycworICAgICAgICAgICAgIChsYW1iZGEgXwor ICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tY2xhc3NlcyAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2pzbC1wcmlzbSIpCisgICAgICAgICAgICAg ICAgICAgICAgKHByaXNtLWdlbi1zcmMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVk LXNyYy9qc2wtcHJpc20iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1nZW4tc2hhZGVy cy1zcmMgKHN0cmluZy1hcHBlbmQgcHJpc20tZ2VuLXNyYyAiL2NvbS9zdW4vcHJpc20vc2hhZGVy IikpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1jbGFzc2VzKQorICAgICAgICAg ICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICIt ZCIgcHJpc20tY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgKHN0cmluZy1h cHBlbmQgY2xhc3NlcyAiOiIgKGdldGVudiAiQ0xBU1NQQVRIIikpCisgICAgICAgICAgICAgICAg ICAgICAgICAoYXBwZW5kIGphdmFjL2gtZmxhZ3MgKGZpbmQtZmlsZXMgcHJpc20tZ2VuLXNoYWRl cnMtc3JjKSkpKQorICAgICAgICAgICAgICAgI3QpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIg J2NvbXBpbGUtcHJpc20tc2hhZGVycyAnY29tcGlsZS1kZWNvcmEtY29tcGlsZXJzCisgICAgICAg ICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxlcy9n cmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAo ZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMv anNsLWNvbXBpbGVycy9kZWNvcmEiKQorICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1zcmMg Im1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vanNsLWRlY29yYS8iKSkKKyAgICAgICAgICAgICAg ICAgKG1rZGlyLXAgZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzKQorICAgICAgICAgICAgICAgICAo YXBwbHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIgZGVjb3Jh LWNvbXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5n LWFwcGVuZCBjbGFzc2VzICI6IiAoZ2V0ZW52ICJDTEFTU1BBVEgiKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncyAoZmluZC1maWxlcyBkZWNvcmEtc3JjICJc XC5qYXZhIikpKSkKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAgICAoYWRkLWFmdGVy ICdjb21waWxlLWRlY29yYS1jb21waWxlcnMgJ2dlbmVyYXRlLWRlY29yYS1zaGFkZXJzCisgICAg ICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxl cy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAg ICAoZGVjb3JhLWNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qc2wtZGVj b3JhLyIpCisgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzICJt b2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWNvbXBpbGVycy9kZWNvcmEiKQorICAg ICAgICAgICAgICAgICAgICAgKGRlY29yYS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxk L2dlbmVyYXRlZC1zcmMvanNsLWRlY29yYSIpCisgICAgICAgICAgICAgICAgICAgICAoZGVjb3Jh LXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9qc2wtZGVjb3JhLyIpCisgICAgICAgICAg ICAgICAgICAgICAoZGVjb3JhLWNvbXBvbmVudHMgJyhbKGZpbGUtbmFtZSAuICJDb2xvckFkanVz dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRv ciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJCcmlnaHRwYXNzIikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNvbXBpbGVKU0wiKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1hbGwi KV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZmlsZS1uYW1l IC4gIlNlcGlhVG9uZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGdlbmVyYXRvciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJQZXJzcGVjdGl2ZVRyYW5zZm9y bSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRv ciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJEaXNwbGFjZW1lbnRNYXAiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZUpTTCIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG91dHB1dHMgLiAi LWFsbCIpXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWxl LW5hbWUgLiAiSW52ZXJ0TWFzayIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGdlbmVyYXRvciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJCbGVuZCIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRvciAuICJDb21w aWxlQmxlbmQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChv dXRwdXRzIC4gIi1hbGwiKV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsoZmlsZS1uYW1lIC4gIlBob25nTGlnaHRpbmciKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZVBob25nIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIild CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAu ICJMaW5lYXJDb252b2x2ZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGdlbmVyYXRvciAuICJDb21waWxlTGluZWFyQ29udm9sdmUiKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1odyIpXQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWxlLW5hbWUgLiAiTGluZWFy Q29udm9sdmVTaGFkb3ciKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZUxpbmVhckNvbnZvbHZlIikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItaHciKV0pKSkKKyAgICAg ICAgICAgICAgICAgKG1rZGlyLXAgZGVjb3JhLWdlbi1zcmMpCisgICAgICAgICAgICAgICAgIChm b3ItZWFjaCAobWF0Y2gtbGFtYmRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKCdm aWxlLW5hbWUgLiBmaWxlLW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdn ZW5lcmF0b3IgLiBnZW5lcmF0b3IpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdv dXRwdXRzIC4gb3V0cHV0cykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkg aW52b2tlICJqYXZhIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItY3Ai IChzdHJpbmctam9pbiAoY29ucyogY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb3JhLXNyYworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg Q29tcGlsZUpTTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmEt Y2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOzsgV2UgbmVlZCByZXNvdXJjZXMgZnJvbSB0aGUgYnVpbGQKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJidWlsZFNyYy9zcmMvbWFpbi9yZXNvdXJjZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAoZ2V0ZW52ICJDTEFT U1BBVEgiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICI6IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5l cmF0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWkiIGRlY29yYS1z cmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iIGRlY29yYS1nZW4t c3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi10IgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItcGtnIiAiY29tL3N1bi9zY2VuYXJpby9lZmZl Y3QiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0cworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGZpbGUtbmFtZSkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRlY29yYS1jb21wb25lbnRzKQorICAgICAgICAgICAgICAg ICAjdCkpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLWRlY29yYS1zaGFkZXJz ICdjb21waWxlLWRlY29yYS1zaGFkZXJzCisgICAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAg ICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2ph dmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLWNsYXNzZXMgIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qc2wtZGVjb3JhLyIpCisgICAgICAgICAgICAgICAgICAg ICAoZGVjb3JhLWdlbi1zcmMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9q c2wtZGVjb3JhIikpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIGRlY29yYS1jbGFzc2VzKQor ICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICItZCIgZGVjb3JhLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3Ai IGNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncyAo ZmluZC1maWxlcyBkZWNvcmEtZ2VuLXNyYyAiXFwuamF2YSQiKSkpKQorICAgICAgICAgICAgICAg I3QpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtZGVjb3JhLXNoYWRlcnMgJ2Nv bXBpbGUtZGVjb3JhLW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5w dXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAg ICAgICAgICAgKGRlY29yYS1nZW4taGVhZGVycyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5l cmF0ZWQtc3JjL2hlYWRlcnMvanNsLWRlY29yYSIpCisgICAgICAgICAgICAgICAgICAgICAgKGRl Y29yYS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVyYXRlZC1zcmMvanNsLWRl Y29yYSIpCisgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1uYXRpdmUtbGliICJtb2R1bGVz L2dyYXBoaWNzL2J1aWxkL2xpYnMvanNsLWRlY29yYS9saW51eC9saWJkZWNvcmFfc3NlLnNvIikK KyAgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhp Y3MvYnVpbGQvbmF0aXZlL2pzbC1kZWNvcmEvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAg IChkZWNvcmEtbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZGVj b3JhIikKKyAgICAgICAgICAgICAgICAgICAgICAoZGVjb3JhLXNyYyAibW9kdWxlcy9ncmFwaGlj cy9zcmMvbWFpbi9qc2wtZGVjb3JhLyIpCisgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1j bGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWRlY29yYS8iKQorICAg ICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2MtZmxhZ3MgYCgsQGNjLWZsYWdzICItZmZhc3Qt bWF0aCIpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgZGVjb3JhLWdlbi1oZWFkZXJzKQor ICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICItZCIgZGVjb3JhLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAi LWNwIiAoc3RyaW5nLWpvaW4gKGxpc3QgY2xhc3NlcyBkZWNvcmEtY2xhc3NlcykgIjoiKQorICAg ICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5z Y2VuYXJpby5lZmZlY3QuaW1wbC5zdy5zc2UiIDw+KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChhcHBlbmQgKGphdmEtbGlzdC1jbGFzc2VzIGNsYXNzZXMpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2YS1saXN0LWNs YXNzZXMgZGVjb3JhLWNsYXNzZXMpKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBkZWNv cmEtbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGNjKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJnY2MiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGRlY29yYS1nZW4taGVhZGVycworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiBkZWNvcmEtZ2VuLXNyYworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiBkZWNvcmEtbmF0aXZlLXNyYwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAoc3RyaW5nLWFwcGVuZCBk ZWNvcmEtbmF0aXZlLW9iaiAgIi8iIChiYXNlbmFtZSBjYyAiLmNjIikgIi5vYmoiKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBkZWNvcmEtY2MtZmxhZ3MgKGxp c3QgY2MpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIChmaW5kLWZpbGVz IGRlY29yYS1nZW4tc3JjICJcXC5jYyQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmluZC1maWxlcyBkZWNvcmEtbmF0aXZlLXNyYyAiXFwuY2MkIikpKQorICAgICAgICAg ICAgICAgICAobWtkaXItcCAoZGlybmFtZSBkZWNvcmEtbmF0aXZlLWxpYikpCisgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImcrKyIgIi1vIiBkZWNvcmEtbmF0aXZlLWxpYgorICAgICAg ICAgICAgICAgICAgICAgICAgKGFwcGVuZCBsaW5rLWZsYWdzIChmaW5kLWZpbGVzIGRlY29yYS1u YXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAg ICAoYWRkLWFmdGVyICdjb21waWxlLWRlY29yYS1uYXRpdmUtbGliICdjb21waWxlLWxpbnV4LWZv bnQtbmF0aXZlLWxpYgorICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxv dy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dy YXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAo Zm9udC1nZW4taGVhZGVycyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5lcmF0ZWQtc3JjL2hl YWRlcnMvZm9udC9saW51eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtbmF0aXZlLWxp YiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ZvbnQvbGludXgvbGliamF2YWZ4X2ZvbnQu c28iKQorICAgICAgICAgICAgICAgICAgICAgIChmb250LW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvbmF0aXZlL2ZvbnQvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChm b250LW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWZvbnQiKQor ICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtY2Mt ZmxhZ3MgYCgiLURKRlhGT05UX1BMVVMiICxAY2MtZmxhZ3MpKSkKKyAgICAgICAgICAgICAgICAg KG1rZGlyLXAgZm9udC1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9r ZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIGZvbnQtZ2VuLWhlYWRlcnMK KyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIGNsYXNzZXMKKyAgICAgICAgICAgICAgICAg ICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmlsdGVyIChsYW1iZGEgKGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG9yIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5qYXZhZnguZm9udCIg Y2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1wcmVmaXg/ICJjb20uc3VuLmphdmFmeC50ZXh0IiBjbGFzcykpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkp KQorICAgICAgICAgICAgICAgICAobWtkaXItcCBmb250LW5hdGl2ZS1vYmopCisgICAgICAgICAg ICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGFwcGx5IGludm9rZSAiZ2NjIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi1JIiBmb250LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLUkiIGZvbnQtbmF0aXZlLXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1vIiAoc3RyaW5nLWFwcGVuZCBmb250LW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBj YyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBw ZW5kIGZvbnQtY2MtZmxhZ3MgKGxpc3QgY2MpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyBmb250LW5hdGl2ZS1zcmMgIlxcLmMkIikpCisgICAgICAgICAgICAgICAg IChta2Rpci1wIChkaXJuYW1lIGZvbnQtbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChh cHBseSBpbnZva2UgImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICItbyIgZm9udC1uYXRp dmUtbGliCisgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIGxpbmstZmxhZ3MKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgZm9udC1uYXRpdmUtb2JqICJc XC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICN0KSkKKworICAgICAgICAgICAoYWRkLWFmdGVy ICdjb21waWxlLWxpbnV4LWZvbnQtbmF0aXZlLWxpYiAnY29tcGlsZS1saW51eC1mb250LWZyZWV0 eXBlCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtl eXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVp bGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAg ICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhp Y3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL2ZvbnRGcmVldHlwZS9saW51eCIpCisgICAg ICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFw aGljcy9idWlsZC9saWJzL2ZvbnRGcmVldHlwZS9saW51eC9saWJqYXZhZnhfZm9udF9mcmVldHlw ZS5zbyIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtbmF0aXZlLW9iaiAi bW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udEZyZWV0eXBlL2xpbnV4IikKKyAgICAg ICAgICAgICAgICAgICAgICAoZm9udC1mcmVldHlwZS1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL25hdGl2ZS1mb250L2ZyZWV0eXBlLmMiKQorICAgICAgICAgICAgICAgICAg ICAgIChmb250LWZyZWV0eXBlLWNjLWZsYWdzIGAoIi1ESkZYRk9OVF9QTFVTIiAiLURfRU5BQkxF X1BBTkdPIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IiQocGtnLWNvbmZpZyAtLWNmbGFncyBmcmVldHlwZTIpIiAsQGNjLWZsYWdzKSkKKyAgICAgICAg ICAgICAgICAgICAgICAoZm9udC1mcmVldHlwZS1saW5rLWZsYWdzIGAoIiQocGtnLWNvbmZpZyAt LWxpYnMgZnJlZXR5cGUyKSIgLEBsaW5rLWZsYWdzKSkpCisgICAgICAgICAgICAgICAgIChta2Rp ci1wIGZvbnQtZnJlZXR5cGUtZ2VuLWhlYWRlcnMpCisgICAgICAgICAgICAgICAgIChhcHBseSBp bnZva2UgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICAgIi1kIiBmb250LWZyZWV0eXBl LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiBjbGFzc2VzCisgICAg ICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIGphdmFjL2gtZmxhZ3MKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZpbHRlciAoY3V0IHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLmph dmFmeC5mb250LmZyZWV0eXBlLk9TRnJlZXR5cGUiIDw+KQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAg ICAgICAgICAgICAobWtkaXItcCBmb250LWZyZWV0eXBlLW5hdGl2ZS1vYmopCisgICAgICAgICAg ICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3Ry aW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAZm9udC1mcmVldHlwZS1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItSSIgLGZvbnQtZnJlZXR5cGUtZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoZGlybmFtZSBmb250LWZyZWV0eXBlLW5h dGl2ZS1zcmMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAs KHN0cmluZy1hcHBlbmQgZm9udC1mcmVldHlwZS1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFt ZSBmb250LWZyZWV0eXBlLW5hdGl2ZS1zcmMgIi5jIikgIi5vYmoiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxmb250LWZyZWV0eXBlLW5hdGl2ZS1zcmMpKSkKKyAg ICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgZm9udC1mcmVldHlwZS1uYXRpdmUtbGli KSkKKyAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAg ICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnKysiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIi1vIiAsZm9udC1mcmVldHlwZS1uYXRpdmUtbGliCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBmb250LWZyZWV0eXBlLWxpbmstZmxhZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIGZv bnQtZnJlZXR5cGUtbmF0aXZlLW9iaiAiXFwub2JqJCIpKSkpCisgICAgICAgICAgICAgICAgICN0 KSkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1saW51eC1mb250LWZyZWV0eXBl ICdjb21waWxlLWxpbnV4LWZvbnQtcGFuZ28tbGliCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6 a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNs YXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAg ICAgICAgICAgICAgICAgIChmb250LXBhbmdvLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNz L2J1aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycy9mb250UGFuZ28vbGludXgiKQorICAgICAgICAg ICAgICAgICAgICAgIChmb250LXBhbmdvLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVp bGQvbGlicy9mb250UGFuZ28vbGludXgvbGliamF2YWZ4X2ZvbnRfcGFuZ28uc28iKQorICAgICAg ICAgICAgICAgICAgICAgIChmb250LXBhbmdvLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3Mv YnVpbGQvbmF0aXZlL2ZvbnRQYW5nby9saW51eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGZv bnQtcGFuZ28tbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZm9u dC9wYW5nby5jIikKKyAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1jYy1mbGFncyBg KCItREpGWEZPTlRfUExVUyIgIi1EX0VOQUJMRV9QQU5HTyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgcGFuZ29mdDIp IiAsQGNjLWZsYWdzKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1saW5rLWZs YWdzIGAoIiQocGtnLWNvbmZpZyAtLWxpYnMgcGFuZ29mdDIpIiAsQGxpbmstZmxhZ3MpKSkKKyAg ICAgICAgICAgICAgICAgKG1rZGlyLXAgZm9udC1wYW5nby1nZW4taGVhZGVycykKKyAgICAgICAg ICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAi LWQiIGZvbnQtcGFuZ28tZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3Ai IGNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyIChjdXQgc3RyaW5nLXByZWZp eD8gImNvbS5zdW4uamF2YWZ4LmZvbnQuZnJlZXR5cGUuT1NQYW5nbyIgPD4pCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGphdmEtbGlzdC1jbGFzc2VzIGNsYXNzZXMp KSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIGZvbnQtcGFuZ28tbmF0aXZlLW9iaikKKyAg ICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAgICAgICAg ICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEBmb250LXBhbmdvLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIi1JIiAsZm9udC1wYW5nby1nZW4taGVhZGVycworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChkaXJuYW1lIGZvbnQtcGFuZ28tbmF0 aXZlLXNyYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwo c3RyaW5nLWFwcGVuZCBmb250LXBhbmdvLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGZv bnQtcGFuZ28tbmF0aXZlLXNyYyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLGZvbnQtcGFuZ28tbmF0aXZlLXNyYykpKQorICAgICAgICAgICAg ICAgICAobWtkaXItcCAoZGlybmFtZSBmb250LXBhbmdvLW5hdGl2ZS1saWIpKQorICAgICAgICAg ICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQGZvbnQtcGFuZ28tbGluay1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItbyIgLGZvbnQtcGFuZ28tbmF0aXZlLWxpYgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQtZmlsZXMgZm9udC1wYW5nby1uYXRpdmUtb2Jq ICJcXC5vYmokIikpKSkpCisgICAgICAgICAgICAgICAjdCkpCisKKyAgICAgICAgICAgKGFkZC1h ZnRlciAnY29tcGlsZS1saW51eC1mb250LXBhbmdvLWxpYiAnY29tcGlsZS1saW51eC1nbGFzcy1s aWIKKyAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5 cykKKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9idWls ZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAgOzsgZ2xhc3MKKyAg ICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3Mv YnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL2dsYXNzL2xpbnV4IikKKyAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ds YXNzL2xpbnV4L2xpYmdsYXNzLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtbmF0 aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZ2xhc3MvbGludXgvZ2xhc3Mi KQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL25hdGl2ZS1nbGFzcy9ndGsvbGF1bmNoZXIuYyIpCisgICAgICAgICAgICAg ICAgICAgICAgKGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjYy1m bGFncworICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3MgZ2xp Yi0yLjAgZ2RrLTIuMCBndGsrLTIuMCBndGhyZWFkLTIuMCB4dHN0KSIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAiLVdlcnJvciIpKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1saW5r LWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25m aWcgLS1saWJzIHgxMSkiICItbGRsIikpCisgICAgICAgICAgICAgICAgICAgICAgOzsgZ2xhc3Mt Z3RrMgorICAgICAgICAgICAgICAgICAgICAgIChndGsgKGFzc29jLXJlZiBpbnB1dHMgImd0ayIp KQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGsyLW5hdGl2ZS1vYmogIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4L2dsYXNzZ3RrMiIpCisgICAgICAgICAg ICAgICAgICAgICAgKGdsYXNzLWd0azItbmF0aXZlLXNyYyAoZGlybmFtZSBnbGFzcy1uYXRpdmUt c3JjKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1uYXRpdmUtbGliICJtb2R1 bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGludXgvbGliZ2xhc3NndGsyLnNvIikKKyAg ICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1jYy1mbGFncworICAgICAgICAgICAgICAg ICAgICAgICBgKCxAY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29u ZmlnIC0tY2ZsYWdzIGd0aystMi4wIGd0aHJlYWQtMi4wIHh0c3QpIgorICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IFhYOiBHVGltZVZhbCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIEdMSUIgc2lu Y2UKKyAgICAgICAgICAgICAgICAgICAgICAgICA7OyB2ZXJzaW9uIDIuNjIuIEdUaW1lVmFsIHMg bm90IHllYXItMjAzOC1zYWZlLiBHdGsKKyAgICAgICAgICAgICAgICAgICAgICAgICA7OyAyLjI0 IHVzZXMgR1RpbWVWYWwgc28gb3VyIGJ1aWxkIGlzIGFsc28gZmFpbGluZy4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAiLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiLVdlcnJvciIpKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFzcy1n dGsyLWxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKKyAg ICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGlicyBndGsrLTIuMCBndGhy ZWFkLTIuMCB4dHN0KSIpKQorICAgICAgICAgICAgICAgICAgICAgIDs7IGdsYXNzLWd0azMKKyAg ICAgICAgICAgICAgICAgICAgICAoZ3RrMyAoYXNzb2MtcmVmIGlucHV0cyAiZ3RrMyIpKQorICAg ICAgICAgICAgICAgICAgICAgIChnbGFzcy1ndGszLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhp Y3MvYnVpbGQvbmF0aXZlL2dsYXNzL2xpbnV4L2dsYXNzZ3RrMyIpCisgICAgICAgICAgICAgICAg ICAgICAgKGdsYXNzLWd0azMtbmF0aXZlLXNyYyAoZGlybmFtZSBnbGFzcy1uYXRpdmUtc3JjKSkK KyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMy1uYXRpdmUtbGliICJtb2R1bGVzL2dy YXBoaWNzL2J1aWxkL2xpYnMvZ2xhc3MvbGludXgvbGliZ2xhc3NndGszLnNvIikKKyAgICAgICAg ICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMy1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAg ICBgKCxAY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0t Y2ZsYWdzIGd0aystMy4wIGd0aHJlYWQtMi4wIHh0c3QpIgorICAgICAgICAgICAgICAgICAgICAg ICAgICItV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiAiLVdlcnJvciIpKQorICAgICAgICAg ICAgICAgICAgICAgIChnbGFzcy1ndGszLWxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAg ICAgYCgsQGxpbmstZmxhZ3MgIiQocGtnLWNvbmZpZyAtLWxpYnMgZ3RrKy0zLjAgZ3RocmVhZC0y LjAgeHRzdCkiKSkpCisgICAgICAgICAgICAgICAgIDs7IGdsYXNzCisgICAgICAgICAgICAgICAg IChta2Rpci1wIGdsYXNzLWdlbi1oZWFkZXJzKQorICAgICAgICAgICAgICAgICAoYXBwbHkgaW52 b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIgZ2xhc3MtZ2VuLWhlYWRl cnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMg IjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVu ZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIg KGxhbWJkYSAoY2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAob3IgKHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLmdsYXNzLmV2ZW50cyIgY2xhc3MpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ ICJjb20uc3VuLmdsYXNzLnVpLmd0ayIgY2xhc3MpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLmdsYXNzLnVpIiBj bGFzcykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxp c3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1u YXRpdmUtb2JqKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZ2xhc3MtZ2VuLWhlYWRlcnMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoZGlybmFtZSBnbGFzcy1uYXRp dmUtc3JjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChz dHJpbmctYXBwZW5kIGdsYXNzLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGdsYXNzLW5h dGl2ZS1zcmMgIi5jIikgIi5vYmoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxnbGFzcy1uYXRpdmUtc3JjKSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIChk aXJuYW1lIGdsYXNzLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNo IiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWxpbmstZmxhZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICxnbGFzcy1uYXRp dmUtbGliCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoZmluZC1m aWxlcyBnbGFzcy1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICAgOzsg Z3RrMgorICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1ndGsyLW5hdGl2ZS1vYmopCisg ICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjcHApCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAZ2xhc3MtZ3RrMi1jYy1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGds YXNzLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICIv IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjcHAgIi5jcHAiKSAiLm9iaiIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGNwcCkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIGdsYXNzLWd0azItbmF0aXZlLXNy YyAiXFwuY3BwJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBnbGFzcy1n dGsyLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisg ICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWd0azItbGluay1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLGdsYXNzLWd0azItbmF0 aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQt ZmlsZXMgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAg ICAgOzsgZ3RrMworICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1ndGszLW5hdGl2ZS1v YmopCisgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjcHApCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAZ2xhc3MtZ3RrMy1jYy1mbGFn cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLGdsYXNzLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtZ3RrMy1uYXRpdmUt b2JqICIvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjcHAgIi5jcHAiKSAiLm9iaiIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGNwcCkp KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIGdsYXNzLWd0azMtbmF0 aXZlLXNyYyAiXFwuY3BwJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBn bGFzcy1ndGszLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAi LWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWd0azMtbGluay1mbGFn cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLGdsYXNzLWd0 azMtbmF0aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KGZpbmQtZmlsZXMgZ2xhc3MtZ3RrMy1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkpCisgICAgICAg ICAgICAgICAjdCkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1saW51eC1nbGFz cy1saWIgICdjb21waWxlLWxpbnV4LWlpbworICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBp bnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2Vz ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAg ICAgICAgICAgICAoaWlvLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVy YXRlZC1zcmMvaGVhZGVycy9paW8vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChpaW8t bmF0aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2lpby9saW51eC9saWJqYXZh ZnhfaWlvLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAoaWlvLW5hdGl2ZS1vYmogIm1vZHVs ZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL2lpby9saW51eCIpCisgICAgICAgICAgICAgICAgICAg ICAgKGlpby1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1paW8i KQorICAgICAgICAgICAgICAgICAgICAgIChpaW8tY2MtZmxhZ3MgY2MtZmxhZ3MpCisgICAgICAg ICAgICAgICAgICAgICAgKGlpby1saW5rLWZsYWdzIGxpbmstZmxhZ3MpKQorICAgICAgICAgICAg ICAgICAobWtkaXItcCBpaW8tZ2VuLWhlYWRlcnMpCisgICAgICAgICAgICAgICAgIChhcHBseSBp bnZva2UgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICAgIi1kIiBpaW8tZ2VuLWhlYWRl cnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMg IjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVu ZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIg KGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5qYXZhZnguaWlvIiA8PikKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2YS1saXN0LWNsYXNzZXMgY2xhc3Nlcykp KSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgaWlvLW5hdGl2ZS1vYmopCisgICAgICAgICAg ICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHN0cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQGlpby1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGlpby1nZW4taGVhZGVycworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChz dHJpbmctYXBwZW5kIGlpby1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFt ZSBjICIuYyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsYykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZp bGVzIGlpby1uYXRpdmUtc3JjICJcXC5jJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAo ZGlybmFtZSBpaW8tbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2gi ICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZysrIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAaWlvLWxpbmstZmxhZ3MKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICxpaW8tbmF0aXZlLWxp YgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQtZmlsZXMg aWlvLW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKQorICAgICAgICAgICAgICAgICAjdCkpKQorCisg ICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbGludXgtaWlvICdjb21waWxlLWxpbnV4LXBy aXNtCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtl eXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVp bGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1nZW4t aGVhZGVycyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5lcmF0ZWQtc3JjL2hlYWRlcnMvcHJp c20vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1uYXRpdmUtbGliICJtb2R1 bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGlicHJpc21fY29tbW9uLnNvIikK KyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGlj cy9idWlsZC9uYXRpdmUvcHJpc20vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlz bS1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1wcmlzbSIpCisg ICAgICAgICAgICAgICAgICAgICAgKHByaXNtLWNjLWZsYWdzIGAoLEBjYy1mbGFncyAiLURJTkxJ TkU9aW5saW5lIikpCisgICAgICAgICAgICAgICAgICAgICAgKHByaXNtLWxpbmstZmxhZ3MgbGlu ay1mbGFncykpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIHByaXNtLWdlbi1oZWFkZXJzKQor ICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICItZCIgcHJpc20tZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICIt Y3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAg ICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGxhbWJkYSAoY2xhc3MpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKHN0cmluZy1wcmVmaXg/ICJjb20uc3Vu LnByaXNtLmltcGwiIGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5wcmlzbS5QcmVzZW50YWJsZVN0YXRl IiBjbGFzcykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZh LWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlz bS1uYXRpdmUtb2JqKQorICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoYykKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBwcmlzbS1jYy1m bGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLHByaXNtLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1JIiAscHJpc20tbmF0aXZlLXNyYworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChzdHJpbmctYXBw ZW5kIHByaXNtLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGMgIi5j IikgIi5vYmoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxjKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgcHJp c20tbmF0aXZlLW9iaiAiXFwuYyQiKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5h bWUgcHJpc20tbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICIt YyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZysrIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAcHJpc20tbGluay1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLHByaXNtLW5hdGl2ZS1s aWIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVz IHByaXNtLW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKQorICAgICAgICAgICAgICAgICAjdCkpKQor CisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbGludXgtcHJpc20gJ2NvbXBpbGUtbGlu dXgtcHJpc20tZXMyCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93 LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIChw cmlzbS1lczItZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNy Yy9oZWFkZXJzL3ByaXNtRVMyL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20t ZXMyLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9wcmlzbS9saW51eC9s aWJwcmlzbV9lczIuc28iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1lczItbmF0aXZl LW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvcHJpc21FUzIvbGludXgiKQorICAg ICAgICAgICAgICAgICAgICAgIChwcmlzbS1lczItbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGlj cy9zcmMvbWFpbi9uYXRpdmUtcHJpc20tZXMyIikKKyAgICAgICAgICAgICAgICAgICAgICAocHJp c20tZXMyLWNjLWZsYWdzIGAoIi1ETElOVVgiICxAY2MtZmxhZ3MpKQorICAgICAgICAgICAgICAg ICAgICAgIChwcmlzbS1lczItbGluay1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxA bGluay1mbGFncyAiJChwa2ctY29uZmlnIC0tbGlicyB4MTEgeHhmODZ2bSBnbCkiKSkKKyAgICAg ICAgICAgICAgICAgICAgICA7OyBXZSBuZWVkIGFsbCAqLmMgZmlsZXMgaW4gdGhlIHJvb3QgYW5k IG9ubHkgdGhvc2UKKyAgICAgICAgICAgICAgICAgICAgICA7OyB3aGljaCBhcmUgaW4gYSBzcGVj aWZpYyBkaXJlY3Rvcmllcy4KKyAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyLXNyYworICAg ICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChhYnMgXykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAob3IgKHJlZ2V4cC1leGVjIChtYWtlLXJlZ2V4cCAoc3RyaW5nLWFwcGVuZCBwcmlzbS1l czItbmF0aXZlLXNyYyAiW14vXSpcXC5jJCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYWJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhw LWV4ZWMgKG1ha2UtcmVnZXhwIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIo eDExL3xHTC8pIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh YnMpKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1lczItZ2VuLWhlYWRlcnMp CisgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgorICAgICAgICAgICAgICAg ICAgICAgICAgIi1kIiBwcmlzbS1lczItZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAg ICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIp KQorICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29t LnN1bi5wcmlzbS5lczIiIDw+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChqYXZhLWxpc3QtY2xhc3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtk aXItcCBwcmlzbS1lczItbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChs YW1iZGEgKGMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImdj YyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgZ2xhc3MtbmF0aXZl LXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiBwcmlzbS1lczIt Z2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgcHJp c20tZXMyLW5hdGl2ZS1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgKHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi9HTCIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1u YXRpdmUtc3JjICIveDExIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt byIgKHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1vYmogIi8iIChiYXNlbmFtZSBjICIu YyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQg cHJpc20tZXMyLWNjLWZsYWdzIChsaXN0IGMpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmluZC1maWxlcyBwcmlzbS1lczItbmF0aXZlLXNyYyBmaWx0ZXItc3JjKSkKKyAgICAgICAg ICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgcHJpc20tZXMyLW5hdGl2ZS1saWIpKQorICAgICAg ICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAg KHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQHByaXNtLWVzMi1saW5rLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1vIiAscHJpc20tZXMyLW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChmaW5kLWZpbGVzIHByaXNtLWVzMi1uYXRpdmUtb2Jq ICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICAgI3QpKSkKKworICAgICAgICAgICAoYWRk LWFmdGVyICdjb21waWxlLWxpbnV4LXByaXNtLWVzMiAnY29tcGlsZS1saW51eC1wcmlzbS1zdwor ICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQor ICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3ctZ2VuLWhl YWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL3ByaXNt U1cvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1zdy1uYXRpdmUtbGliICJt b2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGlicHJpc21fc3cuc28iKQor ICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1zdy1uYXRpdmUtb2JqICJtb2R1bGVzL2dyYXBo aWNzL2J1aWxkL25hdGl2ZS9wcmlzbVNXL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAo cHJpc20tc3ctbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtcHJp c20tc3ciKQorICAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAg KHByaXNtLXN3LWNjLWZsYWdzIGAoLEBjYy1mbGFncyAiLURJTkxJTkU9aW5saW5lIikpCisgICAg ICAgICAgICAgICAgICAgICAgKHByaXNtLXN3LWxpbmstZmxhZ3MgbGluay1mbGFncykpCisgICAg ICAgICAgICAgICAgIChta2Rpci1wIHByaXNtLXN3LWdlbi1oZWFkZXJzKQorICAgICAgICAgICAg ICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIg cHJpc20tc3ctZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJp bmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAg ICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChmaWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5waXNjZXMiIDw+ KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xh c3NlcyBjbGFzc2VzKSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1zdy1uYXRp dmUtb2JqKQorICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoYykKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBwcmlzbS1zdy1jYy1mbGFn cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLHByaXNtLXN3LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1JIiAscHJpc20tc3ctbmF0aXZlLXNyYworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLChzdHJpbmct YXBwZW5kIHByaXNtLXN3LW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1l IGMgIi5jIikgIi5vYmoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxjKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmls ZXMgcHJpc20tc3ctbmF0aXZlLXNyYyAiXFwuYyQiKSkKKyAgICAgICAgICAgICAgICAgKG1rZGly LXAgKGRpcm5hbWUgcHJpc20tc3ctbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChhcHBs eSBpbnZva2UgImcrKyIgIi1vIiBwcmlzbS1zdy1uYXRpdmUtbGliCisgICAgICAgICAgICAgICAg ICAgICAgICAoYXBwZW5kIHByaXNtLXN3LWxpbmstZmxhZ3MgKGZpbmQtZmlsZXMgcHJpc20tc3ct bmF0aXZlLW9iaiAiXFwub2JqJCIpKSkKKyAgICAgICAgICAgICAgICAgI3QpKSkKKworICAgICAg ICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LXByaXNtLXN3ICdpbnN0YWxsLW5hdGl2ZQor ICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykK KyAgICAgICAgICAgICAgIChsZXQgKChsaWIgKHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRw dXRzICJvdXQiKSAiL2xpYiIpKSkKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEg KGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnN0YWxsLWZpbGUgZmlsZSBs aWIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgIi4iICJcXC5zbyQi KSkKKyAgICAgICAgICAgICAgICAgI3QpKSkKKworICAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0 YWxsLW5hdGl2ZSAnYnVpbGQtamFyCisgICAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAg ICAgICAobGV0KiAoKG1vZHVsZSAoc3RyaW5nLWFwcGVuZCAibW9kdWxlcy9ncmFwaGljcyIpKQor ICAgICAgICAgICAgICAgICAgICAgIChyZXNvdXJjZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIv c3JjL21haW4vcmVzb3VyY2VzIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNsYXNzZXMgKHN0 cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKSkpCisgICAgICAg ICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5IHJlc291cmNlcyBjbGFzc2VzKQorCisgICAgICAg ICAgICAgICAgIChpbnZva2UgImFudCIgImphciIgKHN0cmluZy1hcHBlbmQgIi1EY2xhc3Nlcy5k aXI9IiBjbGFzc2VzKSkpCisgICAgICAgICAgICAgICAjdCkpKSkpKQogICAgIChuYXRpdmUtaW5w dXRzCi0gICAgIGAoKCJKTmF0aXZlU3VyZmFjZS5jIgotICAgICAgICAsKG9yaWdpbgotICAgICAg ICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAgICAgICAgKHVyaSAiaHR0cHM6Ly9yYXcuZ2l0 aHVidXNlcmNvbnRlbnQuY29tL29wZW5qZGsvamZ4Lzh1MjAtYjAyXAotL21vZHVsZXMvZ3JhcGhp Y3Mvc3JjL21haW4vbmF0aXZlLXByaXNtLXN3L0pOYXRpdmVTdXJmYWNlLmMiKQotICAgICAgICAg ICAoc2hhMjU2Ci0gICAgICAgICAgICAoYmFzZTMyCi0gICAgICAgICAgICAgIjFrcDE1d2JuZDZy bjBuY2ljenA1aWJxMGlrYnkyeXlzdngxZ256NWZhMDV2bDJtbThtYm0iKSkpKSkpCi0gICAgKGRl c2NyaXB0aW9uICJPcGVuSkZYIGlzIGEgY2xpZW50IGFwcGxpY2F0aW9uIHBsYXRmb3JtIGZvciBk ZXNrdG9wLAotbW9iaWxlIGFuZCBlbWJlZGRlZCBzeXN0ZW1zIGJ1aWx0IG9uIEphdmEuICBJdHMg Z29hbCBpcyB0byBwcm9kdWNlIGEKLW1vZGVybiwgZWZmaWNpZW50LCBhbmQgZnVsbHkgZmVhdHVy ZWQgdG9vbGtpdCBmb3IgZGV2ZWxvcGluZyByaWNoIGNsaWVudAotYXBwbGljYXRpb25zLiAgVGhp cyBwYWNrYWdlIGNvbnRhaW5zIGdyYXBoaWNzLXJlbGF0ZWQgY2xhc3NlcyBmb3IgdGhlCi1PcGVu SkZYIGRpc3RyaWJ1dGlvbi4iKSkpCisgICAgIGAoKCJmcmVldHlwZSIgLGZyZWV0eXBlKQorICAg ICAgICgiZm9udGNvbmZpZyIgLGZvbnRjb25maWcpCisgICAgICAgKCJnY2MiICxnY2MpCisgICAg ICAgKCJnbGliIiAsZ2xpYikKKyAgICAgICAoInpsaWIiICx6bGliKQorICAgICAgICgiZ3RrIiAs Z3RrKy0yKQorICAgICAgICgiZ3RrMyIgLGd0ayspCisgICAgICAgKCJqcGVnIiAsbGlianBlZy10 dXJibykKKyAgICAgICAoImxpYnh0c3QiICxsaWJ4dHN0KQorICAgICAgICgicGFuZ28iICxwYW5n bykKKyAgICAgICAoImxpYnBuZyIgLGxpYnBuZykKKyAgICAgICAoInBrZy1jb25maWciICxwa2ct Y29uZmlnKSkpCisgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIGAoKCJqYXZhLW9wZW5qZngt YmFzZSIgLGphdmEtb3BlbmpmeC1iYXNlKQorICAgICAgICgiamF2YS1zd3QiICxqYXZhLXN3dCkp KSkpCisKKyhkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1zd2luZworICAocGFja2FnZSAoaW5o ZXJpdCBqYXZhLW9wZW5qZngtYnVpbGQpCisgICAgKG5hbWUgImphdmEtb3BlbmpmeC1zd2luZyIp CisgICAgKGFyZ3VtZW50cworICAgICBgKCM6amFyLW5hbWUgImphdmEtb3BlbmpmeC1zd2luZy5q YXIiCisgICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL3N3aW5nL3NyYy9tYWluL2phdmEiCisg ICAgICAgIzp0ZXN0cz8gI2YpKQorICAgIChpbnB1dHMKKyAgICAgYCgoImFudGxyMyIgLGFudGxy MykKKyAgICAgICAoImphdmEtc3RyaW5ndGVtcGxhdGUiICxqYXZhLXN0cmluZ3RlbXBsYXRlKSkp CisgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIGAoKCJqYXZhLW9wZW5qZngtZ3JhcGhpY3Mi ICxqYXZhLW9wZW5qZngtZ3JhcGhpY3MpKSkpKQorCisoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5q Zngtc3d0CisgIChwYWNrYWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKKyAgICAobmFt ZSAiamF2YS1vcGVuamZ4LXN3dCIpCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6amFyLW5hbWUg ImphdmEtb3BlbmpmeC1zd3QuamFyIgorICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9zd3Qv c3JjL21haW4vamF2YSIKKyAgICAgICAjOnRlc3RzPyAjZikpCisgICAgKGlucHV0cworICAgICBg KCgiYW50bHIzIiAsYW50bHIzKQorICAgICAgICgiamF2YS1zdHJpbmd0ZW1wbGF0ZSIgLGphdmEt c3RyaW5ndGVtcGxhdGUpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImphdmEt b3BlbmpmeC1ncmFwaGljcyIgLGphdmEtb3BlbmpmeC1ncmFwaGljcykpKSkpCisKKyhkZWZpbmUt cHVibGljIGphdmEtb3BlbmpmeC1jb250cm9scworICAocGFja2FnZSAoaW5oZXJpdCBqYXZhLW9w ZW5qZngtYnVpbGQpCisgICAgKG5hbWUgImphdmEtb3BlbmpmeC1jb250cm9scyIpCisgICAgKGFy Z3VtZW50cworICAgICBgKCM6amFyLW5hbWUgImphdmEtb3BlbmpmeC1jb250cm9scy5qYXIiCisg ICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL2NvbnRyb2xzL3NyYy9tYWluL2phdmEiCisgICAg ICAgIzp0ZXN0cz8gI2YKKyAgICAgICAjOnBoYXNlcworICAgICAgIChtb2RpZnktcGhhc2VzICVz dGFuZGFyZC1waGFzZXMKKyAgICAgICAgIChhZGQtYmVmb3JlICdidWlsZCAnY29weS1yZXNvdXJj ZXMKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGxldCAoKHJlc291cmNlcyAo c3RyaW5nLWFwcGVuZCAoZ2V0Y3dkKSAiL21vZHVsZXMvY29udHJvbHMvc3JjL21haW4vcmVzb3Vy Y2VzIikpKQorICAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgcmVzb3VyY2VzICJidWls ZC9jbGFzc2VzIikpICN0KSkpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImph dmEtb3BlbmpmeC1ncmFwaGljcyIgLGphdmEtb3BlbmpmeC1ncmFwaGljcykpKSkpCiAKIChkZWZp bmUtcHVibGljIGphdmEtb3BlbmpmeC1tZWRpYQogICAocGFja2FnZSAoaW5oZXJpdCBqYXZhLW9w ZW5qZngtYnVpbGQpCkBAIC0yNzAyLDMyICszMzAxLDE3NCBAQCAoZGVmaW5lLXB1YmxpYyBqYXZh LW9wZW5qZngtbWVkaWEKIGFwcGxpY2F0aW9ucy4gIFRoaXMgcGFja2FnZSBjb250YWlucyBtZWRp YS1yZWxhdGVkIGNsYXNzZXMgZm9yIHRoZQogT3BlbkpGWCBkaXN0cmlidXRpb24uIikpKQogCi0o ZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtY29udHJvbHMKKyhkZWZpbmUtcHVibGljIGphdmEt b3BlbmpmeC13ZWIKICAgKHBhY2thZ2UgKGluaGVyaXQgamF2YS1vcGVuamZ4LWJ1aWxkKQotICAg IChuYW1lICJqYXZhLW9wZW5qZngtY29udHJvbHMiKQotICAgIChwcm9wYWdhdGVkLWlucHV0cwot ICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNzIiAsamF2YS1vcGVuamZ4LWdyYXBoaWNzKSkp CisgICAgKG5hbWUgImphdmEtb3BlbmpmeC13ZWIiKQogICAgIChhcmd1bWVudHMKLSAgICAgYCgj Omphci1uYW1lICJqYXZhLW9wZW5qZngtY29udHJvbHMuamFyIgotICAgICAgICM6c291cmNlLWRp ciAibW9kdWxlcy9jb250cm9scy9zcmMvbWFpbi9qYXZhIgotICAgICAgICM6dGVzdC1kaXIgIm1v ZHVsZXMvY29udHJvbHMvc3JjL3Rlc3QiCi0gICAgICAgOzsgVE9ETzogdGVzdHMgcmVxdWlyZSBj b20uc3VuLmphdmFmeC5wZ3N0dWIsCi0gICAgICAgOzsgamF2YWZ4LmNvbGxlY3Rpb25zLk1vY2tT ZXRPYnNlcnZlciwgYW5kCi0gICAgICAgOzsgY29tLnN1bi5qYXZhZnguYmluZGluZy5FeHByZXNz aW9uSGVscGVyVXRpbGl0eQotICAgICAgICM6dGVzdHM/ICNmYWxzZQorICAgICBgKCM6amFyLW5h bWUgImphdmEtb3BlbmpmeC13ZWIuamFyIgorICAgICAgICM6c291cmNlLWRpciAoc3RyaW5nLWpv aW4gJygibW9kdWxlcy93ZWIvc3JjL21haW4vamF2YSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIm1vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvV2ViQ29yZS9i aW5kaW5ncy9qYXZhL2RvbTMiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjsi KQorICAgICAgICM6dGVzdHM/ICNmCisgICAgICAgIzptb2R1bGVzICgoaWNlLTkgbWF0Y2gpCisg ICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAgICAgICAg ICAgICAgICAgKGd1aXggYnVpbGQgdXRpbHMpKQogICAgICAgICM6cGhhc2VzCiAgICAgICAgKG1v ZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwotICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNr ICdjb3B5LXJlc291cmNlcworICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCisgICAgICAgICAgIChs YW1iZGEqIF8KKyAgICAgICAgICAgICAoaW52b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2Vz LmRpcj1tb2R1bGVzL3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAg I3QpKQorCisgICAgICAgICAoYWRkLWFmdGVyICdidWlsZCAnZ2VuZXJhdGUtaGVhZGVycworICAg ICAgICAgICA7OyBYWDogV2UgcHJvdmlkZSBvbmx5IHNvZnR3YXJlIGJ1aWx0IGZyb20gc291cmNl LCBzbyBsZXQncyBidWlsZAorICAgICAgICAgICA7OyB3ZWJraXQgYXMgd2VsbC4gTGlzdCBvZiB3 ZWJraXQgY2xhc3NlcyBjYW4gYmUgZm91bmQgaW4KKyAgICAgICAgICAgOzsgYnVpbGQuZ3JhZGxl OjI1MTYuIFdlIG5lZWQgdG8gZ2VuZXJhdGUgaGVhZGVycyBmb3IgdGhlIHVwY29taW5nCisgICAg ICAgICAgIDs7IGNvbXBpbGF0aW9uIHN0ZXAgZmlyc3QgYW5kIHB1dCB0aGVtIGluIGdlbmVyYXRl ZC1zcmMvaGVhZGVycworICAgICAgICAgICA7OyBsb2NhdGlvbi4KKyAgICAgICAgICAgKGxhbWJk YSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgKGxldCog KChjbGFzc2VzICJtb2R1bGVzL3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAg ICAgICAgICAgICAgICh3ZWItZ2VuZXJhdGVkLWhlYWRlcnMgIm1vZHVsZXMvd2ViL2J1aWxkL2dl bmVyYXRlZC1zcmMvaGVhZGVycyIpCisgICAgICAgICAgICAgICAgICAgICh3ZWItZ2VuZXJhdGVk LWNsYXNzZXMgJygiY29tLnN1bi53ZWJraXQuQ29udGV4dE1lbnUiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuQ29udGV4dE1lbnVJ dGVtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5z dW4ud2Via2l0LkN1cnNvck1hbmFnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuUGFnZUNhY2hlIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LlBvcHVwTWVudSIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndl YmtpdC5TaGFyZWRCdWZmZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiY29tLnN1bi53ZWJraXQuV2ViUGFnZSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5Mb2FkTGlzdGVuZXJDbGllbnQi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53 ZWJraXQuZXZlbnQuV0NGb2N1c0V2ZW50IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmV2ZW50LldDS2V5RXZlbnQiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuZXZl bnQuV0NNb3VzZUV2ZW50IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImNvbS5zdW4ud2Via2l0LmV2ZW50LldDTW91c2VXaGVlbEV2ZW50IgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBo aWNzLkdyYXBoaWNzRGVjb2RlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJjb20uc3VuLndlYmtpdC5ncmFwaGljcy5SZW5kZXJNZWRpYUNvbnRyb2xzIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Vi a2l0LmdyYXBoaWNzLlJlbmRlclRoZW1lIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBoaWNzLlNjcm9sbEJhclRoZW1lIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Vi a2l0LmdyYXBoaWNzLldDTWVkaWFQbGF5ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuZ3JhcGhpY3MuV0NHcmFwaGljc01hbmFn ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1 bi53ZWJraXQuZ3JhcGhpY3MuV0NSZW5kZXJRdWV1ZSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5ncmFwaGljcy5XQ1BhdGgiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJr aXQuZ3JhcGhpY3MuV0NQYXRoSXRlcmF0b3IiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuVGltZXIiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuV0NGcmFtZVZpZXci CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53 ZWJraXQuV0NQYXN0ZWJvYXJkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImNvbS5zdW4ud2Via2l0LldDUGx1Z2luV2lkZ2V0IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmRvbS5DaGFyYWN0 ZXJEYXRhSW1wbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJjb20uc3VuLndlYmtpdC5kb20uSlNPYmplY3QiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQubmV0d29yay5Tb2NrZXRTdHJlYW1I YW5kbGUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29t LnN1bi53ZWJraXQubmV0d29yay5VUkxMb2FkZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQudGV4dC5UZXh0QnJlYWtJdGVyYXRv ciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3Vu LndlYmtpdC50ZXh0LlRleHROb3JtYWxpemVyIikpCisgICAgICAgICAgICAgICAgICAgIChncmFw aGljcyAoYXNzb2MtcmVmIGlucHV0cyAiamF2YS1vcGVuamZ4LWdyYXBoaWNzIikpKQorICAgICAg ICAgICAgICAgKG1rZGlyLXAgd2ViLWdlbmVyYXRlZC1oZWFkZXJzKQorICAgICAgICAgICAgICAg KGFwcGx5IGludm9rZQorICAgICAgICAgICAgICAgICAgICAgICJqYXZhaCIKKyAgICAgICAgICAg ICAgICAgICAgICAiLURqYXZhLmV4dC5kaXJzPSIKKyAgICAgICAgICAgICAgICAgICAgICAiLVhE aWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAgICAgICAgICAgICAgICItWER1c2VVbnNoYXJl ZFRhYmxlPXRydWUiCisgICAgICAgICAgICAgICAgICAgICAgIi1kIiB3ZWItZ2VuZXJhdGVkLWhl YWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5nLWpvaW4gKGNvbnMqIGNs YXNzZXMgKGZpbmQtZmlsZXMgZ3JhcGhpY3MgIlxcLmphciQiKSkgIjoiKQorICAgICAgICAgICAg ICAgICAgICAgIHdlYi1nZW5lcmF0ZWQtY2xhc3NlcykpCisgICAgICAgICAgICAgI3QpKQorCisg ICAgICAgICAoYWRkLWFmdGVyICdnZW5lcmF0ZS1oZWFkZXJzICdjb21waWxlLW5hdGl2ZS1saW51 eAorICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIHN5c3RlbSBvdXRwdXRzICM6YWxs b3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0KiAgKChtb2R1bGUgKHN0cmluZy1hcHBl bmQgKGdldGN3ZCkgIi9tb2R1bGVzL3dlYiIpKQorICAgICAgICAgICAgICAgICAgICAgOzsKKyAg ICAgICAgICAgICAgICAgICAgICh3ZWJraXQtbmF0aXZlLWRlc3QgKHN0cmluZy1hcHBlbmQgbW9k dWxlICIvYnVpbGQvbGludXgiKSkKKyAgICAgICAgICAgICAgICAgICAgICh3ZWJraXQtbmF0aXZl LXNyYyAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9zcmMvbWFpbi9uYXRpdmUiKSkKKyAgICAgICAg ICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAobGliIChzdHJpbmctYXBwZW5k IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikgIi9saWIiKSkKKyAgICAgICAgICAgICAgICAgICAg IDs7IHVuYW1lIC1tCisgICAgICAgICAgICAgICAgICAgICAobWFjaGluZSAobWF0Y2ggc3lzdGVt CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgieDg2XzY0LWxpbnV4IiAgICJ4ODZf NjQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoImk2ODYtbGludXgiICAgICAi aTY4NiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFByZXZlbnQgZXJyb3Jz IHdoZW4gcXVlcnlpbmcgdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBw YWNrYWdlIG9uIHVuc3VwcG9ydGVkIHBsYXRmb3JtcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgZS5nLiB3aGVuIHJ1bm5pbmcgImd1aXggcGFja2FnZQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyAtLXNlYXJjaD0iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChfICAgICAgICAgICAgICAgICJVTlNVUFBPUlRFRCIpKSkpCisKKyAgICAgICAg ICAgICAgIChzZXRlbnYgIlBZVEhPTkRPTlRXUklURUJZVEVDT0RFIiAiMSIpCisgICAgICAgICAg ICAgICAoc2V0ZW52ICJXRUJLSVRfT1VUUFVURElSIiB3ZWJraXQtbmF0aXZlLWRlc3QpCisgICAg ICAgICAgICAgICAoYXBwbHkgaW52b2tlIGAoInBlcmwiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLChzdHJpbmctYXBwZW5kIHdlYmtpdC1uYXRpdmUtc3JjICIvVG9vbHMvU2NyaXB0 cy9zZXQtd2Via2l0LWNvbmZpZ3VyYXRpb24iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICwoaWYgLCh0YXJnZXQtNjRiaXQ/KSAiLS02NC1iaXQiICItLTMyLWJpdCIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIi0tcmVsZWFzZSIpKQorCisgICAgICAgICAgICAgICAo aW52b2tlICJwZXJsIgorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCB3ZWJr aXQtbmF0aXZlLXNyYyAiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IikKKyAgICAgICAgICAg ICAgICAgICAgICAgIi0tamF2YSIgOyB3ZWJraXQgcG9ydAorICAgICAgICAgICAgICAgICAgICAg ICAiLS1za2lwLWxpYnJhcnktdXBkYXRlIgorICAgICAgICAgICAgICAgICAgICAgICAiLS1pY3Ut dW5pY29kZSIKKyAgICAgICAgICAgICAgICAgICAgICAgIi0tdmVyYm9zZSIKKyAgICAgICAgICAg ICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICItLWNt YWtlYXJncz0iCisgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAobGlzdCAiLURFTkFCTEVfVE9PTFM9MSIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiLURDTUFLRV9TWVNURU1fTkFNRT1MaW51eCIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBFbnN1cmUgdGhhdCB0aGUgbGlicmFyaWVzIGFyZSBpbnN0 YWxsZWQgaW50byAvbGliCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgIi1EQ01BS0VfSU5TVEFMTF9MSUJESVI9IiBsaWIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOzsgQWRkIGlucHV0IGxpYnJhcmllcyB0byBycGF0aAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItRENNQUtFX0lOU1RBTExfUlBBVEhfVVNFX0xJTktfUEFUSD1U UlVFIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEVuYWJsZSB2ZXJib3NlIG91 dHB1dCBmcm9tIGJ1aWxkcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItRENNQUtF X1ZFUkJPU0VfTUFLRUZJTEU9T04iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmluZy1hcHBlbmQgIi1EQ01BS0VfU0hBUkVEX0xJTktFUl9GTEFHUz0iCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwiLVdsLC1ycGF0aD0iIGxpYiAiXCIi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItRENNQUtF X1NZU1RFTV9QUk9DRVNTT1I9IiBtYWNoaW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItREpBVkFGWF9SRUxFQVNFX1ZFUlNJT049OC4wIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItVyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVdhbGwiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24t ZGVjbGFyYXRpb24iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XbCwtLWdjLXNl Y3Rpb25zIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLXBhcmVudGhlc2Vz IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLXVudXNlZCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLWZQSUMiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1mbm8tb21pdC1mcmFtZS1wb2ludGVyIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICItZm5vLXN0cmljdC1hbGlhc2luZyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLWZzdGFjay1wcm90ZWN0b3IiKSkpKSkKKyAgICAgICAgICAgICAjdCkpCisKKyAgICAg ICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtbmF0aXZlLWxpbnV4ICdpbnN0YWxsLW5hdGl2ZQorICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAg ICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91 dCIpICIvbGliIikpKQorICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNvJCIpKSkKKyAgICAgICAg ICAgICAjdCkpCisKKyAgICAgICAgIChhZGQtYmVmb3JlICdpbnN0YWxsICdidWlsZC1qYXIKICAg ICAgICAgICAgKGxhbWJkYSBfCi0gICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVs ZXMvY29udHJvbHMvc3JjL3Rlc3QvcmVzb3VyY2VzIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJidWlsZC90ZXN0LWNsYXNzZXMiKQotICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2 ZWx5ICJtb2R1bGVzL2NvbnRyb2xzL3NyYy9tYWluL3Jlc291cmNlcyIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiYnVpbGQvY2xhc3NlcyIpKSkpKSkKLSAgICAoZGVzY3JpcHRpb24g Ik9wZW5KRlggaXMgYSBjbGllbnQgYXBwbGljYXRpb24gcGxhdGZvcm0gZm9yIGRlc2t0b3AsCi1t b2JpbGUgYW5kIGVtYmVkZGVkIHN5c3RlbXMgYnVpbHQgb24gSmF2YS4gIEl0cyBnb2FsIGlzIHRv IHByb2R1Y2UgYQotbW9kZXJuLCBlZmZpY2llbnQsIGFuZCBmdWxseSBmZWF0dXJlZCB0b29sa2l0 IGZvciBkZXZlbG9waW5nIHJpY2ggY2xpZW50Ci1hcHBsaWNhdGlvbnMuICBUaGlzIHBhY2thZ2Ug Y29udGFpbnMgVUkgY29udHJvbCBjbGFzc2VzIGZvciB0aGUKLU9wZW5KRlggZGlzdHJpYnV0aW9u LiIpKSkKKyAgICAgICAgICAgICAobGV0KiAoKHJlc291cmNlcyAibW9kdWxlcy93ZWIvc3JjL21h aW4vcmVzb3VyY2VzIikKKyAgICAgICAgICAgICAgICAgICAgKGNsYXNzZXMgIm1vZHVsZXMvd2Vi L2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikpCisgICAgICAgICAgICAgICAoY29weS1yZWN1cnNp dmVseSByZXNvdXJjZXMgY2xhc3NlcykKKyAgICAgICAgICAgICAgIChpbnZva2UgImFudCIgImph ciIgKHN0cmluZy1hcHBlbmQgIi1EY2xhc3Nlcy5kaXI9IiBjbGFzc2VzKSkpCisgICAgICAgICAg ICAgI3QpKSkpKQorCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImphdmEtanVuaXQiICxq YXZhLWp1bml0KQorICAgICAgICgiamF2YS1oYW1jcmVzdC1jb3JlIiAsamF2YS1oYW1jcmVzdC1j b3JlKQorICAgICAgICgiY21ha2UiICxjbWFrZSkKKyAgICAgICAoImd0ayIgLGd0aystMikKKyAg ICAgICAoImd0azMiICxndGsrKQorICAgICAgICgicnVieSIgLHJ1YnkpCisgICAgICAgKCJwZXJs IiAscGVybCkKKyAgICAgICAoImdwZXJmIiAsZ3BlcmYpCisgICAgICAgKCJweXRob24tMiIgLHB5 dGhvbi0yKQorICAgICAgICgicGtnLWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAoaW5wdXRz CisgICAgIGAoKCJhbnRscjMiICxhbnRscjMpCisgICAgICAgKCJqYXZhLXN0cmluZ3RlbXBsYXRl IiAsamF2YS1zdHJpbmd0ZW1wbGF0ZSkKKyAgICAgICA7OyBXZWJraXQgSmF2YSBwb3J0IGRlcGVu ZGVuY2llcworICAgICAgICgiaWN1NGMiICxpY3U0YykKKyAgICAgICAoImxpYnhtbDIiICxsaWJ4 bWwyKQorICAgICAgICgibGlieHNsdCIgLGxpYnhzbHQpCisgICAgICAgKCJzcWxpdGUiICxzcWxp dGUpKSkKKyAgICAocHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImphdmEtb3BlbmpmeC1jb250 cm9scyIgLGphdmEtb3BlbmpmeC1jb250cm9scykKKyAgICAgICAoImphdmEtb3BlbmpmeC1tZWRp YSIgLGphdmEtb3BlbmpmeC1tZWRpYSkKKyAgICAgICAoImphdmEtb3BlbmpmeC1ncmFwaGljcyIg LGphdmEtb3BlbmpmeC1ncmFwaGljcykpKSkpCiAKIChkZWZpbmUtcHVibGljIGphdmFjYy00CiAg IChwYWNrYWdlCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngt YnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2ph dmEtb3BlbmpmeC1idWlsZC1zd2luZy1KRlhQYW5lbC1KREs4LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmI1NDAwNDg2MjEKLS0tIC9kZXYvbnVsbAorKysgYi9n bnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRL OC5wYXRjaApAQCAtMCwwICsxLDYwIEBACitTdWJqZWN0OiBbUEFUQ0hdIGphdmEtb3BlbmpmeC1i dWlsZDogQ2Fubm90IGNvbXBpbGUgSkZYUGFuZWwgd2l0aCBKREsgOAorCitJbiBKREt1OSBnZXRE ZWZhdWx0U2NhbGUgbWV0aG9kIHdhcyByZW1vdmVkIGFuZCBzdW4uamF2YTJkLlN1cmZhY2VEYXRh IGNsYXNzIG5vdworaGFzIHNlcGFyYXRlIGdldERlZmF1bHRTY2FsZVgoKSBhbmQgZ2V0RGVmYXVs dFNjYWxlWSgpIG1ldGhvZHMuIFNlZQoraHR0cHM6Ly9idWdzLm9wZW5qZGsuamF2YS5uZXQvYnJv d3NlL0pESy04MDczMzIwIGZvciBtb3JlIGluZm8uCisKK0JhY2twb3J0IHRoZSBtaXNzaW5nIHBv cnQgdG8gYnVpbGQgb3BlbmpmeC1zd2luZyBwYWNrYWdlIHVzaW5nIEpES3U4LiBGb3IgbW9yZQor aW5mbyBwbGVhc2Ugc2VlIGh0dHBzOi8vYnVncy5vcGVuamRrLmphdmEubmV0L2Jyb3dzZS9KREst ODE0OTk2NworCistLS0KKyAuLi4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2 YSAgICAgfCAyMCArKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvc3dpbmcvc3Jj L21haW4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YSBiL21vZHVsZXMvc3dp bmcvc3JjL21haW4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YQoraW5kZXgg OTc1MTVlMjI5MC4uNjE0ZWQ2NTZiOSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvc3dpbmcvc3JjL21h aW4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YQorKysrIGIvbW9kdWxlcy9z d2luZy9zcmMvbWFpbi9qYXZhL2phdmFmeC9lbWJlZC9zd2luZy9KRlhQYW5lbC5qYXZhCitAQCAt ODEsNiArODEsNyBAQCBpbXBvcnQgc3VuLmF3dC5BcHBDb250ZXh0OworIGltcG9ydCBzdW4uYXd0 LkNhdXNlZEZvY3VzRXZlbnQ7CisgaW1wb3J0IHN1bi5hd3QuU3VuVG9vbGtpdDsKKyBpbXBvcnQg c3VuLmphdmEyZC5TdW5HcmFwaGljczJEOworK2ltcG9ydCBzdW4uamF2YTJkLlN1cmZhY2VEYXRh OworIGltcG9ydCBzdW4udXRpbC5sb2dnaW5nLlBsYXRmb3JtTG9nZ2VyOworIGltcG9ydCBzdW4u dXRpbC5sb2dnaW5nLlBsYXRmb3JtTG9nZ2VyLkxldmVsOworCitAQCAtNjgxLDYgKzY4MiwyMyBA QAorICAgICAgICAgICAgICAgICBlLmdldENhcmV0KCkuZ2V0SW5zZXJ0aW9uSW5kZXgoKSk7Cisg ICAgIH0KKworKyAgICAvLyBGSVhNRTogb25jZSB3ZSBtb3ZlIHRvIEpESyA5IGFzIHRoZSBib290 IEpESyB3ZSBzaG91bGQgcmVtb3ZlIHRoZQorKyAgICAvLyByZWZsZWN0aW9uIGNvZGUgZnJvbSB0 aGlzIG1ldGhvZCwgY29uc2lkZXIgY2hhbmdpbmcgaXQgdG8KKysgICAgLy8gdXNlIGRvdWJsZSBy YXRoZXIgdGhhbiBpbnQsIGFuZCBhY2NvdW50IGZvciB0aGUgcG9zc2liaWxpdHkgb2YKKysgICAg Ly8gYSBkaWZmZXJlbnQgc2NhbGUgZmFjdG9yIGluIFggYW5kIFkuCisrICAgIHByaXZhdGUgaW50 IGdldERlZmF1bHRTY2FsZShTdXJmYWNlRGF0YSBzdXJmYWNlRGF0YSkgeworKyAgICAgICAgLyoK KysgICAgICAgICAgZG91YmxlIHNjYWxlID0gc3VyZmFjZURhdGEuZ2V0RGVmYXVsdFNjYWxlWCgp OworKyAgICAgICAgKi8KKysgICAgICAgIGRvdWJsZSBzY2FsZSA9IDE7CisrICAgICAgICB0cnkg eworKyAgICAgICAgICAgIE1ldGhvZCBtZXRoID0gU3VyZmFjZURhdGEuY2xhc3MuZ2V0TWV0aG9k KCJnZXREZWZhdWx0U2NhbGVYIik7CisrICAgICAgICAgICAgc2NhbGUgPSAoRG91YmxlKW1ldGgu aW52b2tlKHN1cmZhY2VEYXRhKTsKKysgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBleCkgewor KyAgICAgICAgfQorKworKyAgICAgICAgcmV0dXJuIChpbnQpTWF0aC5yb3VuZChzY2FsZSk7Cisr ICAgIH0KKworICAgICAvKioKKyAgICAgICogT3ZlcnJpZGVzIHRoZSB7QGxpbmsgamF2YXguc3dp bmcuSkNvbXBvbmVudCNwYWludENvbXBvbmVudChHcmFwaGljcyl9CitAQCAtNzIwLDcgKzczOCw3 IEBAIHB1YmxpYyBjbGFzcyBKRlhQYW5lbCBleHRlbmRzIEpDb21wb25lbnQgeworCisgICAgICAg ICAgICAgaW50IG5ld1NjYWxlRmFjdG9yID0gc2NhbGVGYWN0b3I7CisgICAgICAgICAgICAgaWYg KGcgaW5zdGFuY2VvZiBTdW5HcmFwaGljczJEKSB7CistICAgICAgICAgICAgICAgIG5ld1NjYWxl RmFjdG9yID0gKChTdW5HcmFwaGljczJEKWcpLnN1cmZhY2VEYXRhLmdldERlZmF1bHRTY2FsZSgp OworKyAgICAgICAgICAgICAgICBuZXdTY2FsZUZhY3RvciA9IGdldERlZmF1bHRTY2FsZSgoKFN1 bkdyYXBoaWNzMkQpZykuc3VyZmFjZURhdGEpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICBpZiAoc2NhbGVGYWN0b3IgIT0gbmV3U2NhbGVGYWN0b3IpIHsKKyAgICAgICAgICAgICAgICAg cmVzaXplUGl4ZWxCdWZmZXIobmV3U2NhbGVGYWN0b3IpOworLS0KKzIuMjQuMQpkaWZmIC0tZ2l0 IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1EdW1wUmVuZGVy VHJlZS1qYXZhLnBhdGNoIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxk LXdlYi1EdW1wUmVuZGVyVHJlZS1qYXZhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAuLjAyMDBlOTJjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMv cGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLUR1bXBSZW5kZXJUcmVlLWphdmEucGF0Y2gK QEAgLTAsMCArMSwzMCBAQAorU3ViamVjdDogW1BBVENIXSBGaXggRHVtcFJlbmRlclRyZWUgbGlu a2luZy4KKworRHVtcFJlbmRlclRyZWUgY29tcGlsZXMgT0ssIGJ1dCBmYWlscyBvbiBhIGxpbmtp bmcgc3RhZ2Ugd2l0aCB0aGUgYmVsbG93CitlcnJvci4gSSBmb3VuZCB0aGUgdmVyeSBzYW1lIGZp eCBmb3Igb3BlbmpmeC04IEZyZWVCU0QgcG9ydHMgYXMgd2VsbC4gTGV0J3MKK2lnbm9yZSB1bmRl ZmluZWQgcmVmZXJlbmNlcyBmb3Igbm93LgorCitDTWFrZUZpbGVzL0R1bXBSZW5kZXJUcmVlSmF2 YS5kaXIvX18vVGVzdFJ1bm5lci5jcHAubzpUZXN0UnVubmVyLmNwcDpmdW5jdGlvbiBUZXN0UnVu bmVyOjpydW5VSVNjcmlwdChPcGFxdWVKU0NvbnRleHQgY29uc3QqLCBPcGFxdWVKU1N0cmluZyos IE9wYXF1ZUpTVmFsdWUgY29uc3QqKTogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ1dU Rjo6U3RyaW5nOjpTdHJpbmcodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25lZCBpbnQpJwor Q01ha2VGaWxlcy9EdW1wUmVuZGVyVHJlZUphdmEuZGlyL19fL19fL1Rlc3RSdW5uZXJTaGFyZWQv VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udGV4dC5jcHAubzpVSVNjcmlwdENvbnRleHQuY3Bw OmZ1bmN0aW9uIFdUUjo6VUlTY3JpcHRDb250ZXh0Ojp0cnlUb0NvbXBsZXRlVUlTY3JpcHRGb3JD dXJyZW50UGFyZW50Q2FsbGJhY2soKTogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ1dU Rjo6U3RyaW5nOjpTdHJpbmcodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25lZCBpbnQpJwor Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCisKKy0tLQorIC4uLi9z cmMvbWFpbi9uYXRpdmUvVG9vbHMvRHVtcFJlbmRlclRyZWUvamF2YS9DTWFrZUxpc3RzLnR4dCAg fCA0IC0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Ub29scy9EdW1wUmVuZGVyVHJlZS9qYXZhL0NN YWtlTGlzdHMudHh0IGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Rvb2xzL0R1bXBSZW5k ZXJUcmVlL2phdmEvQ01ha2VMaXN0cy50eHQKK2luZGV4IGUyY2U1ZWYuLjJhZDNkYjcgMTAwNjQ0 CistLS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvVG9vbHMvRHVtcFJlbmRlclRyZWUv amF2YS9DTWFrZUxpc3RzLnR4dAorKysrIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Rv b2xzL0R1bXBSZW5kZXJUcmVlL2phdmEvQ01ha2VMaXN0cy50eHQKK0BAIC03Miw5ICs3Miw1IEBA IGFkZF9saWJyYXJ5KER1bXBSZW5kZXJUcmVlSmF2YSBTSEFSRUQgJHtEdW1wUmVuZGVyVHJlZV9T T1VSQ0VTfSkKKyBhZGRfZGVmaW5pdGlvbnMoLURXRUJDT1JFX0VYUE9SVD1XVEZfSU1QT1JUIC1E V0VCQ09SRV9URVNUU1VQUE9SVF9FWFBPUlQ9V1RGX0lNUE9SVCkKKyBhZGRfZGVwZW5kZW5jaWVz KER1bXBSZW5kZXJUcmVlSmF2YSBEdW1wUmVuZGVyVHJlZUJpbmRpbmdzKQorCistaWYgKFVOSVgg QU5EIE5PVCBBUFBMRSkKKy0gIHNldF90YXJnZXRfcHJvcGVydGllcyhEdW1wUmVuZGVyVHJlZUph dmEgUFJPUEVSVElFUyBMSU5LX0ZMQUdTICItV2wsLS1uby11bmRlZmluZWQiKQorLWVuZGlmICgp CistCisgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKER1bXBSZW5kZXJUcmVlSmF2YSBQUk9QRVJUSUVT IE9VVFBVVF9OQU1FICJEdW1wUmVuZGVyVHJlZUphdmEiKQorIHRhcmdldF9saW5rX2xpYnJhcmll cyhEdW1wUmVuZGVyVHJlZUphdmEgJHtEdW1wUmVuZGVyVHJlZV9MSUJSQVJJRVN9KQorLS0KKzIu MjYuMgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxk LXdlYi1PcHRpb25zSmF2YS5jbWFrZS5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMWYxMzM1NzFjYgotLS0gL2Rldi9udWxsCisrKyBiL2du dS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21h a2UucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorU3ViamVjdDogW1BBVENIXSBVc2UgZmluZF9wYWNr YWdlLgorCitXZSByZW1vdmUgYWxsIGVtYmVkZGVkIDNyZC1wYXJ0eSBsaWJzIGxpa2UgaWN1LCBs aWJ4bWwsIGxpYnhzbHQgYW5kIHNxbGl0ZSwKK2FuZCB1c2UgbGlicmFyaWVzIHByb3ZpZGVkIHZp YSBndWl4IGlucHV0cy4KKy0tLQorIC4uLi93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFr ZS9PcHRpb25zSmF2YS5jbWFrZSB8IDEwICsrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWIv c3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFrZS9PcHRpb25zSmF2YS5jbWFrZSBiL21vZHVsZXMv d2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvT3B0aW9uc0phdmEuY21ha2UKK2luZGV4 IDc2YTY2OTUuLjczYzUyNWIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRp dmUvU291cmNlL2NtYWtlL09wdGlvbnNKYXZhLmNtYWtlCisrKysgYi9tb2R1bGVzL3dlYi9zcmMv bWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09wdGlvbnNKYXZhLmNtYWtlCitAQCAtMjYsMTMgKzI2 LDExIEBAIGVuZGlmICgpCisgc2V0KExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0ZV TExfTElCRElSfSIgQ0FDSEUgUEFUSCAiQWJzb2x1dGUgcGF0aCB0byBsaWJyYXJ5IGluc3RhbGxh dGlvbiBkaXJlY3RvcnkiKQorIHNldChFWEVDX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExf RlVMTF9CSU5ESVJ9IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGV4ZWN1dGFibGUgaW5z dGFsbGF0aW9uIGRpcmVjdG9yeSIpCisKKy1zZXQoU1FMSVRFX0xJQlJBUklFUyBTcWxpdGVKYXZh KQorLXNldChMSUJYTUwyX0xJQlJBUklFUyBYTUxKYXZhKQorLXNldChMSUJYU0xUX0xJQlJBUklF UyBYU0xUSmF2YSkKKworLXNldChJQ1VfTElCUkFSSUVTIGljdXVjIGljdWRhdGEpCistc2V0KElD VV9JMThOX0xJQlJBUklFUyBpY3VpMThuIGljdXVjIGljdWRhdGEpCistc2V0KElDVV9EQVRBX0xJ QlJBUklFUyBpY3VkYXRhKQorK2ZpbmRfcGFja2FnZShTcWxpdGUgUkVRVUlSRUQpCisrZmluZF9w YWNrYWdlKExpYlhtbDIgUkVRVUlSRUQpCisrZmluZF9wYWNrYWdlKExpYlhzbHQgUkVRVUlSRUQp CisrZmluZF9wYWNrYWdlKElDVSBSRVFVSVJFRCkKKworIGZpbmRfcGFja2FnZShKTkkgUkVRVUlS RUQpCisgZmluZF9wYWNrYWdlKFRocmVhZHMgUkVRVUlSRUQpCistLQorMi4yNi4yCmRpZmYgLS1n aXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRj aCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV1RGLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjVmYTc2NDQ5ZGYKLS0tIC9k ZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2Vi LVdURi5wYXRjaApAQCAtMCwwICsxLDMzIEBACitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxh dGlvbiBhZ2FpbnN0IElDVSA1OSsuCisKK0lDVTRDIGhhcyBtb3ZlZCB0byBjaGFyMTZfdCBhcyB0 aGUgdHlwZSBmb3IgVVRGLTE2CitodHRwOi8vc2l0ZS5pY3UtcHJvamVjdC5vcmcvZG93bmxvYWQv NTkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvV1RG L3d0Zi91bmljb2RlL2phdmEvVW5pY29kZUphdmEuaCBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25h dGl2ZS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL2phdmEvVW5pY29kZUphdmEuaAoraW5kZXggMDk5 M2FhNi4uZTZlYTEzMSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9T b3VyY2UvV1RGL3d0Zi91bmljb2RlL2phdmEvVW5pY29kZUphdmEuaAorKysrIGIvbW9kdWxlcy93 ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvamF2YS9Vbmljb2RlSmF2 YS5oCitAQCAtMTUsMjEgKzE1LDYgQEAKKworICNkZWZpbmUgQ2hhclByb3AocCkgY29tX3N1bl93 ZWJraXRfZG9tX0NoYXJhY3RlckRhdGFJbXBsXyMjcAorCistI2lmIFBMQVRGT1JNKEpBVkEpICYm IE9TKFdJTkRPV1MpCistdHlwZWRlZiB3Y2hhcl90IFVDaGFyOworLSNlbHNlCistdHlwZWRlZiB1 aW50MTZfdCBVQ2hhcjsKKy0jZW5kaWYKKy0KKy0vLyAjaWZkZWYgVUNoYXIzMgorLS8vICN1bmRl ZiBVQ2hhcjMyCistLy8gI2VuZGlmCistCistI2lmbmRlZiBfX1VNQUNISU5FX0hfXyAvL1hYWDog cmVjaGVjaworLXR5cGVkZWYgdWludDMyX3QgVUNoYXIzMjsKKy0jZW5kaWYKKy0KKy0jZGVmaW5l IFVfTUFTSyh4KSAoKHVpbnQzMl90KTE8PCh4KSkKKyAjZGVmaW5lIFVTRV9GQVNUX1BBVEgoYywg ZmFzdCwgc2xvdykgKChjKSA8PSAweDdGID8gZmFzdCgoY2hhciljKSA6IHNsb3coYykpCisKKyAj ZGVmaW5lIENIRUNLX1BST1BFUlRZKGMsIG1hc2ssIGlzU2V0KSBcCistLQorMi4yNi4yCmRpZmYg LS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdlYktp dENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9w ZW5qZngtYnVpbGQtd2ViLVdlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZDBiYmI3ZTNiMgotLS0gL2Rldi9udWxsCisr KyBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV2ViS2l0Q29t cGlsZXJGbGFncy5jbWFrZS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitTdWJqZWN0OiBbUEFUQ0hd IEZpeCBXZWJLaXQgbGlua2FnZS4KKworU29tZWhvdyB0aGUgd2hvbGUgbGlua2FnZSBmYWlscyBi ZWNhdXNlIG9mIHRoZSBUZXN0UnVubmVyJ3MgdW5kZWZpbmVkCityZWZlcmVuY2VzLiBIb3dldmVy LCBJIHNlZSB0aGUgdmVyeSBzYW1lIGZpeGVzIGluIG9wZW5qZng4LWRldmVsIEZyZWVCU0QgcG9y dCwKK2V2ZW4gdGhvdWdoIHRoZXkgdXNlIGdyYWRsZSB0byBidWlsZCBpdC4KKworQ01ha2VGaWxl cy9EdW1wUmVuZGVyVHJlZUphdmEuZGlyL19fL1Rlc3RSdW5uZXIuY3BwLm86VGVzdFJ1bm5lci5j cHA6ZnVuY3Rpb24gVGVzdFJ1bm5lcjo6cnVuVUlTY3JpcHQoT3BhcXVlSlNDb250ZXh0IGNvbnN0 KiwgT3BhcXVlSlNTdHJpbmcqLCBPcGFxdWVKU1ZhbHVlIGNvbnN0Kik6IGVycm9yOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvICdXVEY6OlN0cmluZzo6U3RyaW5nKHVuc2lnbmVkIHNob3J0IGNvbnN0 KiwgdW5zaWduZWQgaW50KScKK0NNYWtlRmlsZXMvRHVtcFJlbmRlclRyZWVKYXZhLmRpci9fXy9f Xy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRleHQuY3BwLm86 VUlTY3JpcHRDb250ZXh0LmNwcDpmdW5jdGlvbiBXVFI6OlVJU2NyaXB0Q29udGV4dDo6dHJ5VG9D b21wbGV0ZVVJU2NyaXB0Rm9yQ3VycmVudFBhcmVudENhbGxiYWNrKCk6IGVycm9yOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvICdXVEY6OlN0cmluZzo6U3RyaW5nKHVuc2lnbmVkIHNob3J0IGNvbnN0 KiwgdW5zaWduZWQgaW50KScKKworU29tZSByZWxhdGVkIGJ1Z3MvY29tbWl0cyBhcmU6CitodHRw czovL2dpdGh1Yi5jb20vV2ViS2l0L3dlYmtpdC9jb21taXQvMWU0NjM3N2U0NzY3NDM2MzEzMTI5 OWQ1NGM4NTU3NzM0YTk5ZmI1ZgoraHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp P2lkPTE5OTYyNSNjMjQKK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y MDAwNzQKKworLS0tCisgLi4uL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvV2ViS2l0Q29t cGlsZXJGbGFncy5jbWFrZSAgIHwgNSAtLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9j bWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0 aXZlL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlCitpbmRleCA1YmNmMDQ3 Li40NTI2ZWU2IDEwMDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJj ZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlCisrKysgYi9tb2R1bGVzL3dlYi9zcmMv bWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKK0BAIC0x NzYsMTEgKzE3Niw2IEBAIGlmIChOT1QgTVNWQykKKyAgICAgc3RyaW5nKFJFR0VYIE1BVENIQUxM ICItZnNhbml0aXplPVteIF0qIiBFTkFCTEVEX0NPTVBJTEVSX1NBTklUSVpFUlMgJHtDTUFLRV9D WFhfRkxBR1N9KQorIGVuZGlmICgpCisKKy1pZiAoVU5JWCBBTkQgTk9UIEFQUExFIEFORCBOT1Qg RU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTKQorLSAgICBzZXQoQ01BS0VfU0hBUkVEX0xJTktF Ul9GTEFHUyAiLVdsLC0tbm8tdW5kZWZpbmVkICR7Q01BS0VfU0hBUkVEX0xJTktFUl9GTEFHU30i KQorLWVuZGlmICgpCistCistCisgIyBDT0RFX0dFTkVSQVRPUl9QUkVQUk9DRVNTT1JfV0lUSF9M SU5FTUFSS0VSUyBvbmx5IG1hdHRlcnMgd2l0aCBHQ0MgPj0gNC43LjAuICBTaW5jZSB0aGlzCisg IyB2ZXJzaW9uLCAtUCBkb2VzIG5vdCBvdXRwdXQgZW1wdHkgbGluZXMsIHdoaWNoIGN1cnJlbnRs eSBicmVha3MgbWFrZV9uYW1lcy5wbCBpbgorICMgV2ViQ29yZS4gSW52ZXN0aWdhdGluZyB3aGV0 aGVyIG1ha2VfbmFtZXMucGwgc2hvdWxkIGJlIGNoYW5nZWQgaW5zdGVhZCBpcyBsZWZ0IGFzIGFu IGV4ZXJjaXNlIHRvCistLQorMi4yNi4yCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hl cy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVz L2phdmEtb3BlbmpmeC1idWlsZC13ZWItaWN1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjNlNWM0YTc3MGMKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaApAQCAtMCwwICsxLDM4 IEBACitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21waWxhdGVpb24gd2l0aCBJQ1UuCisKK1JlZ3Jl c3NlZCBieSBodHRwczovL2dpdGh1Yi5jb20vdW5pY29kZS1vcmcvaWN1L2NvbW1pdC80ODBiZWMz ZWE2NTIKKworLS0tCisgbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XZWJDb3Jl L2RvbS9Eb2N1bWVudC5jcHAgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL3dlYi9zcmMvbWFp bi9uYXRpdmUvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL21vZHVsZXMvd2ViL3Ny Yy9tYWluL25hdGl2ZS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCitpbmRleCBlYzMw ZmI1Li40YjBmZjlkIDEwMDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1Nv dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrKyBiL21vZHVsZXMvd2ViL3NyYy9tYWlu L25hdGl2ZS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCitAQCAtNDcwNCwxMiArNDcw NCwxMiBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkTmFtZU5vbkFTQ0lJKGNvbnN0IFVDaGFyKiBjaGFy YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgIHVuc2lnbmVkIGkgPSAwOworCisgICAgIFVD aGFyMzIgYzsKKy0gICAgVTE2X05FWFQoY2hhcmFjdGVycywgaSwgbGVuZ3RoLCBjKQorKyAgICBV MTZfTkVYVChjaGFyYWN0ZXJzLCBpLCBsZW5ndGgsIGMpOworICAgICBpZiAoIWlzVmFsaWROYW1l U3RhcnQoYykpCisgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgd2hpbGUgKGkgPCBsZW5n dGgpIHsKKy0gICAgICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0aCwgYykKKysgICAg ICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0aCwgYyk7CisgICAgICAgICBpZiAoIWlz VmFsaWROYW1lUGFydChjKSkKKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KK0BA IC00NzY5LDcgKzQ3NjksNyBAQCBFeGNlcHRpb25PcjxzdGQ6OnBhaXI8QXRvbWljU3RyaW5nLCBB dG9taWNTdHJpbmc+PiBEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKAorCisgICAgIGZvciAo dW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICkgeworICAgICAgICAgVUNoYXIzMiBjOworLSAg ICAgICAgVTE2X05FWFQocXVhbGlmaWVkTmFtZSwgaSwgbGVuZ3RoLCBjKQorKyAgICAgICAgVTE2 X05FWFQocXVhbGlmaWVkTmFtZSwgaSwgbGVuZ3RoLCBjKTsKKyAgICAgICAgIGlmIChjID09ICc6 JykgeworICAgICAgICAgICAgIGlmIChzYXdDb2xvbikKKyAgICAgICAgICAgICAgICAgcmV0dXJu IEV4Y2VwdGlvbiB7IEludmFsaWRDaGFyYWN0ZXJFcnJvciB9OworLS0KKzIuMjYuMgpkaWZmIC0t Z2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxl LmgucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLXhs b2NhbGUuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4xMzhm MzlmOWFmCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVu amZ4LWJ1aWxkLXdlYi14bG9jYWxlLmgucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorU3ViamVjdDog W1BBVENIXSBDaGVjayA8eGxvY2FsZS5oPiBoZWFkZXIgZmlsZQorCitGZXcgbGlicmFyaWVzIHVz ZSBoYXJkLWNvZGVkIHhsb2NhbGVfaCBoZWFkZXIgZXZlbiB0aG91Z2ggaWYgQ01ha2UgdGFrZXMg Y2FyZQorb2YgaXQgcHJvcGVybHkuIFJlbW92ZSBkZWZpbmVkIGhlYWRlcnMsIGFuZCByZWx5IG9u IENNYWtlIHByZXByb2Nlc3NvcgoraW5zdGVhZC4KKworLS0tCisgLi4uL3NyYy9tYWluL25hdGl2 ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5oICAgIHwgMiArLQorIC4u Li9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1RoaXJkUGFydHkvbGlieHNsdC9zcmMvY29uZmlnLmgu aW4gICB8IDIgKy0KKyBtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09w dGlvbnNDb21tb24uY21ha2UgICAgfCAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy9tYWlu L25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5oIGIvbW9kdWxl cy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5L2xpYnhzbHQvbGludXgvY29u ZmlnLmgKK2luZGV4IGJkNDRjMTYzLi5iMTliNDVmNCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvd2Vi L3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5o CisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1RoaXJkUGFydHkvbGli eHNsdC9saW51eC9jb25maWcuaAorQEAgLTE0Myw3ICsxNDMsNyBAQAorICNkZWZpbmUgSEFWRV9W U1BSSU5URiAxCisKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHhsb2NhbGUuaD4g aGVhZGVyIGZpbGUuICovCistI2RlZmluZSBIQVZFX1hMT0NBTEVfSCAxCisrLyogI2RlZmluZSBI QVZFX1hMT0NBTEVfSCAxICovCisKKyAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9z dGF0JyBmdW5jdGlvbi4gKi8KKyAvKiAjdW5kZWYgSEFWRV9fU1RBVCAqLworZGlmZiAtLWdpdCBh L21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L3Ny Yy9jb25maWcuaC5pbiBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQ YXJ0eS9saWJ4c2x0L3NyYy9jb25maWcuaC5pbgoraW5kZXggMDg1MzU0ZTkuLjAyMTBmY2UyIDEw MDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5 L2xpYnhzbHQvc3JjL2NvbmZpZy5oLmluCisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRp dmUvU291cmNlL1RoaXJkUGFydHkvbGlieHNsdC9zcmMvY29uZmlnLmguaW4KK0BAIC0xNDIsNyAr MTQyLDcgQEAKKyAjdW5kZWYgSEFWRV9WU1BSSU5URgorCisgLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIDx4bG9jYWxlLmg+IGhlYWRlciBmaWxlLiAqLworLSN1bmRlZiBIQVZFX1hMT0NB TEVfSAorKy8qICN1bmRlZiBIQVZFX1hMT0NBTEVfSCAqLworCisgLyogRGVmaW5lIHRvIDEgaWYg eW91IGhhdmUgdGhlIGBfc3RhdCcgZnVuY3Rpb24uICovCisgI3VuZGVmIEhBVkVfX1NUQVQKK2Rp ZmYgLS1naXQgYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09wdGlv bnNDb21tb24uY21ha2UgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtl L09wdGlvbnNDb21tb24uY21ha2UKK2luZGV4IDNiYmQyYzRhLi4yYjYxOGRkNiAxMDA2NDQKKy0t LSBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1v bi5jbWFrZQorKysrIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFrZS9P cHRpb25zQ29tbW9uLmNtYWtlCitAQCAtMTQ4LDYgKzE0OCw3IEBAIF9IQVZFX0NIRUNLX0lOQ0xV REUoSEFWRV9TVFJJTkdTX0ggc3RyaW5ncy5oKQorIF9IQVZFX0NIRUNLX0lOQ0xVREUoSEFWRV9T WVNfUEFSQU1fSCBzeXMvcGFyYW0uaCkKKyBfSEFWRV9DSEVDS19JTkNMVURFKEhBVkVfU1lTX1RJ TUVfSCBzeXMvdGltZS5oKQorIF9IQVZFX0NIRUNLX0lOQ0xVREUoSEFWRV9TWVNfVElNRUJfSCBz eXMvdGltZWIuaCkKKytfSEFWRV9DSEVDS19JTkNMVURFKEhBVkVfWExPQ0FMRV9IIHhsb2NhbGUu aCkKKworICMgQ2hlY2sgZm9yIGZ1bmN0aW9ucworIF9IQVZFX0NIRUNLX0ZVTkNUSU9OKEhBVkVf QUxJR05FRF9NQUxMT0MgX2FsaWduZWRfbWFsbG9jKQorLS0KKzIuMjQuMQotLSAKMi4zNC4wCgo= --000000000000a2c70305e1d1f7a3-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Jun 2022 08:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ioannis Kappas , 41360@debbugs.gnu.org Cc: ludo@gnu.org, levenson@mmer.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165580002410935 (code B ref 41360); Tue, 21 Jun 2022 08:28:01 +0000 Received: (at 41360) by debbugs.gnu.org; 21 Jun 2022 08:27:04 +0000 Received: from localhost ([127.0.0.1]:59089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3ZE0-0002qJ-4a for submit@debbugs.gnu.org; Tue, 21 Jun 2022 04:27:04 -0400 Received: from lepiller.eu ([89.234.186.109]:41184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3ZDx-0002pq-PU for 41360@debbugs.gnu.org; Tue, 21 Jun 2022 04:27:02 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 80dc113e; Tue, 21 Jun 2022 08:26:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:in-reply-to:references:message-id:mime-version :content-type:content-transfer-encoding; s=dkim; bh=EH098zXVPgly g8MWWSiGXI3HJPW3xzb1p+cA29K483c=; b=aaUFMuv8ax9qWqKKIM3GOEx7kpMg I2Xyabc+PHzFN0gSH6QAZt/+aMjmLXzA6jWaTBbOKiYBVjCo/CHGxIwNIic3gL8l lh+wni7jJUjT088NRCQeBy723BhbipDmPpIUT7cg5tBqFBkUJFza/8OBV/as8qy1 FymjqCeiG5HXsaBid6qXDur8VqVSfa0F+sspAU0FgdQaj3ReUROyuBLNTVPxL/Xl AE2xkSfITrQ5mrjA2AdIRghLEpz+oX712WdOhKhU+RwsXAdwBeZ4K3gBnrKdz06I LR3FP2Xh9BI38wUWCkJqt0kLVBevY4Nu1DrIpOBGqSxBhG/CJytKmCgysQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 602e461c (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Tue, 21 Jun 2022 08:26:32 +0000 (UTC) Date: Tue, 21 Jun 2022 10:22:28 +0200 From: Julien Lepiller User-Agent: K-9 Mail for Android In-Reply-To: References: Message-ID: <55EF1A97-6664-422A-85AD-F02B5DCF79F0@lepiller.eu> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) ------1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! I think your patches are a bit difficult to review=2E I'll have a proper l= ook this evening, but for now two things I noticed: You declare configure flags as a list of flags, but at some point you have= : "-DCMAKE_CXX_FLAGS=3D\"" =E2=80=A6 "\"" In the list=2E I think it's incorrect because they would be passed as sepa= rate arguments (though it might work when parsed by the program)=2E I think= you should zake it a single argument with string-append=2E Also, we should now use the new style inputs for packages when possible: (list foo bar) instead of `(("foo" ,foo) ("bar" ,bar)) Thanks! On June 19, 2022 9:26:32 PM GMT+02:00, Ioannis Kappas wrote: >Hi, > >could you please consider reviewing patches to finalize the building >of the java-openjfx packages in scope of this discussion, as part of >an attempt to complete Alexey's awesome work=2E > >The thread had stopped receiving updates for some time now=2E I assume >priorities were shifted elsewhere=2E > >I recently got interested testing an openjfx application on Java 1=2E8, >only to realise that the current packages are incomplete=2E I came >across this thread, and thought to give the patches a try, and fix >where possible=2E > >I believe I have finalised all openjfx packages in scope to build, >pass all tests and seamlessly link to their native libraries at >runtime=2E > >My test application now works, I can use the graphics, controls and >web openjfx packages by merely specifying their share/java jar >packages on the classpath=2E > >This email has three incremental patches=2E I've named the as [PATCH v5] >to denote this is a continuation from the last patches=2E > >0001: Alexey's work brought forward to a recent guix revision=2E > >0002: Small changes to updated the above to build with the current >guix spec/packages=2E > >0003: My update to finalize the openjfx packages, normalize inputs, >run all tests where they exist and fix the load path of native >libraries at runtime=2E > >I've put the author of 0001 down to Alexey since this is his works=2E I >compiled this patch by hand from the thread, I hope I haven't missed >anything=2E > >The individual packages produce a jar output, and some of them also >build native shared libraries=2E The individual jar packages try to load >their native libraries just by name, and this will fail if the native >libs are not on the library path=2E > >I've taken the decision to load these libraries by their full >gnu/store path instead of their names=2E I have also applied the same to >an external package, java-swt, since it has a shared library that has >to be located at runtime=2E Although there are a few native libraries >built by the java-openjfx-graphics package I left it as is, because it >has a sophisticated native library loader that locates shared >libraries relative to the jar location=2E > >The changes in 0003 are as follows: > >* java-openjfx-graphics > 1=2E Normalize inputs, only build against gtk-2=2E0=2E > 2=2E Output native libs to openjfx standard share/amd64 dir=2E > 3=2E Do not build libjpeg from source, but rather use corresponding > package=2E > 4=2E Run all tests=2E >* java-openjfx-controls > 1=2E Run all tests=2E > 2=2E Fix java-openjfx-graphics name typo=2E >* java-openjfx-media > 1=2E Build against gstreamer=2E > 2=2E Compile native library and modify loader to load it directly from > the store path=2E >* java-openjfx-web > 1=2E Include version=2E > 2=2E Modify loader to load native web kit lib directly from the store= =2E > 3=2E Fix a failing test, by applying new > java-openjfx-build-web-js-test=2Epatch as picked up from a later > openjfx revision source code revision, to fix a failing test=2E > 4=2E Run all tests=2E >* java-swt > 1=2E Modify loader to load native library directly from the gnu/store > path if it can't be found otherwise=2E This is required for > seamlessly loading java-swt as an input=2E > >This is my first guix package update, so is likely to require more >work based on your feedback, which is most welcome=2E > >Thanks ------1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi!

I think your patches are a bit difficul= t to review=2E I'll have a proper look this evening, but for now two things= I noticed:

You declare configure flags as a list of flags, but at s= ome point you have:

"-DCMAKE_CXX_FLAGS=3D\""
=E2=80=A6
"\""
In the list=2E I think it's incorrect because they would be passed as = separate arguments (though it might work when parsed by the program)=2E I t= hink you should zake it a single argument with string-append=2E

Also= , we should now use the new style inputs for packages when possible:
(list foo bar) instead of `(("foo" ,foo) ("bar" ,bar))

Thanks!
<= br>
On June 19, 2022 9:26:32 PM GMT+02:00, Ioanni= s Kappas <ioannis=2Ekappas@gmail=2Ecom> wrote:
Hi,

could you please consider re= viewing patches to finalize the building
of the java-openjfx packages in= scope of this discussion, as part of
an attempt to complete Alexey's aw= esome work=2E

The thread had stopped receiving updates for some time= now=2E I assume
priorities were shifted elsewhere=2E

I recently = got interested testing an openjfx application on Java 1=2E8,
only to rea= lise that the current packages are incomplete=2E I came
across this thre= ad, and thought to give the patches a try, and fix
where possible=2E
=
I believe I have finalised all openjfx packages in scope to build,
p= ass all tests and seamlessly link to their native libraries at
runtime= =2E

My test application now works, I can use the graphics, controls = and
web openjfx packages by merely specifying their share/java jar
pa= ckages on the classpath=2E

This email has three incremental patches= =2E I've named the as [PATCH v5]
to denote this is a continuation from t= he last patches=2E

0001: Alexey's work brought forward to a recent g= uix revision=2E

0002: Small changes to updated the above to build wi= th the current
guix spec/packages=2E

0003: My update to finalize = the openjfx packages, normalize inputs,
run all tests where they exist a= nd fix the load path of native
libraries at runtime=2E

I've put t= he author of 0001 down to Alexey since this is his works=2E I
compiled t= his patch by hand from the thread, I hope I haven't missed
anything=2E
The individual packages produce a jar output, and some of them alsobuild native shared libraries=2E The individual jar packages try to load<= br>their native libraries just by name, and this will fail if the nativelibs are not on the library path=2E

I've taken the decision to load= these libraries by their full
gnu/store path instead of their names=2E = I have also applied the same to
an external package, java-swt, since it = has a shared library that has
to be located at runtime=2E Although there= are a few native libraries
built by the java-openjfx-graphics package I= left it as is, because it
has a sophisticated native library loader tha= t locates shared
libraries relative to the jar location=2E

The ch= anges in 0003 are as follows:

* java-openjfx-graphics
1=2E Norm= alize inputs, only build against gtk-2=2E0=2E
2=2E Output native libs = to openjfx standard share/amd64 dir=2E
3=2E Do not build libjpeg from = source, but rather use corresponding
package=2E
4=2E Run all t= ests=2E
* java-openjfx-controls
1=2E Run all tests=2E
2=2E Fix= java-openjfx-graphics name typo=2E
* java-openjfx-media
1=2E Build= against gstreamer=2E
2=2E Compile native library and modify loader to= load it directly from
the store path=2E
* java-openjfx-web
= 1=2E Include version=2E
2=2E Modify loader to load native web kit lib= directly from the store=2E
3=2E Fix a failing test, by applying new java-openjfx-build-web-js-test=2Epatch as picked up from a later
= openjfx revision source code revision, to fix a failing test=2E
4= =2E Run all tests=2E
* java-swt
1=2E Modify loader to load native l= ibrary directly from the gnu/store
path if it can't be found otherw= ise=2E This is required for
seamlessly loading java-swt as an input= =2E

This is my first guix package update, so is likely to require mo= re
work based on your feedback, which is most welcome=2E

Thanks
------1L8SVJA36ENZ5HW08CKXEBHWWXT4HZ-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 00/12] Package java-openjfx Resent-From: Alexey Abramov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Jun 2022 08:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ioannis Kappas Cc: 41360@debbugs.gnu.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165580023511338 (code B ref 41360); Tue, 21 Jun 2022 08:31:02 +0000 Received: (at 41360) by debbugs.gnu.org; 21 Jun 2022 08:30:35 +0000 Received: from localhost ([127.0.0.1]:59093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3ZHP-0002wo-0q for submit@debbugs.gnu.org; Tue, 21 Jun 2022 04:30:35 -0400 Received: from mail.mmer.org ([178.22.65.174]:40124) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3ZHK-0002wQ-Ci for 41360@debbugs.gnu.org; Tue, 21 Jun 2022 04:30:34 -0400 Received: from mail.mmer.org (localhost [127.0.0.1]) by mail.mmer.org (OpenSMTPD) with ESMTP id b94b21da; Tue, 21 Jun 2022 08:30:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=mmer.org; h=from:to:cc :subject:in-reply-to:references:date:message-id:mime-version :content-type; s=dkim; bh=ClCVVMZsqbKfr6Q4U8Q4oxn546njdL0eNKlD32 gA3Nw=; b=VkNPTsvUzwjAx2HXfo5G12XNHoeO46aF/i0+eEDJtrjMhFQm85P5jk x+eqZ6x6uRgWh5xvuQQ6zWagl+v0QL1ZSzmvZOe9E0gfTYpoaBHDLhKJuXcwaEuX xck0M/TPy4a8T2G6sFqJluXBWo0axyAxYgDNLLXD8EzQjFiRR+yl8= Received: from delta.lan (j74182.upc-j.chello.nl [24.132.74.182]) by mail.mmer.org (OpenSMTPD) with ESMTPSA id 8908c623 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Tue, 21 Jun 2022 08:30:23 +0000 (UTC) From: Alexey Abramov In-Reply-To: (Ioannis Kappas's message of "Sun, 19 Jun 2022 20:26:32 +0100") References: <20200517132829.1553311-1-levenson@mmer.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) Date: Tue, 21 Jun 2022 10:30:20 +0200 Message-ID: <87fsjy771f.fsf_-_@delta.lan> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi I am glad that you find these patches helpful. I tried to apply your finalized patches, but seems like java-openjfx-build-web-js-test.patch is still missing. Regarding the patches themselves, I agree with Ludo. They are indeed hard to maintain. The best approach here would be to pack gradle, so we could build not only 8.u202 but later versions as well. And more! It seems like it can be build with ant at e09125febb2abd4d5eb70714ff68cdc76ee7dc45. In the meantime what we can do is make a separate channel for openjfx. I use openjfx for davmail only, which does provide 2fa for Microsoft Exchange. I have been experiencing some font issues since the beginning and would be happy to try the finalized build you made. Thanks! -- Alexey From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Jun 2022 17:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ioannis Kappas Cc: 41360@debbugs.gnu.org, ludo@gnu.org, levenson@mmer.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165583243821815 (code B ref 41360); Tue, 21 Jun 2022 17:28:01 +0000 Received: (at 41360) by debbugs.gnu.org; 21 Jun 2022 17:27:18 +0000 Received: from localhost ([127.0.0.1]:33205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3heo-0005fn-7c for submit@debbugs.gnu.org; Tue, 21 Jun 2022 13:27:18 -0400 Received: from lepiller.eu ([89.234.186.109]:41250) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3hei-0005fa-W2 for 41360@debbugs.gnu.org; Tue, 21 Jun 2022 13:27:16 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 83ecabe3; Tue, 21 Jun 2022 17:27:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=zZ8e6I4noiyd S8F2Ez+cCkrHoRfNDjPZxczXQR/HTNI=; b=euPlBpeh2FWYkiwpyVJsfGl7lIlI Wt+8JzSUH0FuVDzrM4gVuRw44PS1Xd1ErsoqXKEoOZSRvuS9itryXFmNG5bbv3O3 tatphnM7lC06p/AARCj2+IvN6Vl530lFYWKTQ0Sbu/oENpzhNZwT2I7lXB26Jj70 8BHVnF5xSQN4FJNDB3BfoqR7ytgagWMQyMQaLlYIBOAn5mTvHnIVWZ01ExAifBbD Kc/i2CcxR84Fuknh1Vcm4QHfqdJ0fkDLjsfNz4ff5NcelQpM6p57Mihp3SfgPf18 T0U6BKyErXv4zx5c+1+DwmHTKdFptVRac3k0rFjERbdIGYyxcs+0JS+1/Q== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 3e356990 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Tue, 21 Jun 2022 17:27:09 +0000 (UTC) Date: Tue, 21 Jun 2022 19:27:06 +0200 From: Julien Lepiller Message-ID: <20220621192706.39031ffd@sybil.lepiller.eu> In-Reply-To: References: X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ioannis, So, I read only patches 2 and 3. In the third patch, I have a couple suggestions, in addition to what I told you in my previous message. java-openjfx-build-web-js-test.patch doesn't seem to be present in the patch. > 2. Output native libs to openjfx standard share/amd64 dir. That would only work on x86_64-linux I think. Could you either install to some common directory, and then fix loading, or to a directory that depends on the architecture, so it can find the libraries on other architectures too? We could get rid of all the #t at the end of phases, it's deprecated now. Could you fix all this and send a new patch series, with one patch per package, so we can try applying them and checking them more closely? From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH 00/12] Package java-openjfx Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Jun 2022 17:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch Cc: 41360@debbugs.gnu.org, Ioannis Kappas , Alexey Abramov Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165583277422459 (code B ref 41360); Tue, 21 Jun 2022 17:33:01 +0000 Received: (at 41360) by debbugs.gnu.org; 21 Jun 2022 17:32:54 +0000 Received: from localhost ([127.0.0.1]:33210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3hkD-0005qA-SS for submit@debbugs.gnu.org; Tue, 21 Jun 2022 13:32:54 -0400 Received: from lepiller.eu ([89.234.186.109]:41266) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3hkC-0005q0-2k for 41360@debbugs.gnu.org; Tue, 21 Jun 2022 13:32:52 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 8342b947; Tue, 21 Jun 2022 17:32:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=D4s1SmmX5291 h39XfflGpMwpPJx02coeM29z6D+jlvU=; b=d7AGMY0pIpFxSzJoqzqBsMXM7Xzh 0tr72Hpzxk/1HYQhx6vYa7wIHgLSDzH7JTQlJFtA35/QVuMhwWHpO1qVx4Z6BvAh iCyPshH/xfilHO0KXipsHh/9FCVkoKqdWqV+Y0AS1NzT9Q8bagHN0MJHXLHpYbZ8 DRZF8BDB24bPmqO1jgohxwShHhMJ+pIJ1xxukd7s2TV/m3BdOZ7GgDeaPl4neLW1 mnO4ycnPlwWW5XC32H8kDl3aA1e6vsrz50x7pK7Kr0yU59Tp0Alv2tYlxLiT8qzr DNMiiPbm9HdpT9nJ+ekFB90IgcJAEZG0KEdzvsbx3nEPFz00azfva+HwBQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 7793d949 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Tue, 21 Jun 2022 17:32:50 +0000 (UTC) Date: Tue, 21 Jun 2022 19:32:48 +0200 From: Julien Lepiller Message-ID: <20220621193248.1b0be48b@sybil.lepiller.eu> In-Reply-To: <87fsjy771f.fsf_-_@delta.lan> References: <20200517132829.1553311-1-levenson@mmer.org> <87fsjy771f.fsf_-_@delta.lan> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.2 (+) 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: Le Tue, 21 Jun 2022 10:30:20 +0200, Alexey Abramov via Guix-patches via a =?UTF-8?Q?=C3=A9crit?= : > Hi > > I am glad that you find these patches helpful. I tried to apply your > finalized patches, but seems like java-openjfx-build-web-js-test.patch > is still missing. > > Regarding the patches the [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.2 MISSING_HEADERS Missing To: header -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 T_SCC_BODY_TEXT_LINE No description available. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.2 (/) Le Tue, 21 Jun 2022 10:30:20 +0200, Alexey Abramov via Guix-patches via a =C3=A9crit : > Hi >=20 > I am glad that you find these patches helpful. I tried to apply your > finalized patches, but seems like java-openjfx-build-web-js-test.patch > is still missing.=20 >=20 > Regarding the patches themselves, I agree with Ludo. They are indeed > hard to maintain. The best approach here would be to pack gradle, so > we could build not only 8.u202 but later versions as well. And more! > It seems like it can be build with ant at > e09125febb2abd4d5eb70714ff68cdc76ee7dc45. >=20 > In the meantime what we can do is make a separate channel for openjfx. > I use openjfx for davmail only, which does provide 2fa for Microsoft > Exchange. I have been experiencing some font issues since the > beginning and would be happy to try the finalized build you made. > Thanks! >=20 Although I agree that maintainability of these packages is going to be hard, I don't think it's so different from, say, maven :) Using Gradle would be the best solution here, but unfortunately, it depends at least on Kotlin for which there is currently no known bootstrap path. I've ended up building a 0.10.something version in a channel, but the next version I tried to build failed for unknown reasons (I think the previous version miscompiles the last version I could build). Even so, building from these old versions would require a lot of intermediate versions before we reach a recent Kotlin and it'll get worse everytime. I haven't found an alternative implementation we could use either. I don't see Gradle coming to Guix soon unfortunately. Using a separate channel wouldn't change the maintainability issue, and it would make openjfx much less discoverable, so I don't think it's a good solution. We should simply add more documentation and make sure we explain what's going on. It's difficult to follow, issues will be hard to fix, but I think it's pretty similar to Maven, where each upgrade brings new issues that are difficult to trace back to a cause and fix. From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages Resent-From: Ioannis Kappas Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 21 Jun 2022 18:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Cc: 41360@debbugs.gnu.org, ludo@gnu.org, levenson@mmer.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165583526426805 (code B ref 41360); Tue, 21 Jun 2022 18:15:01 +0000 Received: (at 41360) by debbugs.gnu.org; 21 Jun 2022 18:14:24 +0000 Received: from localhost ([127.0.0.1]:33244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3iOO-0006yG-7W for submit@debbugs.gnu.org; Tue, 21 Jun 2022 14:14:24 -0400 Received: from mail-wr1-f46.google.com ([209.85.221.46]:41483) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o3iON-0006y5-5f for 41360@debbugs.gnu.org; Tue, 21 Jun 2022 14:14:23 -0400 Received: by mail-wr1-f46.google.com with SMTP id q9so20066991wrd.8 for <41360@debbugs.gnu.org>; Tue, 21 Jun 2022 11:14:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5E1PU+iBuDUiNhmPKIB8DXiDgsNL857BGVqAh0VWSsk=; b=IGqbh23M9o3HAPo22IBIsK1YysLC/itvV37tJInWmpjzcGvGBLF9LTsf8Uk6ujvn8S V9dCxs3O+6INk0YeL2SilERZkhBjORMn2ks3NuZExceW720Rh2xGkgwTNvK++OLPSUpH tLVV72Ncow1AGLxg+uT6wpGZdIVj+Rh2m+yg12uVzClh8H+VMc1zEwA2FK/jffk/WIe3 jlWsqzonFDczoNVlcFQUIpTHxF5QSjW7qK4STUubhXEoFVSFNvF7k2f3Sngh3+d3CUx2 IdjtdljgWpBMGhiD4GU4DcGcxa17V5U/0dPuHPUS9S5MXHE67Ls/+BzDxslQS2BLVCRC qdjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5E1PU+iBuDUiNhmPKIB8DXiDgsNL857BGVqAh0VWSsk=; b=j7XLYHBsMMtTEVdBhDSPzij98f9Y3ZyqEnBRnhKu/gARMV0+EtyKETAudCn9JxsUs5 FjZJnByHn0focwWSRoxGgj+4ydwak7v+23YVWDu6HnSK5fmcVtx/hxSKOr0aTe76aUoU SznNqjdGDN+Pvhpg0hysI/FFK2BHZVrhoGh99LQ1DbruAkBSHp5dzF8rua9d7oT6n4Tj j4TDOht8t7GlbUIQJkoSUxjEU6cvI3esjHcjYwJOcc2Osr8zywzZMYHFjLTyTKlsKHMZ QSqTEljGLYuy2mZy+ys8vpoK2H9hchH9hL7W/Jr/875aXb14kOnyUUIsUGYnKNhhAoc8 kXsg== X-Gm-Message-State: AJIora/M+D0eLtUxqKaQLkw++uSEh8tRnfRRtnW7Fr8FEkb9+U4f9Vdu kNrBQqRZU9hGJqe+W32xHpZOBQ8FaxCZMKlbPYI= X-Google-Smtp-Source: AGRyM1v5zlQMS5gLzYT2yWEG5lfHmMbklN4wUmmCpeQTQwDOwjGl3LC7JLzawatfgUzbsT/F9OoOfh5bXyVMk2YhXrw= X-Received: by 2002:adf:d22b:0:b0:21b:90be:2dc8 with SMTP id k11-20020adfd22b000000b0021b90be2dc8mr10596018wrh.423.1655835257298; Tue, 21 Jun 2022 11:14:17 -0700 (PDT) MIME-Version: 1.0 References: <20220621192706.39031ffd@sybil.lepiller.eu> In-Reply-To: <20220621192706.39031ffd@sybil.lepiller.eu> From: Ioannis Kappas Date: Tue, 21 Jun 2022 19:14:05 +0100 Message-ID: Content-Type: multipart/mixed; boundary="0000000000005179e405e1f93051" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000005179e405e1f93051 Content-Type: text/plain; charset="UTF-8" On Tue, Jun 21, 2022 at 6:27 PM Julien Lepiller wrote: > > Hi Ioannis, > > So, I read only patches 2 and 3. In the third patch, I have a couple > suggestions, in addition to what I told you in my previous message. > > java-openjfx-build-web-js-test.patch doesn't seem to be present in the > patch. My apologies, attached as 0004. (Alexey, it would be great if you can check if the patches solve the davmail issues you've mentioned) > > > 2. Output native libs to openjfx standard share/amd64 dir. > > That would only work on x86_64-linux I think. Could you either install > to some common directory, and then fix loading, or to a directory that > depends on the architecture, so it can find the libraries on other > architectures too? Sure will have a look. There are also some examples in java.scm that utilize %current-system and/or %current-target-system that I was thinking of using, but couldn't find any documentation to point me which one is the correct one. > We could get rid of all the #t at the end of phases, it's deprecated > now. > > Could you fix all this and send a new patch series, with one patch per > package, so we can try applying them and checking them more closely? Will do, and also try to address the comments from the previous email. Happy to get this through as many iterations as necessary. Thanks --0000000000005179e405e1f93051 Content-Type: application/octet-stream; name="0004-Include-missing-java-openjfx-build-web-js-test.patch.patch" Content-Disposition: attachment; filename="0004-Include-missing-java-openjfx-build-web-js-test.patch.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4oh6ac20 RnJvbSA2MzRmOTZhYjJiMGUwMGU5ZDNkZTg1Y2VjYzY0MTJlOGI2MDc5NWU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogVHVlLCAyMSBKdW4gMjAyMiAxMDoyOTozNCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjUgNC80XSBJbmNsdWRlIG1pc3NpbmcgamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1qcy10ZXN0 LnBhdGNoCiBmaWxlCgotLS0KIC4uLi9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWpzLXRlc3QucGF0 Y2ggICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1v cGVuamZ4LWJ1aWxkLXdlYi1qcy10ZXN0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2Vz L3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1qcy10ZXN0LnBhdGNoIGIvZ251L3BhY2th Z2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1qcy10ZXN0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjA0MDA0Mjk3NmEKLS0tIC9kZXYvbnVsbAor KysgYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWpzLXRlc3Qu cGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorRml4IHRlc3QgZnJvbSBsYXRlciByZXZpc2lvbgorCity ZXBvcnQ6IGh0dHBzOi8vYnVncy5vcGVuamRrLm9yZy9icm93c2UvSkRLLTgyMTIwMTQKKworZml4 OiBodHRwOi8vaGcub3Blbmpkay5qYXZhLm5ldC9vcGVuamZ4Lzh1LWRldi9ydC9yZXYvNjk3YTEz OGMzYjZiCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL3dlYi9zcmMvdGVzdC9qYXZhL2phdmFmeC9z Y2VuZS93ZWIvSmF2YVNjcmlwdEJyaWRnZVRlc3QuamF2YSBiL21vZHVsZXMvd2ViL3NyYy90ZXN0 L2phdmEvamF2YWZ4L3NjZW5lL3dlYi9KYXZhU2NyaXB0QnJpZGdlVGVzdC5qYXZhCistLS0gYS9t b2R1bGVzL3dlYi9zcmMvdGVzdC9qYXZhL2phdmFmeC9zY2VuZS93ZWIvSmF2YVNjcmlwdEJyaWRn ZVRlc3QuamF2YQorKysrIGIvbW9kdWxlcy93ZWIvc3JjL3Rlc3QvamF2YS9qYXZhZngvc2NlbmUv d2ViL0phdmFTY3JpcHRCcmlkZ2VUZXN0LmphdmEKK0BAIC01NzgsNyArNTc4LDcgQEAKKyAgICAg ICAgICAgICBiaW5kKCJhbGlzdCIsIGFsaXN0KTsKKyAgICAgICAgICAgICBJbnRlZ2VyW10gaWFy ciA9IG5ldyBJbnRlZ2VyWzRdOworICAgICAgICAgICAgIGJpbmQoImlhcnIiLCBpYXJyKTsKKy0g ICAgICAgICAgICBPYmplY3QgciA9IHdlYi5leGVjdXRlU2NyaXB0KCJhbGlzdC50b0FycmF5KGlh cnIpIik7CisrICAgICAgICAgICAgT2JqZWN0IHIgPSB3ZWIuZXhlY3V0ZVNjcmlwdCgiYWxpc3Rb J3RvQXJyYXkoT2JqZWN0W10pJ10oaWFycikiKTsKKyAgICAgICAgICAgICBhc3NlcnRTYW1lKGlh cnIsIHIpOworICAgICAgICAgICAgIGFzc2VydEVxdWFscygiOTgvODcvNzYvbnVsbCIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgIGlhcnJbMF0rIi8iK2lhcnJbMV0rIi8iK2lhcnJbMl0rIi8i K2lhcnJbM10pOwotLSAKMi4zNC4wCgo= --0000000000005179e405e1f93051-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages Resent-From: Ioannis Kappas Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 26 Jun 2022 07:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Cc: 41360@debbugs.gnu.org, ludo@gnu.org, levenson@mmer.org Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.165622819418106 (code B ref 41360); Sun, 26 Jun 2022 07:24:02 +0000 Received: (at 41360) by debbugs.gnu.org; 26 Jun 2022 07:23:14 +0000 Received: from localhost ([127.0.0.1]:46616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o5Mby-0004hy-HB for submit@debbugs.gnu.org; Sun, 26 Jun 2022 03:23:14 -0400 Received: from mail-wm1-f52.google.com ([209.85.128.52]:35675) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o5Mbx-0004hm-AJ for 41360@debbugs.gnu.org; Sun, 26 Jun 2022 03:23:13 -0400 Received: by mail-wm1-f52.google.com with SMTP id l2-20020a05600c4f0200b0039c55c50482so5611810wmq.0 for <41360@debbugs.gnu.org>; Sun, 26 Jun 2022 00:23:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=kMRjizJxRwqUlq+NHW/AVEXPLC+B8clr8CuWrjFwHeU=; b=dNmfZI4lh4I6ZVYIkwQA+ELiF2ZHPBz6W3rned9qhxwducX5WCQ/xcVwdVvAfvV8HF VItJpCRQ7d2vQNwqgLs5TZTpKPOk+jv6oibwU51Qek7TpbyHraslaxT5ynlUR9PivVzj P0NnDqXq0nYvGULFj0RKdb08HefL2ifkK9gFSz/m4NZ/BGUtu6HjMlQ2NVwt6ZtL7eQC 4SyD+ujxVwNrUHWrFD0auV0HI79sAp+wZmDRJb6kLK2pFErVnv6QLko7GqGQ9MUTwLsI 52Xpe1A5xrt2U4Yi8qKHGtNqsICiOId5nB6xGE1CMJgulo3ZtqvqT7mXEpoIVocfVSEI Qt+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=kMRjizJxRwqUlq+NHW/AVEXPLC+B8clr8CuWrjFwHeU=; b=v6IyDuPv4B0om6+Y6h4ZOAgT2QNXJNWwVI/mtqCO5Z0CIs3L4xAg+7W2x7B20gEn9W o+TwlyDCjSWlJwUOx+UviFQPfRK0trAjzXi3/bqMEpKZyP+AeFcFNU8z90W4y0sNTBvY th6mk7ADcd3oIIuMt3m7udG8MQphr2+C6nqbeOA1R6YRY8EyRMEQ5RAz+6DgeuZJ/kub 1Msib9yZxzkvD04/8HdeCdJH730ocHEvhSS4txpnG2YxwW8xtedgEtLU+jIm8cz0Mb4v AAIlzDXM5iEHwqgYtb2tTSi0VJ0l+iGwRDjPvnlxXsVrXBON8pjBvDeZ+lcnizdTnETh MPGw== X-Gm-Message-State: AJIora86LcMbLwRoAaZewgCIt6fTPppJErLUAbseHutaLyMuYUSy12Wt Rdmj6wo0PQ+nsAixoDlv2wQ5S3zIAEEPaL/bnHcuQ3QVqXY= X-Google-Smtp-Source: AGRyM1uWmsVDiqI+WlQU/3aisEwFjSVJQF4LgEMeZeNuDdnSIN6Oo+sRegOuSXxCUEDJB33eGpFmZe0QSO8gMi+CRvM= X-Received: by 2002:a05:600c:3ca2:b0:3a0:1825:2e6b with SMTP id bg34-20020a05600c3ca200b003a018252e6bmr13015645wmb.132.1656228187474; Sun, 26 Jun 2022 00:23:07 -0700 (PDT) MIME-Version: 1.0 References: <20220621192706.39031ffd@sybil.lepiller.eu> In-Reply-To: <20220621192706.39031ffd@sybil.lepiller.eu> From: Ioannis Kappas Date: Sun, 26 Jun 2022 08:22:56 +0100 Message-ID: Content-Type: multipart/mixed; boundary="000000000000c93bef05e254ac0a" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --000000000000c93bef05e254ac0a Content-Type: text/plain; charset="UTF-8" Hi Julien, On Tue, Jun 21, 2022 at 6:27 PM Julien Lepiller wrote: > > Hi Ioannis, > > Could you fix all this and send a new patch series, with one patch per > package, so we can try applying them and checking them more closely? please find patch v6 series as attached. Changes from last patch are 1. Each package definition is in a separate commit/patch file - as requested. 1. Output all native libs to lib/openjfx - no arch specific directory, as requested. 2. Add native libs path to java.library.path property at static initialization, so that the NativeLibsLoader can locate them at runtime - This is a better working solution than loading by absolute path, since the latter was not working during testing if the native libs were not installed. 3. Install native libs after 'install phase - previously the native libs were installed unconditionally just after compilation, which is wrong. 4. Pass CMAKE_CXX_FLAGS argument as a single string - as requested. 5. Use new style inputs for packages - as requested. 6. Remove #t at the end of phases - as requested. Thanks --000000000000c93bef05e254ac0a Content-Type: application/octet-stream; name="0004-Build-java-openjfx-media-with-gstreamer-package.patch" Content-Disposition: attachment; filename="0004-Build-java-openjfx-media-with-gstreamer-package.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4uz6nt04 RnJvbSBkMTVjYTRkNGFkZGNiYTczZjFlOWE3OThlNGI3NDJlYzA5MGNmZDA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxMTo1ODo1NCArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjYgNC82XSBCdWlsZCBqYXZhLW9wZW5qZngtbWVkaWEgd2l0aCBnc3RyZWFtZXIgcGFja2Fn ZQoKT3V0cHV0IG5hdGl2ZSBsaWIgdG8gbGliL29wZW5qZngKLS0tCiBnbnUvcGFja2FnZXMvamF2 YS5zY20gfCAyMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgMjA5IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZ251L3BhY2thZ2VzL2phdmEuc2NtIGIvZ251L3BhY2thZ2VzL2phdmEuc2NtCmluZGV4 IGVhZjJmOTRjM2UuLjAzZTQzYjQ3YTAgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9qYXZhLnNj bQorKysgYi9nbnUvcGFja2FnZXMvamF2YS5zY20KQEAgLTcwLDYgKzcwLDcgQEAgKGRlZmluZS1t b2R1bGUgKGdudSBwYWNrYWdlcyBqYXZhKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBn aG9zdHNjcmlwdCkgO2xjbXMKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ25vbWUpCiAg ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdyb292eSkKKyAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgZ3N0cmVhbWVyKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBndGspCiAg ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGd1aWxlKQogICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBpY3U0YykKQEAgLTMzMjMsMTcgKzMzMjQsMjE4IEBAIChkZWZpbmUtcHVibGljIGph dmEtb3BlbmpmeC1zd3QKIChkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1tZWRpYQogICAocGFj a2FnZSAoaW5oZXJpdCBqYXZhLW9wZW5qZngtYnVpbGQpCiAgICAgKG5hbWUgImphdmEtb3Blbmpm eC1tZWRpYSIpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgKGxpc3QgZ2NjCisgICAgICAgICAg IGljZWR0ZWEtOAorICAgICAgICAgICBwa2ctY29uZmlnKSkKKyAgICAoaW5wdXRzCisgICAgIChs aXN0IHh6IDs7IHdvcmthcm91bmQgZm9yIGdzdHJlYW1lcidzIGVsZnV0aWxzIGJ1ZyM1NTc5My4K KyAgICAgICAgICAgZ3N0cmVhbWVyCisgICAgICAgICAgIGdzdC1wbHVnaW5zLWJhc2UpKQogICAg IChwcm9wYWdhdGVkLWlucHV0cwotICAgICBgKCgiamF2YS1vcGVuanhmLWdyYXBoaWNzIiAsamF2 YS1vcGVuamZ4LWdyYXBoaWNzKSkpCisgICAgIChsaXN0IGphdmEtb3BlbmpmeC1ncmFwaGljcykp CiAgICAgKGFyZ3VtZW50cwogICAgICBgKCM6amFyLW5hbWUgImphdmEtb3BlbmpmeC1tZWRpYS5q YXIiCi0gICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL21lZGlhL3NyYy9tYWluL2phdmEiCi0g ICAgICAgIzp0ZXN0cz8gI2YpKTsgbm8gdGVzdHMKKyAgICAgICAjOnNvdXJjZS1kaXIgIm1vZHVs ZXMvbWVkaWEvc3JjL21haW4vamF2YTptb2R1bGVzL21lZGlhL3NyYy90b29scy9qYXZhIgorICAg ICAgIDs7IG5vIHRlc3RzIGF2YWlsYWJsZSBpbiBzcmMKKyAgICAgICAjOnRlc3RzPyAjZgorICAg ICAgICM6bW9kdWxlcyAoKGljZS05IG1hdGNoKQorICAgICAgICAgICAgICAgICAgKGljZS05IHJl Z2V4KQorICAgICAgICAgICAgICAgICAgKGd1aXggYnVpbGQgYW50LWJ1aWxkLXN5c3RlbSkKKyAg ICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAgICAgICAjOnBoYXNlcworICAg ICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAgIChyZXBsYWNlICdi dWlsZAorICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtl eXMpCisgICAgICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91 dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xp Yi9vcGVuamZ4IikpKQorICAgICAgICAgICAgICAgOzsgYWRkIG5hdGl2ZSBsaWJzIHBhdGggdG8g dGhlIGphdmEubGlicmFyeS5wYXRoIHByb3BlcnR5LiBVc2VkCisgICAgICAgICAgICAgICA7OyBi eSB0aGUgb3BlbmpmeCBOYXRpdmVMaWJMb2FkZXIgYXQgcnVudGltZSB0byBsb2NhdGUgaXRzCisg ICAgICAgICAgICAgICA7OyBsaWJyYXJpZXMuCisgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSog Im1vZHVsZXMvbWVkaWEvc3JjL21haW4vamF2YS9jb20vc3VuL21lZGlhL2pmeG1lZGlhaW1wbC9O YXRpdmVNZWRpYU1hbmFnZXIuamF2YSIKKyAgICAgICAgICAgICAgICAgKCgocmVnZXhwLXF1b3Rl ICJwdWJsaWMgY2xhc3MgTmF0aXZlTWVkaWFNYW5hZ2VyIHsiKSBhbGwpCisgICAgICAgICAgICAg ICAgICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICAgIGFsbAorICAgICAgICAgICAg ICAgICAgICJcbnN0YXRpYyB7XG4iCisgICAgICAgICAgICAgICAgICAgIiBTdHJpbmcgamxwID0g XCIibGliIjpcIitTeXN0ZW0uZ2V0UHJvcGVydHkoXCJqYXZhLmxpYnJhcnkucGF0aFwiKTtcbiIK KyAgICAgICAgICAgICAgICAgICAiIFN5c3RlbS5zZXRQcm9wZXJ0eShcImphdmEubGlicmFyeS5w YXRoXCIsIGpscCk7XG4iCisgICAgICAgICAgICAgICAgICAgIn1cbiIpKSkpCisKKyAgICAgICAg ICAgICAoaW52b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVzL21lZGlh L2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikpKQorCisgICAgICAgICAoYWRkLWFmdGVyICdidWls ZCAnZ2VuZXJhdGUtaGVhZGVycworICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6 YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMv bWVkaWEvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAobWVk aWEtZ2VuZXJhdGVkLWhlYWRlcnMgIm1vZHVsZXMvbWVkaWEvYnVpbGQvZ2VuZXJhdGVkLXNyYy9o ZWFkZXJzIikKKyAgICAgICAgICAgICAgICAgICAgKG1lZGlhLWdlbmVyYXRlZC1jbGFzc2VzCisg ICAgICAgICAgICAgICAgICAgICAnKCJjb20uc3VuLm1lZGlhLmpmeG1lZGlhLmxvZ2dpbmcuTG9n Z2VyIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5tZWRpYS5qZnhtZWRpYS50cmFj ay5BdWRpb1RyYWNrIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5tZWRpYS5qZnht ZWRpYS5jb250cm9sLlZpZGVvRGF0YUJ1ZmZlciIKKyAgICAgICAgICAgICAgICAgICAgICAgImNv bS5zdW4ubWVkaWEuamZ4bWVkaWEuY29udHJvbC5WaWRlb0Zvcm1hdCRGb3JtYXRUeXBlcyIKKyAg ICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFpbXBsLk5hdGl2ZUF1 ZGlvQ2xpcCIKKyAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVkaWEuamZ4bWVkaWFp bXBsLk5hdGl2ZU1lZGlhUGxheWVyIgorICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi5t ZWRpYS5qZnhtZWRpYWltcGwuTmF0aXZlVmlkZW9CdWZmZXIiCisgICAgICAgICAgICAgICAgICAg ICAgICJjb20uc3VuLm1lZGlhLmpmeG1lZGlhaW1wbC5wbGF0Zm9ybS5nc3RyZWFtZXIuR1NUUGxh dGZvcm0iCisgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLm1lZGlhLmpmeG1lZGlhaW1w bC5wbGF0Zm9ybS5nc3RyZWFtZXIuR1NUTWVkaWEiCisgICAgICAgICAgICAgICAgICAgICAgICJj b20uc3VuLm1lZGlhLmpmeG1lZGlhaW1wbC5wbGF0Zm9ybS5nc3RyZWFtZXIuR1NUTWVkaWFQbGF5 ZXIiCisgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLm1lZGlhLmpmeG1lZGlhaW1wbC5O YXRpdmVBdWRpb0VxdWFsaXplciIKKyAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ubWVk aWEuamZ4bWVkaWFpbXBsLk5hdGl2ZUVxdWFsaXplckJhbmQiCisgICAgICAgICAgICAgICAgICAg ICAgICJjb20uc3VuLm1lZGlhLmpmeG1lZGlhaW1wbC5OYXRpdmVBdWRpb1NwZWN0cnVtIikpCisg ICAgICAgICAgICAgICAgICAgIChncmFwaGljcyAoYXNzb2MtcmVmIGlucHV0cyAiamF2YS1vcGVu amZ4LWdyYXBoaWNzIikpKQorICAgICAgICAgICAgICAgKG1rZGlyLXAgbWVkaWEtZ2VuZXJhdGVk LWhlYWRlcnMpCisgICAgICAgICAgICAgICAoaW52b2tlICJqYXZhIgorICAgICAgICAgICAgICAg ICAgICAgICAiLURqYXZhLmV4dC5kaXJzPSIKKyAgICAgICAgICAgICAgICAgICAgICAgIi1jbGFz c3BhdGgiIGNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgImhlYWRlcmdlbi5IZWFkZXJH ZW4iCisgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIG1lZGlhLWdlbmVyYXRl ZC1oZWFkZXJzICIvIiAiamZ4bWVkaWFfZXJyb3JzLmgiKQorICAgICAgICAgICAgICAgICAgICAg ICBjbGFzc2VzKQorICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZQorICAgICAgICAgICAgICAg ICAgICAgICJqYXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAiLURqYXZhLmV4dC5kaXJzPSIK KyAgICAgICAgICAgICAgICAgICAgICAiLVhEaWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAg ICAgICAgICAgICAgICItWER1c2VVbnNoYXJlZFRhYmxlPXRydWUiCisgICAgICAgICAgICAgICAg ICAgICAgIi1kIiBtZWRpYS1nZW5lcmF0ZWQtaGVhZGVycworICAgICAgICAgICAgICAgICAgICAg ICItY3AiIChzdHJpbmctam9pbiAoY29ucyogY2xhc3NlcyAoZmluZC1maWxlcyBncmFwaGljcyAi XFwuamFyJCIpKSAiOiIpCisgICAgICAgICAgICAgICAgICAgICAgbWVkaWEtZ2VuZXJhdGVkLWNs YXNzZXMpKSkpCisKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2dlbmVyYXRlLWhlYWRlcnMgJ21lZGlh LW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ct b3RoZXIta2V5cykKKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAibW9kdWxlcy9tZWRp YS9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAgKG1lZGlh LWdlbi1oZWFkZXJzICJtb2R1bGVzL21lZGlhL2J1aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycyIp CisgICAgICAgICAgICAgICAgICAgICAgKG1lZGlhLWdlbi1zcmMgIm1vZHVsZXMvbWVkaWEvYnVp bGQvZ2VuZXJhdGVkLXNyYyIpCisgICAgICAgICAgICAgICAgICAgICAgKG1lZGlhLW5hdGl2ZS1s aWIgIm1vZHVsZXMvbWVkaWEvYnVpbGQvbGlicy9saW51eC9saWJqZnhtZWRpYS5zbyIpCisgICAg ICAgICAgICAgICAgICAgICAgKG1lZGlhLW5hdGl2ZS1vYmogIm1vZHVsZXMvbWVkaWEvYnVpbGQv bmF0aXZlL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICA7OyByZWY6IG1vZHVsZXMvbWVk aWEvc3JjL21haW4vbmF0aXZlL2pmeG1lZGlhL3Byb2plY3RzL2xpbnV4L01ha2VmaWxlCisgICAg ICAgICAgICAgICAgICAgICAgKG1lZGlhLW5hdGl2ZS1zcmMgIm1vZHVsZXMvbWVkaWEvc3JjL21h aW4vbmF0aXZlL2pmeG1lZGlhIikKKyAgICAgICAgICAgICAgICAgICAgICAobWVkaWEtbmF0aXZl LXNyYy1maWxlcworICAgICAgICAgICAgICAgICAgICAgICAnKCJqbmkvY29tX3N1bl9tZWRpYV9q ZnhtZWRpYV9sb2dnaW5nX0xvZ2dlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImpu aS9KYXZhQmFuZHNIb2xkZXIuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJqbmkvSmF2 YU1lZGlhV2FybmluZ0xpc3RlbmVyLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiam5p L0phdmFQbGF5ZXJFdmVudERpc3BhdGNoZXIuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAg ICJqbmkvSm5pVXRpbHMuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJqbmkvTG9nZ2Vy LmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiam5pL05hdGl2ZVZpZGVvQnVmZmVyLmNw cCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiam5pL05hdGl2ZUF1ZGlvRXF1YWxpemVyLmNw cCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiam5pL05hdGl2ZUF1ZGlvU3BlY3RydW0uY3Bw IgorICAgICAgICAgICAgICAgICAgICAgICAgICJqbmkvTmF0aXZlRXF1YWxpemVyQmFuZC5jcHAi CisgICAgICAgICAgICAgICAgICAgICAgICAgImpuaS9KYXZhSW5wdXRTdHJlYW1DYWxsYmFja3Mu Y3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJQaXBlbGluZU1hbmFnZW1lbnQvQXVkaW9U cmFjay5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIlBpcGVsaW5lTWFuYWdlbWVudC9Q aXBlbGluZS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIlBpcGVsaW5lTWFuYWdlbWVu dC9QaXBlbGluZUZhY3RvcnkuY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJQaXBlbGlu ZU1hbmFnZW1lbnQvVHJhY2suY3BwIgorICAgICAgICAgICAgICAgICAgICAgICAgICJQaXBlbGlu ZU1hbmFnZW1lbnQvVmlkZW9GcmFtZS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIlBp cGVsaW5lTWFuYWdlbWVudC9WaWRlb1RyYWNrLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAiUGlwZWxpbmVNYW5hZ2VtZW50L1N1YnRpdGxlVHJhY2suY3BwIgorICAgICAgICAgICAgICAg ICAgICAgICAgICJNZWRpYU1hbmFnZW1lbnQvTWVkaWEuY3BwIgorICAgICAgICAgICAgICAgICAg ICAgICAgICJNZWRpYU1hbmFnZW1lbnQvTWVkaWFNYW5hZ2VyLmNwcCIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAiTG9jYXRvci9Mb2NhdG9yLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAiTG9jYXRvci9Mb2NhdG9yU3RyZWFtLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAi VXRpbHMvTWVkaWFXYXJuaW5nRGlzcGF0Y2hlci5jcHAiCisgICAgICAgICAgICAgICAgICAgICAg ICAgIlV0aWxzL3Bvc2l4L3Bvc2l4X2NyaXRpY2FsX3NlY3Rpb24uY3BwIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0cmVhbWVyL0dzdE1lZGlhLmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0cmVhbWVyL0dzdE1lZGlhUGxheWVyLmNwcCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0cmVhbWVyL0dzdFBsYXRmb3Jt LmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0cmVhbWVyL0dzdEF1 ZGlvRXF1YWxpemVyLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0 cmVhbWVyL0dzdEF1ZGlvUGxheWJhY2tQaXBlbGluZS5jcHAiCisgICAgICAgICAgICAgICAgICAg ICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RBdWRpb1NwZWN0cnVtLmNwcCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAicGxhdGZvcm0vZ3N0cmVhbWVyL0dzdEFWUGxheWJhY2tQaXBlbGlu ZS5jcHAiCisgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RF bGVtZW50Q29udGFpbmVyLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0v Z3N0cmVhbWVyL0dzdEpuaVV0aWxzLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGxh dGZvcm0vZ3N0cmVhbWVyL0dzdE1lZGlhTWFuYWdlci5jcHAiCisgICAgICAgICAgICAgICAgICAg ICAgICAgInBsYXRmb3JtL2dzdHJlYW1lci9Hc3RQaXBlbGluZUZhY3RvcnkuY3BwIgorICAgICAg ICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybS9nc3RyZWFtZXIvR3N0VmlkZW9GcmFtZS5jcHAi KSkKKyAgICAgICAgICAgICAgICAgICAgICAobWVkaWEtbmF0aXZlLXNyYy1jICJVdGlscy9Db2xv ckNvbnZlcnRlci5jIikKKyAgICAgICAgICAgICAgICAgICAgICAobWVkaWEtc3JjICJtb2R1bGVz L21lZGlhL3NyYy9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAobWVkaWEtY2xhc3NlcyAi bW9kdWxlcy9tZWRpYS9idWlsZC9jbGFzc2VzIikKKyAgICAgICAgICAgICAgICAgICAgICAoamRr IChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZ3N0cmVh bWVyIChhc3NvYy1yZWYgaW5wdXRzICJnc3RyZWFtZXIiKSkKKyAgICAgICAgICAgICAgICAgICAg ICAobGluay1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAnKCItcHRocmVhZCIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiLXN0YXRpYy1saWJnY2MiICItc3RhdGljLWxpYnN0ZGMrKyIg Ii1zaGFyZWQiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi16IiAicmVscm8iCisgICAgICAg ICAgICAgICAgICAgICAgICAgIi1XbCwtLWdjLXNlY3Rpb25zIgorICAgICAgICAgICAgICAgICAg ICAgICAgICIkKHBrZy1jb25maWcgLS1saWJzIGdzdHJlYW1lci0xLjApIgorICAgICAgICAgICAg ICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1saWJzIGdzdHJlYW1lci1wbHVnaW5zLWJhc2Ut MS4wKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGlicyBnc3Ry ZWFtZXItYXBwLTEuMCkiKSkKKyAgICAgICAgICAgICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAg ICAgICAgICAgICAgICAgICAgYCgiLXB0aHJlYWQiCisgICAgICAgICAgICAgICAgICAgICAgICAg Ii1mbm8tc3RyaWN0LWFsaWFzaW5nIiAiLWZQSUMiICItZm5vLW9taXQtZnJhbWUtcG9pbnRlciIg Ozsgb3B0aW1pemF0aW9uIGZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1mc3RhY2st cHJvdGVjdG9yIgorICAgICAgICAgICAgICAgICAgICAgICAgICItVyIgIi1XYWxsIgorICAgICAg ICAgICAgICAgICAgICAgICAgICItRFRBUkdFVF9PU19MSU5VWD0xIgorICAgICAgICAgICAgICAg ICAgICAgICAgICItRF9HTlVfU09VUkNFIgorICAgICAgICAgICAgICAgICAgICAgICAgICItREdT VF9SRU1PVkVfREVQUkVDQVRFRCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLURHU1RfRElT QUJMRV9HU1RfREVCVUciCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1ER1NUX0RJU0FCTEVf TE9BRFNBVkUiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1ER1NUX0RJU0FCTEVfWE1MIgor ICAgICAgICAgICAgICAgICAgICAgICAgICItREhBVkVfQ09ORklHX0giCisgICAgICAgICAgICAg ICAgICAgICAgICAgIi1ESkZYTUVESUFfSk5JX0VYUE9SVFMiCisgICAgICAgICAgICAgICAgICAg ICAgICAgIi1ETElOVVgiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1ER19ESVNBQkxFX0RF UFJFQ0FURUQiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1mZnVuY3Rpb24tc2VjdGlvbnMi CisgICAgICAgICAgICAgICAgICAgICAgICAgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiLWZuby1ydHRpIgorICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBr Zy1jb25maWcgLS1jZmxhZ3MgZ3N0cmVhbWVyLTEuMCkiCisgICAgICAgICAgICAgICAgICAgICAg ICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBnc3RyZWFtZXItcGx1Z2lucy1iYXNlLTEuMCkiCisg ICAgICAgICAgICAgICAgICAgICAgICAgIiQocGtnLWNvbmZpZyAtLWNmbGFncyBnc3RyZWFtZXIt YXBwLTEuMCkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQg amRrICIvaW5jbHVkZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1h cHBlbmQgamRrICIvaW5jbHVkZS9saW51eCIpKSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1w IG1lZGlhLW5hdGl2ZS1vYmopCisgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChj cHApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChjcHAgKHN0cmluZy1hcHBl bmQgbWVkaWEtbmF0aXZlLXNyYyAiLyIgY3BwKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1qb2luCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGFwcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBg KCJnKysiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLG1lZGlhLWdl bi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1J IiAsbWVkaWEtZ2VuLXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItSSIgLG1lZGlhLW5hdGl2ZS1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLW8iICwoc3RyaW5nLWFwcGVuZCBtZWRpYS1uYXRpdmUtb2JqCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi8iIChiYXNlbmFtZSBjcHAgIi5jcHAiKSAiLm9iaiIpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjYy1mbGFncyAobGlzdCBjcHApKSkpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1lZGlhLW5hdGl2ZS1zcmMtZmlsZXMpCisgICAgICAgICAgICAg ICAgIChsZXQgKChjIChzdHJpbmctYXBwZW5kIG1lZGlhLW5hdGl2ZS1zcmMgIi8iIG1lZGlhLW5h dGl2ZS1zcmMtYykpKQorICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChhcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgiZysrIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItYyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLUkiICxtZWRpYS1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItSSIgLG1lZGlhLWdlbi1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLUkiICxtZWRpYS1uYXRpdmUtc3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgbWVkaWEtbmF0aXZlLW9iagorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvIiAoYmFzZW5hbWUgYyAiLmMi KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIu b2JqIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLWZsYWdzIChsaXN0IGMpKSkp KQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBtZWRpYS1uYXRpdmUtbGliKSkK KyAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctam9pbiAoYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBgKCJnY2MiICItbyIgLG1lZGlhLW5hdGl2ZS1saWIpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rLWZsYWdzCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyBtZWRpYS1uYXRpdmUtb2JqICJcXC5vYmok IikpKSkpKSkKKworICAgICAgICAgKGFkZC1hZnRlciAnbWVkaWEtbmF0aXZlLWxpYiAnYnVpbGQt amFyCisgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChsZXQqICgobW9kdWxlIChz dHJpbmctYXBwZW5kICJtb2R1bGVzL21lZGlhIikpCisgICAgICAgICAgICAgICAgICAgIChyZXNv dXJjZXMgKHN0cmluZy1hcHBlbmQgbW9kdWxlICIvc3JjL21haW4vcmVzb3VyY2VzIikpCisgICAg ICAgICAgICAgICAgICAgIChjbGFzc2VzIChzdHJpbmctYXBwZW5kIG1vZHVsZSAiL2J1aWxkL2Ns YXNzZXMvamF2YS9tYWluIikpKQorICAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgcmVz b3VyY2VzIGNsYXNzZXMpCisKKyAgICAgICAgICAgICAgIChpbnZva2UgImFudCIgImphciIgKHN0 cmluZy1hcHBlbmQgIi1EY2xhc3Nlcy5kaXI9IiBjbGFzc2VzKSkpKSkKKworICAgICAgICAgKGFk ZC1hZnRlciAnaW5zdGFsbCAnaW5zdGFsbC1uYXRpdmUKKyAgICAgICAgICAgKGxhbWJkYSogKCM6 a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgIChsZXQgKChsaWIg KHN0cmluZy1hcHBlbmQgKGFzc29jLXJlZiBvdXRwdXRzICJvdXQiKSAiL2xpYi9vcGVuamZ4Iikp KQorICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAoZmluZC1maWxlcyAiLiIgIlxcLnNvJCIpKSkpKSkpKQorCiAgICAgKGRlc2NyaXB0 aW9uICJPcGVuSkZYIGlzIGEgY2xpZW50IGFwcGxpY2F0aW9uIHBsYXRmb3JtIGZvciBkZXNrdG9w LAotbW9iaWxlIGFuZCBlbWJlZGRlZCBzeXN0ZW1zIGJ1aWx0IG9uIEphdmEuICBJdHMgZ29hbCBp cyB0byBwcm9kdWNlIGEKLW1vZGVybiwgZWZmaWNpZW50LCBhbmQgZnVsbHkgZmVhdHVyZWQgdG9v bGtpdCBmb3IgZGV2ZWxvcGluZyByaWNoIGNsaWVudAotYXBwbGljYXRpb25zLiAgVGhpcyBwYWNr YWdlIGNvbnRhaW5zIG1lZGlhLXJlbGF0ZWQgY2xhc3NlcyBmb3IgdGhlCi1PcGVuSkZYIGRpc3Ry aWJ1dGlvbi4iKSkpCittb2JpbGUgYW5kIGVtYmVkZGVkIHN5c3RlbXMgYnVpbHQgb24gSmF2YS4g IEl0cyBnb2FsIGlzIHRvIHByb2R1Y2UgYSBtb2Rlcm4sCitlZmZpY2llbnQsIGFuZCBmdWxseSBm ZWF0dXJlZCB0b29sa2l0IGZvciBkZXZlbG9waW5nIHJpY2ggY2xpZW50IGFwcGxpY2F0aW9ucy4K K1RoaXMgcGFja2FnZSBjb250YWlucyB0aGUgc2V0IG9mIGNsYXNzZXMgZm9yIGludGVncmF0aW5n IGF1ZGlvIGFuZCB2aWRlbyBpbnRvCitKYXZhIEZYIEFwcGxpY2F0aW9ucy4iKSkpCiAKIChkZWZp bmUtcHVibGljIGphdmEtb3BlbmpmeC1jb250cm9scwogICAocGFja2FnZSAoaW5oZXJpdCBqYXZh LW9wZW5qZngtYnVpbGQpCi0tIAoyLjM0LjAKCg== --000000000000c93bef05e254ac0a Content-Type: application/octet-stream; name="0001-java-openjfx-graphics-build-all-native-libs.patch" Content-Disposition: attachment; filename="0001-java-openjfx-graphics-build-all-native-libs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4uz6nsx1 RnJvbSA3ZmYzNmFhOWVlYmNiNjdlYWExMGVhYmJmYmU3ZTA0M2ZkYzNiYjdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxMDo1MDozNyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjYgMS82XSBqYXZhLW9wZW5qZngtZ3JhcGhpY3M6IGJ1aWxkIGFsbCBuYXRpdmUgbGlicwoK T3V0cHV0cyBuYXRpdmUgbGlicyB0byBsaWIvb3BlbmpmeAoKTG9hZCBuYXRpdmUgbGlicyBmcm9t IGxpYi9vcGVqZnguCgpMb2FkIGphdmEtc3d0IG5hdGl2ZSBsaWIgdXNpbmcgZnVsbCBnbnUvc3Rv cmUgcGF0aC4KLS0tCiBnbnUvcGFja2FnZXMvamF2YS5zY20gfCA3OTEgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjk3IGluc2VydGlv bnMoKyksIDk0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9qYXZhLnNj bSBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQppbmRleCBkMmZiZjg0MGEwLi40MGI4ODY0MGEzIDEw MDY0NAotLS0gYS9nbnUvcGFja2FnZXMvamF2YS5zY20KKysrIGIvZ251L3BhY2thZ2VzL2phdmEu c2NtCkBAIC0xMSw2ICsxMSw3IEBACiA7OzsgQ29weXJpZ2h0IMKpIDIwMTggQ2hyaXMgTWFydXNp Y2ggPGNtbWFydXNpY2hAZ21haWwuY29tPgogOzs7IENvcHlyaWdodCDCqSAyMDE4LCAyMDE5LCAy MDIwLCAyMDIxLCAyMDIyIEVmcmFpbSBGbGFzaG5lciA8ZWZyYWltQGZsYXNobmVyLmNvLmlsPgog Ozs7IENvcHlyaWdodCDCqSAyMDE5LCAyMDIwLCAyMDIxIEJqw7ZybiBIw7ZmbGluZyA8YmpvZXJu LmhvZWZsaW5nQGJqb2VybmhvZWZsaW5nLmRlPgorOzs7IENvcHlyaWdodCDCqSAyMDIwIEFsZXhl eSBBYnJhbW92IDxsZXZlbnNvbkBtbWVyLm9yZz4KIDs7OyBDb3B5cmlnaHQgwqkgMjAyMCBKYW4g KGphbm5la2UpIE5pZXV3ZW5odWl6ZW4gPGphbm5la2VAZ251Lm9yZz4KIDs7OyBDb3B5cmlnaHQg wqkgMjAyMCBSYWdoYXYgR3VydXJhamFuIDxyYWdoYXZndXJ1cmFqYW5AZGlzcm9vdC5vcmc+CiA7 OzsgQ29weXJpZ2h0IMKpIDIwMjAsIDIwMjIgTWF4aW0gQ291cm5veWVyIDxtYXhpbS5jb3Vybm95 ZXJAZ21haWwuY29tPgpAQCAtNjUsNiArNjYsNyBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2th Z2VzIGphdmEpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykKICAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgZ2V0dGV4dCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMg Z2wpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdsaWIpCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGdob3N0c2NyaXB0KSA7bGNtcwogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBnbm9tZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3Jvb3Z5KQpAQCAtMjUx Nyw3ICsyNTE5LDggQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWJ1aWxkCiAgICAgICAg ICAgICAgICAnKGJlZ2luCiAgICAgICAgICAgICAgICAgICA7OyBEZWxldGUgaW5jbHVkZWQgZ3Jh ZGxlIGphcgogICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJncmFk bGUvd3JhcHBlciIpCi0gICAgICAgICAgICAgICAgICAjdCkpCisgICAgICAgICAgICAgICAgICA7 OyBEZWxldGUgdGhpcmQgcGFydHkgc291cmNlIGNvZGUKKyAgICAgICAgICAgICAgICAgIChkZWxl dGUtZmlsZS1yZWN1cnNpdmVseSAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtaWlv L2xpYmpwZWciKSkpCiAgICAgICAgICAgICAgIChzaGEyNTYKICAgICAgICAgICAgICAgIChiYXNl MzIKICAgICAgICAgICAgICAgICAiMHlnMzhtd3BpdnN3Y2N2OW45NmswNngzaXY4Mmk0cHgxYTl4 ZzlsOGRzd3p3bWZqMjU5ZiIpKQpAQCAtMjU3MCw4ICsyNTczLDcgQEAgKGRlZmluZS1wdWJsaWMg amF2YS1vcGVuamZ4LWJhc2UKICAgICAgICAgICAgICAgIChkZWxldGUtZmlsZQogICAgICAgICAg ICAgICAgICAiamF2YWZ4L2JlYW5zL3Byb3BlcnR5L2FkYXB0ZXIvUmVhZE9ubHlKYXZhQmVhblBy b3BlcnR5QnVpbGRlcl9HZW5lcmFsX1Rlc3QuamF2YSIpCiAgICAgICAgICAgICAgICA7OyBUaGlz IG9uZSBmYWlscwotICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxlICJjb20vc3VuL2phdmFmeC9y dW50aW1lL1ZlcnNpb25JbmZvVGVzdC5qYXZhIikpCi0gICAgICAgICAgICAgI3QpKSkpKQorICAg ICAgICAgICAgICAgKGRlbGV0ZS1maWxlICJjb20vc3VuL2phdmFmeC9ydW50aW1lL1ZlcnNpb25J bmZvVGVzdC5qYXZhIikpKSkpKSkKICAgICAocHJvcGFnYXRlZC1pbnB1dHMKICAgICAgKGxpc3Qg amF2YS1vcGVuamZ4LWJ1aWxkKSkKICAgICAoZGVzY3JpcHRpb24gIk9wZW5KRlggaXMgYSBjbGll bnQgYXBwbGljYXRpb24gcGxhdGZvcm0gZm9yIGRlc2t0b3AsCkBAIC0yNTgwLDEwNyArMjU4Miw2 OTAgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LWJhc2UKIGFwcGxpY2F0aW9ucy4gIFRo aXMgcGFja2FnZSBjb250YWlucyBiYXNlIGNsYXNzZXMgZm9yIHRoZSBPcGVuSkZYCiBkaXN0cmli dXRpb24uIikpKQogCis7OyBUaGUgZ3JhcGhpY3MgbW9kdWxlIGlzIG5lZWRlZCBmb3IgYW55IGdy YXBoaWNhbCBKYXZhRlggYXBwbGljYXRpb24uIEl0Cis7OyByZXF1aXJlcyB0aGUgYmFzZSBtb2R1 bGUgYW5kIGluY2x1ZGVzIHRoZSBzY2VuZSBncmFwaCwgbGF5b3V0LCBjc3MsIHByaXNtLAorOzsg d2luZG93aW5nLCBldGMuIFRoaXMgaXMgYSBmYWlybHkgY29tcGxpY2F0ZWQgbW9kdWxlLiBUaGVy ZSBhcmUgbWFueQorOzsgZGlmZmVyZW50IHR5cGVzIG9mIG5hdGl2ZSBjb21wb25lbnRzIHRoYXQg YWxsIG5lZWQgdG8gYmUgY29tcGlsZWQuCis7OworOzsgQWxsIHRoZSBiZWxsb3cgc3RlcHMgd2Vy ZSB0YWtlbiBieSBpbnNwZWN0aW5nIGJ1aWxkLmdyYWRlbCBhbmQgIC4vZ3JhZGxldyBidWlsZCAt LWluZm8KKzs7IHJlc3VsdC4KIChkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1ncmFwaGljcwog ICAocGFja2FnZSAoaW5oZXJpdCBqYXZhLW9wZW5qZngtYnVpbGQpCiAgICAgKG5hbWUgImphdmEt b3BlbmpmeC1ncmFwaGljcyIpCiAgICAgKGFyZ3VtZW50cwogICAgICBgKCM6amFyLW5hbWUgImph dmEtb3BlbmpmeC1ncmFwaGljcy5qYXIiCiAgICAgICAgIzpzb3VyY2UtZGlyICJtb2R1bGVzL2dy YXBoaWNzL3NyYy9tYWluL2phdmEiCi0gICAgICAgIzp0ZXN0cz8gI2Y7IHJlcXVpcmUgWAogICAg ICAgICM6dGVzdC1kaXIgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL3Rlc3QiCisgICAgICAgIzp0ZXN0 LWluY2x1ZGUgKGxpc3QgIioqLypUZXN0LioiKQorICAgICAgICM6bW9kdWxlcyAoKGd1aXggYnVp bGQgYW50LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIHV0aWxz KQorICAgICAgICAgICAgICAgICAgKHNyZmkgc3JmaS0xKQorICAgICAgICAgICAgICAgICAgKHNy Zmkgc3JmaS0yNikKKyAgICAgICAgICAgICAgICAgIChpY2UtOSByZWdleCkKKyAgICAgICAgICAg ICAgICAgIChpY2UtOSBtYXRjaCkpCiAgICAgICAgIzpwaGFzZXMKLSAgICAgICAobW9kaWZ5LXBo YXNlcyAlc3RhbmRhcmQtcGhhc2VzCi0gICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2NvcHkt bWlzc2luZy1maWxlCi0gICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1v dGhlci1rZXlzKQotICAgICAgICAgICAgIChsZXQgKCh0YXJnZXQgIm1vZHVsZXMvZ3JhcGhpY3Mv c3JjL21haW4vbmF0aXZlLXByaXNtLXN3L0pOYXRpdmVTdXJmYWNlLmMiKSkKLSAgICAgICAgICAg ICAgIChjb3B5LWZpbGUgKGFzc29jLXJlZiBpbnB1dHMgIkpOYXRpdmVTdXJmYWNlLmMiKSB0YXJn ZXQpCi0gICAgICAgICAgICAgICA7OyBYWFg6IGxvb2tzIGxpa2UgdGhlIG1pc3NpbmcgZmlsZSB3 ZSBmb3VuZCBpc24ndCAqcXVpdGUqCi0gICAgICAgICAgICAgICA7OyBjb21wYXRpYmxlLi4uCi0g ICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogdGFyZ2V0Ci0gICAgICAgICAgICAgICAgICgoImNh c2UgVFlQRV9JTlRfQVJHQjoiKSAiIikpKSkpCi0gICAgICAgICAoYWRkLWFmdGVyICdidWlsZCAn YnVpbGQtbmF0aXZlCi0gICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgb3V0cHV0cyAj OmFsbG93LW90aGVyLWtleXMpCi0gICAgICAgICAgICAgKGxldCAoKGpkayAoYXNzb2MtcmVmIGlu cHV0cyAiamRrIikpCi0gICAgICAgICAgICAgICAgICAgKGNsYXNzLWZpbGUtPmNsYXNzLW5hbWUK LSAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoY2xhc3MtZmlsZSkKLSAgICAgICAgICAgICAg ICAgICAgICAoc3RyaW5nLW1hcCAobGFtYmRhIChjKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGlmIChjaGFyPT8gYyAjXC8pICNcLiBjKSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc3RyaW5nLWRyb3AtcmlnaHQgY2xhc3MtZmlsZQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWxlbmd0 aCAiLmNsYXNzIikpKSkpKQotICAgICAgICAgICAgICAgKHNldGVudiAiQ1BQRkxBR1MiCi0gICAg ICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kICItRElOTElORT1pbmxpbmUgIgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLURMSU5VWCAiCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgamRrICIvaW5jbHVkZSAiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgamRrICIvaW5jbHVkZS9saW51eCAi Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSAiIChnZXRjd2QpICIv YnVpbGQvY2xhc3Nlcy9pbmNsdWRlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1JICIgKGdldGN3ZCkgIi9tb2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1w cmlzbS1zdyIpKQotCi0gICAgICAgICAgICAgICA7OyBJbnN0cnVjdGlvbnMgaGF2ZSBiZWVuIGFk YXB0ZWQgZnJvbSBidWlsZFNyYy9saW51eC5ncmFkbGUKLSAgICAgICAgICAgICAgICh3aXRoLWRp cmVjdG9yeS1leGN1cnNpb24gImJ1aWxkL2NsYXNzZXMiCi0gICAgICAgICAgICAgICAgIDs7IEJ1 aWxkIHByaXNtCi0gICAgICAgICAgICAgICAgIChta2Rpci1wICJpbmNsdWRlIikKLQotICAgICAg ICAgICAgICAgICA7OyBHZW5lcmF0ZSBoZWFkZXJzIGZvciBwcmlzbQotICAgICAgICAgICAgICAg ICAoYXBwbHkgaW52b2tlICJqYXZhaCIgIi1kIiAiaW5jbHVkZSIgIi1jcCIgIi4iCi0gICAgICAg ICAgICAgICAgICAgICAgICAobWFwIGNsYXNzLWZpbGUtPmNsYXNzLW5hbWUKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGFwcGVuZCAoZmluZC1maWxlcyAiY29tL3N1bi9wcmlzbS9pbXBs IiAiXFwuY2xhc3MkIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlu ZC1maWxlcyAiY29tL3N1bi9wcmlzbSIgIlByZXNlbnRhYmxlU3RhdGUuKlxcLmNsYXNzJCIpKSkp Ci0KLSAgICAgICAgICAgICAgICAgOzsgLi4udGhlbiBmb3IgcHJpc21fc3cKLSAgICAgICAgICAg ICAgICAgKGFwcGx5IGludm9rZSAiamF2YWgiICItZCIgImluY2x1ZGUiICItY3AiICIuIgotICAg ICAgICAgICAgICAgICAgICAgICAgKG1hcCBjbGFzcy1maWxlLT5jbGFzcy1uYW1lCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzICJjb20vc3VuL3Bpc2NlcyIgIlxcLmNs YXNzJCIpKSkKLQotICAgICAgICAgICAgICAgICA7OyAuLi5hbmQgZm9yIHByaXNtX2VzMgotICAg ICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIgIi1kIiAiaW5jbHVkZSIgIi1jcCIg Ii4iCi0gICAgICAgICAgICAgICAgICAgICAgICAobWFwIGNsYXNzLWZpbGUtPmNsYXNzLW5hbWUK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgImNvbS9zdW4vcHJpc20v ZXMyIiAiXFwuY2xhc3MkIikpKSkpCi0KLSAgICAgICAgICAgICAod2l0aC1kaXJlY3RvcnktZXhj dXJzaW9uICJuZXRiZWFucy9uYXRpdmUtcHJpc20iCi0gICAgICAgICAgICAgICAoaW52b2tlICJt YWtlIiAiQ09ORj1SZWxlYXNlIikpCi0gICAgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vy c2lvbiAibmV0YmVhbnMvbmF0aXZlLXByaXNtLXN3IgotICAgICAgICAgICAgICAgKGludm9rZSAi bWFrZSIgIkNPTkY9UmVsZWFzZSIpKQotICAgICAgICAgICAgIDs7IFRPRE86IFRoaXMgZmFpbHMg ZHVlIHRvIHVua25vd24gRUdMIHByb2NlZHVyZSBuYW1lcwotICAgICAgICAgICAgICM7Ci0gICAg ICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbiAibmV0YmVhbnMvbmF0aXZlLXByaXNt LWVzMiIKLSAgICAgICAgICAgICAgIChpbnZva2UgIm1ha2UiICJDT05GPVJlbGVhc2UiKSkKKyAg ICAgICAobGV0KiAoKGphdmFjL2gtZmxhZ3MKKyAgICAgICAgICAgICAgICcoOzsgV2hlbiBqYXZh YyBpcyBjb21waWxpbmcgY29kZSBpdCBkb2Vzbid0IGxpbmsKKyAgICAgICAgICAgICAgICAgOzsg YWdhaW5zdCBydC5qYXIgYnkgZGVmYXVsdC4gSW5zdGVhZCBpdCB1c2VzIHNwZWNpYWwKKyAgICAg ICAgICAgICAgICAgOzsgc3ltYm9sIGZpbGUgbGliL2N0LnN5bSB3aXRoIGNsYXNzIHN0dWJzLgor ICAgICAgICAgICAgICAgICA7OyBTdXJwcmlzaW5nbHkgdGhpcyBmaWxlIGNvbnRhaW5zIG1hbnkg YnV0IG5vdCAqYWxsKgorICAgICAgICAgICAgICAgICA7OyBvZiBpbnRlcm5hbCBjbGFzc2VzLgor ICAgICAgICAgICAgICAgICAiLVhEaWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAgICAgICAg ICA7OyBJdCdzIGFuIGludGVybmFsIG9wdGlvbiBmb3IgSkRLIDEuNysgdGhhdCBwcmV2ZW50cwor ICAgICAgICAgICAgICAgICA7OyB0aGUgY29tcGlsZXIgZnJvbSBzaGFyaW5nIGEgdGFibGUgdGhh dCB3aWxsIG5ldmVyCisgICAgICAgICAgICAgICAgIDs7IGJlIHJldXNlZC4gV2hlbiBzaGFyZWQs IGl0IGNhbid0IGJlIGdhcmJhZ2UKKyAgICAgICAgICAgICAgICAgOzsgY29sbGVjdGVkLCBjb250 aW51ZXMgdG8gYWNjdW11bGF0ZSBkYXRhLCBhbmQKKyAgICAgICAgICAgICAgICAgOzsgdGhlcmVm b3JlIHdhc3RlcyBtZW1vcnkuCisgICAgICAgICAgICAgICAgICItWER1c2VVbnNoYXJlZFRhYmxl PXRydWUiKSkKKyAgICAgICAgICAgICAgKGNvbW1vbi1mbGFncworICAgICAgICAgICAgICAgJygi LWZuby1zdHJpY3QtYWxpYXNpbmciICItZlBJQyIgIi1mbm8tb21pdC1mcmFtZS1wb2ludGVyIiA7 OyBvcHRpbWl6YXRpb24gZmxhZ3MKKyAgICAgICAgICAgICAgICAgIi1mc3RhY2stcHJvdGVjdG9y IgorICAgICAgICAgICAgICAgICAiLVciICItV2FsbCIgIi1Xbm8tdW51c2VkIiAiLVduby1wYXJl bnRoZXNlcyIpKQorICAgICAgICAgICAgICAobGluay1mbGFncworICAgICAgICAgICAgICAgYCgi LXN0YXRpYy1saWJnY2MiICItc3RhdGljLWxpYnN0ZGMrKyIgIi1zaGFyZWQiICxAY29tbW9uLWZs YWdzCisgICAgICAgICAgICAgICAgICIteiIgInJlbHJvIgorICAgICAgICAgICAgICAgICAiLVds LC0tZ2Mtc2VjdGlvbnMiKSkKKyAgICAgICAgICAgICAgKGphdmEtYXV4LWNsYXNzPworICAgICAg ICAgICAgICAgKGxhbWJkYSAoY2xhc3MpCisgICAgICAgICAgICAgICAgIChzdHJpbmctbWF0Y2gg IlxcJFswLTldK1xcLmNsYXNzIiBjbGFzcykpKQorICAgICAgICAgICAgICAoamF2YS1saXN0LWNs YXNzZXMKKyAgICAgICAgICAgICAgIChsYW1iZGEgKHBhdGgpCisgICAgICAgICAgICAgICAgIDs7 IEZvciBlYWNoIC5qYXZhIGZpbGUgd2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQKKyAgICAgICAg ICAgICAgICAgOzsgY2xhc3MgdGhlIC5qYXZhIGZpbGUgYmVsb25ncyBpbiBhbmQgY29udmVydCBp dCB0byBhCisgICAgICAgICAgICAgICAgIDs7IGNsYXNzIG5hbWUuCisgICAgICAgICAgICAgICAg IChmaWx0ZXItbWFwCisgICAgICAgICAgICAgICAgICAobGFtYmRhIChjbGFzcykKKyAgICAgICAg ICAgICAgICAgICAgKGxldCogKChyeCAobWFrZS1yZWdleHAgKHN0cmluZy1hcHBlbmQgcGF0aCBm aWxlLW5hbWUtc2VwYXJhdG9yLXN0cmluZyAiPyIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIChjbGFzcyAoc3RyaW5nLWRyb3AtcmlnaHQgY2xhc3MgKHN0cmluZy1sZW5ndGggIi5jbGFz cyIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGFzcyAobWF0Y2g6c3VmZml4IChy ZWdleHAtZXhlYyByeCBjbGFzcykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAoaWYgKGphdmEt YXV4LWNsYXNzPyBjbGFzcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgI2YKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIChzdHJpbmctc3BsaXQgY2xhc3MgI1wvKSAi LiIpKSkpCisgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyBwYXRoICJcXC5jbGFzcyQiKSkp KSkKKyAgICAgICAgIChtb2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKIAotICAgICAgICAg ICAgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCi0gICAgICAgICAgICAg ICAgICAgIChkaXIgLChtYXRjaCAoJWN1cnJlbnQtc3lzdGVtKQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgiaTY4Ni1saW51eCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImkz ODYiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgob3IgImFybWhmLWxpbnV4IiAiYWFy Y2g2NC1saW51eCIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcm0iKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgob3IgIng4Nl82NC1saW51eCIpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJhbWQ2NCIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKF8g InVua25vd24iKSkpCi0gICAgICAgICAgICAgICAgICAgICh0YXJnZXQgKHN0cmluZy1hcHBlbmQg b3V0ICIvc2hhcmUvIiBkaXIgIi8iKSkpCi0gICAgICAgICAgICAgICAobWtkaXItcCB0YXJnZXQp Ci0gICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoZmlsZSkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIChsZXQgKChuZXctbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctYXBwZW5kICJsaWIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1tYXAKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoYykKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGNoYXI9PyBjICNcLSkgI1xf IGMpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c3RyaW5nLWRyb3AgKGJhc2VuYW1lIGZpbGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWxlbmd0aCAibGlibmF0 aXZlLSIpKSkpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvcHktZmlsZSBmaWxl Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQg dGFyZ2V0IG5ldy1uYW1lKSkpKQotICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVz ICJuZXRiZWFucyIgIlxcLnNvJCIpKSkpKSkpKQotICAgIChwcm9wYWdhdGVkLWlucHV0cwotICAg ICAobGlzdCBqYXZhLW9wZW5qZngtYmFzZSBqYXZhLXN3dCkpCi0gICAgOzsgWFhYOiBmb3IgdW5r bm93biByZWFzb25zCi0gICAgOzsgbW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtcHJp c20tc3cvSk5hdGl2ZVN1cmZhY2UuYyBpcyBtaXNzaW5nCi0gICAgOzsgaW4gdGhpcyByZXZpc2lv bi4KKyAgICAgICAgICAgKHJlcGxhY2UgJ2J1aWxkCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6 a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgOzsgYWRkIG5h dGl2ZSBsaWJzIHBhdGggdG8gdGhlIGphdmEubGlicmFyeS5wYXRoIHByb3BlcnR5LiBVc2VkCisg ICAgICAgICAgICAgICA7OyBieSB0aGUgb3BlbmpmeCBOYXRpdmVMaWJMb2FkZXIgYXQgcnVudGlt ZSB0byBsb2NhdGUgaXRzCisgICAgICAgICAgICAgICA7OyBsaWJyYXJpZXMuCisgICAgICAgICAg ICAgICAobGV0ICgobGliIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9saWIvb3BlbmpmeC8i KSkpCisgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibW9kdWxlcy9ncmFwaGljcy9zcmMv bWFpbi9qYXZhL2NvbS9zdW4vZ2xhc3MvdXRpbHMvTmF0aXZlTGliTG9hZGVyLmphdmEiCisgICAg ICAgICAgICAgICAgICAgKCgocmVnZXhwLXF1b3RlICJzdGF0aWMgeyIpIGFsbCkKKyAgICAgICAg ICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAgIGFsbAorICAg ICAgICAgICAgICAgICAgICAgIlxuU3RyaW5nIGpscCA9IFwiImxpYiJcIitGaWxlLnBhdGhTZXBh cmF0b3IrU3lzdGVtLmdldFByb3BlcnR5KFwiamF2YS5saWJyYXJ5LnBhdGhcIik7XG4iCisgICAg ICAgICAgICAgICAgICAgICAiU3lzdGVtLnNldFByb3BlcnR5KFwiamF2YS5saWJyYXJ5LnBhdGhc IiwgamxwKTtcbiIpKSkpCisKKyAgICAgICAgICAgICAgIDs7IERvIG5vdCBtaXggZGlmZmVyZW50 IGNsYXNzZXMuIFRoZXJlIHdpbGwgYmUgbW9yZSBzdHVmZiBpbiBidWlsZC9jbGFzc2VzCisgICAg ICAgICAgICAgICAoaW52b2tlICJhbnQiICJjb21waWxlIiAiLURjbGFzc2VzLmRpcj1tb2R1bGVz L2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikpKQorCisgICAgICAgICAgIDs7IFRo ZSBEZWNvcmEgYW5kIFByaXNtIEpTTCBmaWxlcyBoYXZlIHRvIGJlIGdlbmVyYXRlZCBpbiBhIHZl cnkgc3BlY2lmaWMgc2V0IG9mIHN0ZXBzLgorICAgICAgICAgICA7OyAgICAgIDEpIENvbXBpbGUg dGhlICpDb21waWxlLmphdmEgY2xhc3Nlcy4gVGhlc2UgbGl2ZSBpbiBzcmMvbWFpbi9qc2wtKiBh bmQgd2lsbCBiZQorICAgICAgICAgICA7OyAgICAgICAgIG91dHB1dCB0byAkYnVpbGREaXIvY2xh c3Nlcy9qc2wtY29tcGlsZXJzLyogKHdoZXJlICogPT0gZGVjb3JhIG9yIHByaXNtKS4KKyAgICAg ICAgICAgOzsgICAgICAyKSBHZW5lcmF0ZSBzb3VyY2UgZmlsZXMgZnJvbSB0aGUgSlNMIGZpbGVz IGNvbnRhaW5lZCBpbiBzcmMvbWFpbi9qc2wtKi4gVGhlc2UKKyAgICAgICAgICAgOzsgICAgICAg ICB3aWxsIGJlIG91dHB1dCB0byAkYnVpbGREaXIvZ2VuZXJhdGVkLXNyYy9qc2wtKgorICAgICAg ICAgICA7OyAgICAgIDMpIENvbXBpbGUgdGhlIEpTTCBKYXZhIHNvdXJjZXMgaW4gJGJ1aWxkRGly L2dlbmVyYXRlZC1zcmMvanNsLSogYW5kIHB1dCB0aGUgb3V0cHV0CisgICAgICAgICAgIDs7ICAg ICAgICAgaW50byBjbGFzc2VzL2pzbC0qCisgICAgICAgICAgIDs7ICAgICAgNCkgQ29tcGlsZSB0 aGUgbmF0aXZlIEpTTCBzb3VyY2VzIGluICRidWlsZERpci9nZW5lcmF0ZWQtc3JjL2pzbC0qIGFu ZCBwdXQgdGhlIG9iagorICAgICAgICAgICA7OyAgICAgICAgIGZpbGVzIGludG8gbmF0aXZlL2pz bC0qIGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgaW50byBsaWJzL2pzbC0qLmRsbHxzb3xkeWxp YgorICAgICAgICAgICA7OyAgICAgIDUpIE1vZGlmeSB0aGUgamFyIHN0ZXAgdG8gaW5jbHVkZSBj bGFzc2VzL2pzbC0qCisgICAgICAgICAgIDs7IFRoZSBuYXRpdmUgbGlicmFyeSBtdXN0IGJlIGNv cGllZCBvdmVyIGR1cmluZyBTREsgY3JlYXRpb24gdGltZSBpbiB0aGUgInNkayIgdGFzay4gSW4K KyAgICAgICAgICAgOzsgYWRkaXRpb24gdG8gdGhlc2Ugc3RlcHMsIHRoZSBjbGVhbiB0YXNrIGlz IGNyZWF0ZWQuIE5vdGUgdGhhdCBJIGRpZG4ndCBib3RoZXIgdG8gY3JlYXRlCisgICAgICAgICAg IDs7IGEgbmV3IHRhc2sgZm9yIGVhY2ggb2YgdGhlIGRlY29yYSBmaWxlcywgcHJlZmVycmluZyBp bnN0ZWFkIGp1c3QgdG8gY3JlYXRlIGEgcnVsZT8/IEFsc28KKyAgICAgICAgICAgOzsgbmVlZCAi Y2xlYW4iIHRhc2tzIGZvciBlYWNoIGNvbXBpbGUgdGFzay4KKyAgICAgICAgICAgKGFkZC1hZnRl ciAnYnVpbGQgJ2NvbXBpbGUtcHJpc20tY29tcGlsZXJzCisgICAgICAgICAgICAgKGxhbWJkYSBf CisgICAgICAgICAgICAgICAobGV0ICgocHJpc20tY29tcGlsZXJzLWNsYXNzZXMgIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qc2wtY29tcGlsZXJzL3ByaXNtIikKKyAgICAgICAgICAg ICAgICAgICAgIChwcmlzbS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vanNsLXByaXNt LyIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1jb21waWxlcnMtY2xhc3NlcykK KworICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhYyIgIi1kIiBwcmlzbS1jb21w aWxlcnMtY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZs YWdzIChmaW5kLWZpbGVzIHByaXNtLXNyYyAiXFwuamF2YSIpKSkpKSkKKworICAgICAgICAgICAo YWRkLWFmdGVyICdjb21waWxlLXByaXNtLWNvbXBpbGVycyAnZ2VuZXJhdGUtcHJpc20tc2hhZGVy cworICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgICAgKGxldCAoKHByaXNtLWNv bXBpbGVycy1jbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNsLWNvbXBp bGVycy9wcmlzbSIpCisgICAgICAgICAgICAgICAgICAgICAocHJpc20tc3JjICJtb2R1bGVzL2dy YXBoaWNzL3NyYy9tYWluL2pzbC1wcmlzbS8iKQorICAgICAgICAgICAgICAgICAgICAgKHByaXNt LWdlbi1zcmMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9qc2wtcHJpc20i KSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgcHJpc20tZ2VuLXNyYykKKyAgICAgICAgICAg ICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhcHBseSBpbnZva2UgImphdmEiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLWNwIiAoc3RyaW5nLWpvaW4gKGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgRm9yIENvbXBpbGVKU0wKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpc20tY29t cGlsZXJzLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOzsganNsIGZpbGVzIGFyZSB0aGVyZQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlzbS1zcmMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdldGVudiAi Q0xBU1NQQVRIIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIjoiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNv bXBpbGVKU0wiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWkiIHByaXNt LXNyYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiBwcmlzbS1nZW4t c3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLXQiCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLXBrZyIgImNvbS9zdW4vcHJpc20iCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWQzZCIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICItZXMyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi1uYW1lIiAobGlzdCBmaWxlKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlu ZC1maWxlcyBwcmlzbS1zcmMgIlxcLmpzbCQiKSkpKSkKKworICAgICAgICAgICAoYWRkLWFmdGVy ICdnZW5lcmF0ZS1wcmlzbS1zaGFkZXJzICdjb21waWxlLXByaXNtLXNoYWRlcnMKKyAgICAgICAg ICAgICAobGFtYmRhIF8KKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAibW9kdWxlcy9n cmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAg KHByaXNtLWNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qc2wtcHJpc20i KQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1nZW4tc3JjICJtb2R1bGVzL2dyYXBoaWNz L2J1aWxkL2dlbmVyYXRlZC1zcmMvanNsLXByaXNtIikKKyAgICAgICAgICAgICAgICAgICAgICAo cHJpc20tZ2VuLXNoYWRlcnMtc3JjIChzdHJpbmctYXBwZW5kIHByaXNtLWdlbi1zcmMgIi9jb20v c3VuL3ByaXNtL3NoYWRlciIpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgcHJpc20tY2xh c3NlcykKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2YWMiCisgICAgICAgICAg ICAgICAgICAgICAgICAiLWQiIHByaXNtLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAg ICItY3AiIChzdHJpbmctYXBwZW5kIGNsYXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQor ICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzIChmaW5kLWZpbGVz IHByaXNtLWdlbi1zaGFkZXJzLXNyYykpKSkpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2Nv bXBpbGUtcHJpc20tc2hhZGVycyAnY29tcGlsZS1kZWNvcmEtY29tcGlsZXJzCisgICAgICAgICAg ICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgICAobGV0ICgoY2xhc3NlcyAibW9kdWxlcy9ncmFw aGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAoZGVj b3JhLWNvbXBpbGVycy1jbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvanNs LWNvbXBpbGVycy9kZWNvcmEiKQorICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1zcmMgIm1v ZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vanNsLWRlY29yYS8iKSkKKyAgICAgICAgICAgICAgICAg KG1rZGlyLXAgZGVjb3JhLWNvbXBpbGVycy1jbGFzc2VzKQorICAgICAgICAgICAgICAgICAoYXBw bHkgaW52b2tlICJqYXZhYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICItZCIgZGVjb3JhLWNv bXBpbGVycy1jbGFzc2VzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5nLWFw cGVuZCBjbGFzc2VzICI6IiAoZ2V0ZW52ICJDTEFTU1BBVEgiKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncyAoZmluZC1maWxlcyBkZWNvcmEtc3JjICJcXC5q YXZhIikpKSkpKQorCisgICAgICAgICAgIChhZGQtYWZ0ZXIgJ2NvbXBpbGUtZGVjb3JhLWNvbXBp bGVycyAnZ2VuZXJhdGUtZGVjb3JhLXNoYWRlcnMKKyAgICAgICAgICAgICAobGFtYmRhIF8KKyAg ICAgICAgICAgICAgIChsZXQgKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNz ZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2xhc3NlcyAibW9k dWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2pzbC1kZWNvcmEvIikKKyAgICAgICAgICAgICAg ICAgICAgIChkZWNvcmEtY29tcGlsZXJzLWNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQv Y2xhc3Nlcy9qc2wtY29tcGlsZXJzL2RlY29yYSIpCisgICAgICAgICAgICAgICAgICAgICAoZGVj b3JhLWdlbi1zcmMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9qc2wtZGVj b3JhIikKKyAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtc3JjICJtb2R1bGVzL2dyYXBoaWNz L3NyYy9tYWluL2pzbC1kZWNvcmEvIikKKyAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY29t cG9uZW50cyAnKFsoZmlsZS1uYW1lIC4gIkNvbG9yQWRqdXN0IikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNvbXBpbGVKU0wiKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1hbGwi KV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZmlsZS1uYW1l IC4gIkJyaWdodHBhc3MiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChnZW5lcmF0b3IgLiAiQ29tcGlsZUpTTCIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKG91dHB1dHMgLiAiLWFsbCIpXQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWxlLW5hbWUgLiAiU2VwaWFUb25lIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNvbXBp bGVKU0wiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRw dXRzIC4gIi1hbGwiKV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFsoZmlsZS1uYW1lIC4gIlBlcnNwZWN0aXZlVHJhbnNmb3JtIikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNvbXBpbGVKU0wiKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1hbGwi KV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZmlsZS1uYW1l IC4gIkRpc3BsYWNlbWVudE1hcCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGdlbmVyYXRvciAuICJDb21waWxlSlNMIikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAob3V0cHV0cyAuICItYWxsIildCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJJbnZlcnRNYXNrIikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4g IkNvbXBpbGVKU0wiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChvdXRwdXRzIC4gIi1hbGwiKV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsoZmlsZS1uYW1lIC4gIkJsZW5kIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNvbXBpbGVCbGVuZCIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG91dHB1dHMgLiAiLWFsbCIpXQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmaWxlLW5hbWUgLiAiUGhv bmdMaWdodGluZyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGdlbmVyYXRvciAuICJDb21waWxlUGhvbmciKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChvdXRwdXRzIC4gIi1hbGwiKV0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsoZmlsZS1uYW1lIC4gIkxpbmVhckNvbnZvbHZlIikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZXJhdG9yIC4gIkNv bXBpbGVMaW5lYXJDb252b2x2ZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG91dHB1dHMgLiAiLWh3IildCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbKGZpbGUtbmFtZSAuICJMaW5lYXJDb252b2x2ZVNoYWRvdyIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVyYXRvciAuICJDb21w aWxlTGluZWFyQ29udm9sdmUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChvdXRwdXRzIC4gIi1odyIpXSkpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBk ZWNvcmEtZ2VuLXNyYykKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChtYXRjaC1sYW1iZGEK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoJ2ZpbGUtbmFtZSAuIGZpbGUtbmFtZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2dlbmVyYXRvciAuIGdlbmVyYXRvcikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ291dHB1dHMgLiBvdXRwdXRzKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImphdmEiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgKHN0cmluZy1qb2luIChjb25zKiBj bGFzc2VzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZWNvcmEtc3JjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBDb21waWxlSlNMCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNv cmEtY29tcGlsZXJzLWNsYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29yYS1jbGFzc2VzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBXZSBu ZWVkIHJlc291cmNlcyBmcm9tIHRoZSBidWlsZAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1aWxkU3JjL3NyYy9tYWluL3Jl c291cmNlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChsaXN0IChnZXRlbnYgIkNMQVNTUEFUSCIpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjoiKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvcgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItaSIgZGVjb3JhLXNyYworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItbyIgZGVjb3JhLWdlbi1zcmMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLXQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1wa2ciICJjb20vc3VuL3NjZW5hcmlvL2VmZmVjdCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvdXRwdXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGxpc3QgZmlsZS1uYW1lKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGVjb3JhLWNvbXBvbmVudHMpKSkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnZ2VuZXJhdGUt ZGVjb3JhLXNoYWRlcnMgJ2NvbXBpbGUtZGVjb3JhLXNoYWRlcnMKKyAgICAgICAgICAgICAobGFt YmRhIF8KKyAgICAgICAgICAgICAgIChsZXQgKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1 aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2xh c3NlcyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2pzbC1kZWNvcmEvIikKKyAgICAg ICAgICAgICAgICAgICAgIChkZWNvcmEtZ2VuLXNyYyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9n ZW5lcmF0ZWQtc3JjL2pzbC1kZWNvcmEiKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgZGVj b3JhLWNsYXNzZXMpCisgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImphdmFjIgorICAg ICAgICAgICAgICAgICAgICAgICAgIi1kIiBkZWNvcmEtY2xhc3NlcworICAgICAgICAgICAgICAg ICAgICAgICAgIi1jcCIgY2xhc3NlcworICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBq YXZhYy9oLWZsYWdzIChmaW5kLWZpbGVzIGRlY29yYS1nZW4tc3JjICJcXC5qYXZhJCIpKSkpKSkK KworICAgICAgICAgICAoYWRkLWFmdGVyICdjb21waWxlLWRlY29yYS1zaGFkZXJzICdjb21waWxl LWRlY29yYS1uYXRpdmUtbGliCisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAj OmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVs ZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAg ICAgIChkZWNvcmEtZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVk LXNyYy9oZWFkZXJzL2pzbC1kZWNvcmEiKQorICAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEt Z2VuLXNyYyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9nZW5lcmF0ZWQtc3JjL2pzbC1kZWNvcmEi KQorICAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFw aGljcy9idWlsZC9saWJzL2pzbC1kZWNvcmEvbGludXgvbGliZGVjb3JhX3NzZS5zbyIpCisgICAg ICAgICAgICAgICAgICAgICAgKGRlY29yYS1uYXRpdmUtb2JqICJtb2R1bGVzL2dyYXBoaWNzL2J1 aWxkL25hdGl2ZS9qc2wtZGVjb3JhL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAoZGVj b3JhLW5hdGl2ZS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWRlY29yYSIp CisgICAgICAgICAgICAgICAgICAgICAgKGRlY29yYS1zcmMgIm1vZHVsZXMvZ3JhcGhpY3Mvc3Jj L21haW4vanNsLWRlY29yYS8iKQorICAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEtY2xhc3Nl cyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2pzbC1kZWNvcmEvIikKKyAgICAgICAg ICAgICAgICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAg ICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1m bGFncyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpk ayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt SSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCisgICAgICAgICAgICAg ICAgICAgICAgKGRlY29yYS1jYy1mbGFncyBgKCxAY2MtZmxhZ3MgIi1mZmFzdC1tYXRoIikpKQor ICAgICAgICAgICAgICAgICAobWtkaXItcCBkZWNvcmEtZ2VuLWhlYWRlcnMpCisgICAgICAgICAg ICAgICAgIChhcHBseSBpbnZva2UgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICAgIi1k IiBkZWNvcmEtZ2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJp bmctam9pbiAobGlzdCBjbGFzc2VzIGRlY29yYS1jbGFzc2VzKSAiOiIpCisgICAgICAgICAgICAg ICAgICAgICAgICAoYXBwZW5kIGphdmFjL2gtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZpbHRlciAoY3V0IHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLnNjZW5hcmlvLmVm ZmVjdC5pbXBsLnN3LnNzZSIgPD4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGFwcGVuZCAoamF2YS1saXN0LWNsYXNzZXMgY2xhc3NlcykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqYXZhLWxpc3QtY2xhc3NlcyBkZWNv cmEtY2xhc3NlcykpKSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIGRlY29yYS1uYXRpdmUt b2JqKQorICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoY2MpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgImdjYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItSSIgZGVjb3JhLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGRlY29yYS1nZW4tc3JjCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGRlY29yYS1uYXRpdmUtc3JjCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iIChzdHJpbmctYXBwZW5kIGRlY29yYS1uYXRp dmUtb2JqICAiLyIgKGJhc2VuYW1lIGNjICIuY2MiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIGRlY29yYS1jYy1mbGFncyAobGlzdCBjYykpKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgKGZpbmQtZmlsZXMgZGVjb3JhLWdl bi1zcmMgIlxcLmNjJCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5k LWZpbGVzIGRlY29yYS1uYXRpdmUtc3JjICJcXC5jYyQiKSkpCisgICAgICAgICAgICAgICAgICht a2Rpci1wIChkaXJuYW1lIGRlY29yYS1uYXRpdmUtbGliKSkKKyAgICAgICAgICAgICAgICAgKGFw cGx5IGludm9rZSAiZysrIiAiLW8iIGRlY29yYS1uYXRpdmUtbGliCisgICAgICAgICAgICAgICAg ICAgICAgICAoYXBwZW5kIGxpbmstZmxhZ3MgKGZpbmQtZmlsZXMgZGVjb3JhLW5hdGl2ZS1vYmog IlxcLm9iaiQiKSkpKSkpCisKKyAgICAgICAgICAgKGFkZC1hZnRlciAnY29tcGlsZS1kZWNvcmEt bmF0aXZlLWxpYiAnY29tcGlsZS1saW51eC1mb250LW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAo bGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAg IChsZXQqICgoY2xhc3NlcyAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9jbGFzc2VzL2phdmEvbWFp biIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL2ZvbnQvbGludXgiKQorICAgICAgICAg ICAgICAgICAgICAgIChmb250LW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGli cy9mb250L2xpbnV4L2xpYmphdmFmeF9mb250LnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAo Zm9udC1uYXRpdmUtb2JqICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25hdGl2ZS9mb250L2xpbnV4 IikKKyAgICAgICAgICAgICAgICAgICAgICAoZm9udC1uYXRpdmUtc3JjICJtb2R1bGVzL2dyYXBo aWNzL3NyYy9tYWluL25hdGl2ZS1mb250IikKKyAgICAgICAgICAgICAgICAgICAgICA7OworICAg ICAgICAgICAgICAgICAgICAgIChqZGsgKGFzc29jLXJlZiBpbnB1dHMgImpkayIpKQorICAgICAg ICAgICAgICAgICAgICAgIChjYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxAY29t bW9uLWZsYWdzICItYyIgIi1mZnVuY3Rpb24tc2VjdGlvbnMiICItZmRhdGEtc2VjdGlvbnMiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBl bmQgamRrICIvaW5jbHVkZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZS9saW51eCIpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAoZm9udC1jYy1mbGFncyBgKCItREpGWEZPTlRfUExVUyIgLEBjYy1mbGFn cykpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBmb250LWdlbi1oZWFkZXJzKQorICAgICAg ICAgICAgICAgICAoYXBwbHkgaW52b2tlICJqYXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAg ICItZCIgZm9udC1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgY2xh c3NlcworICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXIgKGxhbWJkYSAoY2xhc3MpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKHN0cmluZy1wcmVmaXg/ ICJjb20uc3VuLmphdmFmeC5mb250IiBjbGFzcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLXByZWZpeD8gImNvbS5zdW4uamF2YWZ4LnRleHQi IGNsYXNzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGphdmEt bGlzdC1jbGFzc2VzIGNsYXNzZXMpKSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIGZvbnQt bmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGNjKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwbHkgaW52b2tlICJnY2MiCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiIGZvbnQtZ2VuLWhlYWRlcnMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgZm9udC1uYXRpdmUtc3JjCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iIChzdHJpbmctYXBwZW5kIGZvbnQtbmF0 aXZlLW9iaiAiLyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGJhc2VuYW1lIGNjICIuYyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChhcHBlbmQgZm9udC1jYy1mbGFncyAobGlzdCBjYykpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIGZvbnQtbmF0aXZlLXNyYyAiXFwu YyQiKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRpcm5hbWUgZm9udC1uYXRpdmUtbGli KSkKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiZysrIgorICAgICAgICAgICAgICAg ICAgICAgICAgIi1vIiBmb250LW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAgICAgICAgICAgIChh cHBlbmQgbGluay1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1m aWxlcyBmb250LW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKSkpCisKKyAgICAgICAgICAgKGFkZC1h ZnRlciAnY29tcGlsZS1saW51eC1mb250LW5hdGl2ZS1saWIgJ2NvbXBpbGUtbGludXgtZm9udC1m cmVldHlwZQorICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxvdy1vdGhl ci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dyYXBoaWNz L2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICA7OworICAg ICAgICAgICAgICAgICAgICAgIChmb250LWZyZWV0eXBlLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dy YXBoaWNzL2J1aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycy9mb250RnJlZXR5cGUvbGludXgiKQor ICAgICAgICAgICAgICAgICAgICAgIChmb250LWZyZWV0eXBlLW5hdGl2ZS1saWIgIm1vZHVsZXMv Z3JhcGhpY3MvYnVpbGQvbGlicy9mb250RnJlZXR5cGUvbGludXgvbGliamF2YWZ4X2ZvbnRfZnJl ZXR5cGUuc28iKQorICAgICAgICAgICAgICAgICAgICAgIChmb250LWZyZWV0eXBlLW5hdGl2ZS1v YmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL2ZvbnRGcmVldHlwZS9saW51eCIpCisg ICAgICAgICAgICAgICAgICAgICAgKGZvbnQtZnJlZXR5cGUtbmF0aXZlLXNyYyAibW9kdWxlcy9n cmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZm9udC9mcmVldHlwZS5jIikKKyAgICAgICAgICAgICAg ICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAgICAgICAgICAg ICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1vbi1mbGFncyAi LWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2lu Y2x1ZGUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChz dHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCisgICAgICAgICAgICAgICAgICAg ICAgKGZvbnQtZnJlZXR5cGUtY2MtZmxhZ3MgYCgiLURKRlhGT05UX1BMVVMiICItRF9FTkFCTEVf UEFOR08iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi JChwa2ctY29uZmlnIC0tY2ZsYWdzIGZyZWV0eXBlMikiICxAY2MtZmxhZ3MpKQorICAgICAgICAg ICAgICAgICAgICAgIChmb250LWZyZWV0eXBlLWxpbmstZmxhZ3MgYCgiJChwa2ctY29uZmlnIC0t bGlicyBmcmVldHlwZTIpIiAsQGxpbmstZmxhZ3MpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGly LXAgZm9udC1mcmVldHlwZS1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGlu dm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIGZvbnQtZnJlZXR5cGUt Z2VuLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIGNsYXNzZXMKKyAgICAg ICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoZmlsdGVyIChjdXQgc3RyaW5nLXByZWZpeD8gImNvbS5zdW4uamF2 YWZ4LmZvbnQuZnJlZXR5cGUuT1NGcmVldHlwZSIgPD4pCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGphdmEtbGlzdC1jbGFzc2VzIGNsYXNzZXMpKSkpCisgICAgICAg ICAgICAgICAgIChta2Rpci1wIGZvbnQtZnJlZXR5cGUtbmF0aXZlLW9iaikKKyAgICAgICAgICAg ICAgICAgKGludm9rZSAiYmFzaCIgIi1jIgorICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctam9pbiBgKCJnY2MiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEBmb250LWZyZWV0eXBlLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1JIiAsZm9udC1mcmVldHlwZS1nZW4taGVhZGVycworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChkaXJuYW1lIGZvbnQtZnJlZXR5cGUtbmF0 aXZlLXNyYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwo c3RyaW5nLWFwcGVuZCBmb250LWZyZWV0eXBlLW5hdGl2ZS1vYmogIi8iCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2VuYW1l IGZvbnQtZnJlZXR5cGUtbmF0aXZlLXNyYyAiLmMiKSAiLm9iaiIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLGZvbnQtZnJlZXR5cGUtbmF0aXZlLXNyYykpKQorICAg ICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBmb250LWZyZWV0eXBlLW5hdGl2ZS1saWIp KQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiLW8iICxmb250LWZyZWV0eXBlLW5hdGl2ZS1saWIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGZvbnQtZnJlZXR5cGUtbGluay1mbGFncwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQtZmlsZXMgZm9u dC1mcmVldHlwZS1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkpKSkKKworICAgICAgICAgICAoYWRk LWFmdGVyICdjb21waWxlLWxpbnV4LWZvbnQtZnJlZXR5cGUgJ2NvbXBpbGUtbGludXgtZm9udC1w YW5nby1saWIKKyAgICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzICM6YWxsb3ctb3Ro ZXIta2V5cykKKyAgICAgICAgICAgICAgIChsZXQqICgoY2xhc3NlcyAibW9kdWxlcy9ncmFwaGlj cy9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQt cGFuZ28tZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9o ZWFkZXJzL2ZvbnRQYW5nby9saW51eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQtcGFu Z28tbmF0aXZlLWxpYiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9saWJzL2ZvbnRQYW5nby9saW51 eC9saWJqYXZhZnhfZm9udF9wYW5nby5zbyIpCisgICAgICAgICAgICAgICAgICAgICAgKGZvbnQt cGFuZ28tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUvZm9udFBhbmdv L2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAoZm9udC1wYW5nby1uYXRpdmUtc3JjICJt b2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1mb250L3BhbmdvLmMiKQorICAgICAgICAg ICAgICAgICAgICAgIChqZGsgKGFzc29jLXJlZiBpbnB1dHMgImpkayIpKQorICAgICAgICAgICAg ICAgICAgICAgIChjYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxAY29tbW9uLWZs YWdzICItYyIgIi1mZnVuY3Rpb24tc2VjdGlvbnMiICItZmRhdGEtc2VjdGlvbnMiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRr ICIvaW5jbHVkZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1J IiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZS9saW51eCIpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAoZm9udC1wYW5nby1jYy1mbGFncyBgKCItREpGWEZPTlRfUExVUyIgIi1EX0VOQUJM RV9QQU5HTyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIk KHBrZy1jb25maWcgLS1jZmxhZ3MgcGFuZ29mdDIpIiAsQGNjLWZsYWdzKSkKKyAgICAgICAgICAg ICAgICAgICAgICAoZm9udC1wYW5nby1saW5rLWZsYWdzIGAoIiQocGtnLWNvbmZpZyAtLWxpYnMg cGFuZ29mdDIpIiAsQGxpbmstZmxhZ3MpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgZm9u dC1wYW5nby1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2 YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIGZvbnQtcGFuZ28tZ2VuLWhlYWRlcnMK KyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIGNsYXNzZXMKKyAgICAgICAgICAgICAgICAg ICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmlsdGVyIChjdXQgc3RyaW5nLXByZWZpeD8gImNvbS5zdW4uamF2YWZ4LmZvbnQuZnJl ZXR5cGUuT1NQYW5nbyIgPD4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGphdmEtbGlzdC1jbGFzc2VzIGNsYXNzZXMpKSkpCisgICAgICAgICAgICAgICAgIChta2Rp ci1wIGZvbnQtcGFuZ28tbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGludm9rZSAiYmFz aCIgIi1jIgorICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctam9pbiBgKCJnY2MiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBmb250LXBhbmdvLWNjLWZs YWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsZm9udC1w YW5nby1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLChkaXJuYW1lIGZvbnQtcGFuZ28tbmF0aXZlLXNyYykKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwoc3RyaW5nLWFwcGVuZCBmb250LXBhbmdvLW5h dGl2ZS1vYmogIi8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGJhc2VuYW1lIGZvbnQtcGFuZ28tbmF0aXZlLXNyYyAiLmMiKSAi Lm9iaiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGZvbnQtcGFu Z28tbmF0aXZlLXNyYykpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBmb250 LXBhbmdvLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMi CisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGZvbnQtcGFuZ28tbGluay1mbGFncwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLGZvbnQtcGFuZ28t bmF0aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZp bmQtZmlsZXMgZm9udC1wYW5nby1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkpKSkKKworICAgICAg ICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LWZvbnQtcGFuZ28tbGliICdjb21waWxlLWxp bnV4LWdsYXNzLWxpYgorICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgb3V0cHV0 cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1v ZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAg ICAgICAgIDs7IGdsYXNzCisgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLWdlbi1oZWFkZXJz ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycy9nbGFzcy9saW51 eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGdsYXNzLW5hdGl2ZS1saWIgIm1vZHVsZXMvZ3Jh cGhpY3MvYnVpbGQvbGlicy9nbGFzcy9saW51eC9saWJnbGFzcy5zbyIpCisgICAgICAgICAgICAg ICAgICAgICAgKGdsYXNzLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZl L2dsYXNzL2xpbnV4L2dsYXNzIikKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtbmF0aXZl LXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMvbWFpbi9uYXRpdmUtZ2xhc3MvZ3RrIikKKyAgICAg ICAgICAgICAgICAgICAgICAoamRrIChhc3NvYy1yZWYgaW5wdXRzICJqZGsiKSkKKyAgICAgICAg ICAgICAgICAgICAgICAoY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGNvbW1v bi1mbGFncyAiLWMiICItZmZ1bmN0aW9uLXNlY3Rpb25zIiAiLWZkYXRhLXNlY3Rpb25zIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLChzdHJpbmctYXBwZW5k IGpkayAiL2luY2x1ZGUiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLChzdHJpbmctYXBwZW5kIGpkayAiL2luY2x1ZGUvbGludXgiKSkpCisgICAgICAgICAg ICAgICAgICAgICAgKGdsYXNzLWNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBj Yy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICIkKHBrZy1jb25maWcgLS1jZmxhZ3Mg Z2xpYi0yLjAgZ3RrKy0yLjAgeHRzdCkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8t ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1XZXJy b3IiCisgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlIgor ICAgICAgICAgICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICAgICAgICAgICAgKGdsYXNz LWxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgYCgsQGxpbmstZmxhZ3MKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tbGlicyB4MTEgZ3RrKy0yLjApIiAi LWxkbCIpKQorICAgICAgICAgICAgICAgICAgICAgIDs7IGdsYXNzLWd0azIKKyAgICAgICAgICAg ICAgICAgICAgICAoZ3RrIChhc3NvYy1yZWYgaW5wdXRzICJndGsiKSkKKyAgICAgICAgICAgICAg ICAgICAgICAoZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25h dGl2ZS9nbGFzcy9saW51eC9nbGFzc2d0azIiKQorICAgICAgICAgICAgICAgICAgICAgIChnbGFz cy1ndGsyLW5hdGl2ZS1zcmMgZ2xhc3MtbmF0aXZlLXNyYykKKyAgICAgICAgICAgICAgICAgICAg ICAoZ2xhc3MtZ3RrMi1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvZ2xh c3MvbGludXgvbGliZ2xhc3NndGsyLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3Mt Z3RrMi1jYy1mbGFncworICAgICAgICAgICAgICAgICAgICAgICBgKCxAY2MtZmxhZ3MKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiJChwa2ctY29uZmlnIC0tY2ZsYWdzIGd0aystMi4wIHh0c3Qp IgorICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFhYOiBHVGltZVZhbCBoYXMgYmVlbiBkZXBy ZWNhdGVkIGluIEdMSUIgc2luY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICA7OyB2ZXJzaW9u IDIuNjIuIEdUaW1lVmFsIHMgbm90IHllYXItMjAzOC1zYWZlLiBHdGsKKyAgICAgICAgICAgICAg ICAgICAgICAgICA7OyAyLjI0IHVzZXMgR1RpbWVWYWwgc28gb3VyIGJ1aWxkIGlzIGFsc28gZmFp bGluZy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1kZXByZWNhdGVkLWRlY2xhcmF0 aW9ucyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiLVdlcnJvciIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAiLVduby1jYXN0LWZ1bmN0aW9uLXR5cGUiCisgICAgICAgICAgICAgICAgICAg ICAgICAgKSkKKyAgICAgICAgICAgICAgICAgICAgICAoZ2xhc3MtZ3RrMi1saW5rLWZsYWdzCisg ICAgICAgICAgICAgICAgICAgICAgIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJz IGd0aystMi4wIHh0c3QpIikpKQorICAgICAgICAgICAgICAgICA7OyBnbGFzcworICAgICAgICAg ICAgICAgICAobWtkaXItcCBnbGFzcy1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAgKGFw cGx5IGludm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIGdsYXNzLWdl bi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5nLWFwcGVuZCBj bGFzc2VzICI6IiAoZ2V0ZW52ICJDTEFTU1BBVEgiKSkKKyAgICAgICAgICAgICAgICAgICAgICAg IChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZmlsdGVyIChsYW1iZGEgKGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG9yIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5nbGFzcy5ldmVudHMiIGNsYXNz KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmct cHJlZml4PyAiY29tLnN1bi5nbGFzcy51aS5ndGsiIGNsYXNzKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5nbGFz cy51aSIgY2xhc3MpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo amF2YS1saXN0LWNsYXNzZXMgY2xhc3NlcykpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAg Z2xhc3MtbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGMp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAZ2xhc3Mt Y2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLUkiICxnbGFzcy1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGdsYXNzLW5hdGl2ZS1zcmMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICwoc3RyaW5n LWFwcGVuZCBnbGFzcy1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBj ICIuYyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsYykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVz IGdsYXNzLW5hdGl2ZS1zcmMgIlxcLmMkIikpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIChk aXJuYW1lIGdsYXNzLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNo IiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWxpbmstZmxhZ3MK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICxnbGFzcy1uYXRp dmUtbGliCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoZmluZC1m aWxlcyBnbGFzcy1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkKKyAgICAgICAgICAgICAgICAgOzsg Z3RrMgorICAgICAgICAgICAgICAgICAobWtkaXItcCBnbGFzcy1ndGsyLW5hdGl2ZS1vYmopCisg ICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjcHApCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAZ2xhc3MtZ3RrMi1jYy1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGds YXNzLWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi1vIiAsKHN0cmluZy1hcHBlbmQgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICIv IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjcHAgIi5jcHAiKSAiLm9iaiIpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGNwcCkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIGdsYXNzLWd0azItbmF0aXZlLXNy YyAiXFwuY3BwJCIpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCAoZGlybmFtZSBnbGFzcy1n dGsyLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisg ICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQGdsYXNzLWd0azItbGluay1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgLGdsYXNzLWd0azItbmF0 aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQt ZmlsZXMgZ2xhc3MtZ3RrMi1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkpKSkKKworICAgICAgICAg ICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LWdsYXNzLWxpYiAgJ2NvbXBpbGUtbGludXgtaWlv CisgICAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMp CisgICAgICAgICAgICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQv Y2xhc3Nlcy9qYXZhL21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIChpaW8tZ2VuLWhlYWRl cnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNyYy9oZWFkZXJzL2lpby9saW51 eCIpCisgICAgICAgICAgICAgICAgICAgICAgKGlpby1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBo aWNzL2J1aWxkL2xpYnMvaWlvL2xpbnV4L2xpYmphdmFmeF9paW8uc28iKQorICAgICAgICAgICAg ICAgICAgICAgIChpaW8tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUv aWlvL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAoaWlvLW5hdGl2ZS1zcmMgIm1vZHVs ZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLWlpbyIpCisgICAgICAgICAgICAgICAgICAgICAg KGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAgICAgKGNj LWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1jIiAiLWZm dW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlIikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFw cGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQorICAgICAgICAgICAgICAgICAgICAgIChpaW8t Y2MtZmxhZ3MgY2MtZmxhZ3MpCisgICAgICAgICAgICAgICAgICAgICAgKGlpby1saW5rLWZsYWdz IGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIGxpYmpwZWcpIikpKQorICAgICAg ICAgICAgICAgICAobWtkaXItcCBpaW8tZ2VuLWhlYWRlcnMpCisgICAgICAgICAgICAgICAgIChh cHBseSBpbnZva2UgImphdmFoIgorICAgICAgICAgICAgICAgICAgICAgICAgIi1kIiBpaW8tZ2Vu LWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICItY3AiIChzdHJpbmctYXBwZW5kIGNs YXNzZXMgIjoiIChnZXRlbnYgIkNMQVNTUEFUSCIpKQorICAgICAgICAgICAgICAgICAgICAgICAg KGFwcGVuZCBqYXZhYy9oLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChm aWx0ZXIgKGN1dCBzdHJpbmctcHJlZml4PyAiY29tLnN1bi5qYXZhZnguaWlvIiA8PikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2YS1saXN0LWNsYXNzZXMgY2xh c3NlcykpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgaWlvLW5hdGl2ZS1vYmopCisgICAg ICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChjKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1qb2luIGAoImdjYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQGlpby1jYy1mbGFncworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLGlpby1nZW4taGVhZGVy cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt byIgLChzdHJpbmctYXBwZW5kIGlpby1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChi YXNlbmFtZSBjICIuYyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsYykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChm aW5kLWZpbGVzIGlpby1uYXRpdmUtc3JjICJcXC5jJCIpKQorICAgICAgICAgICAgICAgICAobWtk aXItcCAoZGlybmFtZSBpaW8tbmF0aXZlLWxpYikpCisgICAgICAgICAgICAgICAgIChpbnZva2Ug ImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZysr IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAaWlvLWxpbmstZmxh Z3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8iICxpaW8tbmF0 aXZlLWxpYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGZpbmQt ZmlsZXMgaWlvLW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKSkpKQorCisgICAgICAgICAgIChhZGQt YWZ0ZXIgJ2NvbXBpbGUtbGludXgtaWlvICdjb21waWxlLWxpbnV4LXByaXNtCisgICAgICAgICAg ICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAgICAgICAg ICAgICAobGV0KiAoKGNsYXNzZXMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvY2xhc3Nlcy9qYXZh L21haW4iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1nZW4taGVhZGVycyAibW9kdWxl cy9ncmFwaGljcy9idWlsZC9nZW5lcmF0ZWQtc3JjL2hlYWRlcnMvcHJpc20vbGludXgiKQorICAg ICAgICAgICAgICAgICAgICAgIChwcmlzbS1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1 aWxkL2xpYnMvcHJpc20vbGludXgvbGlicHJpc21fY29tbW9uLnNvIikKKyAgICAgICAgICAgICAg ICAgICAgICAocHJpc20tbmF0aXZlLW9iaiAibW9kdWxlcy9ncmFwaGljcy9idWlsZC9uYXRpdmUv cHJpc20vbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1uYXRpdmUtc3JjICJt b2R1bGVzL2dyYXBoaWNzL3NyYy9tYWluL25hdGl2ZS1wcmlzbSIpCisgICAgICAgICAgICAgICAg ICAgICAgKGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAgICAgICAg ICAgKGNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxhZ3MgIi1j IiAiLWZmdW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNs dWRlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3Ry aW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQorICAgICAgICAgICAgICAgICAgICAg IChwcmlzbS1jYy1mbGFncyBgKCxAY2MtZmxhZ3MgIi1ESU5MSU5FPWlubGluZSIpKQorICAgICAg ICAgICAgICAgICAgICAgIChwcmlzbS1saW5rLWZsYWdzIGxpbmstZmxhZ3MpKQorICAgICAgICAg ICAgICAgICAobWtkaXItcCBwcmlzbS1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAgKGFw cGx5IGludm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIHByaXNtLWdl bi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3RyaW5nLWFwcGVuZCBj bGFzc2VzICI6IiAoZ2V0ZW52ICJDTEFTU1BBVEgiKSkKKyAgICAgICAgICAgICAgICAgICAgICAg IChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZmlsdGVyIChsYW1iZGEgKGNsYXNzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG9yIChzdHJpbmctcHJlZml4PyAiY29tLnN1bi5wcmlzbS5pbXBsIiBjbGFzcykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLXBy ZWZpeD8gImNvbS5zdW4ucHJpc20uUHJlc2VudGFibGVTdGF0ZSIgY2xhc3MpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2YS1saXN0LWNsYXNzZXMgY2xhc3Nl cykpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgcHJpc20tbmF0aXZlLW9iaikKKyAgICAg ICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGMpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAcHJpc20tY2MtZmxhZ3MKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICxwcmlzbS1nZW4taGVh ZGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItSSIgLHByaXNtLW5hdGl2ZS1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLW8iICwoc3RyaW5nLWFwcGVuZCBwcmlzbS1uYXRpdmUtb2Jq ICIvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChiYXNlbmFtZSBjICIuYyIpICIub2JqIikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsYykpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzIHByaXNtLW5hdGl2ZS1zcmMgIlxcLmMk IikpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIChkaXJuYW1lIHByaXNtLW5hdGl2ZS1saWIp KQorICAgICAgICAgICAgICAgICAoaW52b2tlICJiYXNoIiAiLWMiCisgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQHByaXNtLWxpbmstZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiLW8iICxwcmlzbS1uYXRpdmUtbGliCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAoZmluZC1maWxlcyBwcmlzbS1uYXRpdmUtb2JqICJc XC5vYmokIikpKSkpKSkKKworICAgICAgICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LXBy aXNtICdjb21waWxlLWxpbnV4LXByaXNtLWVzMgorICAgICAgICAgICAgIChsYW1iZGEqICgjOmtl eSBpbnB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFz c2VzICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAg ICAgICAgICAgICAgICAocHJpc20tZXMyLWdlbi1oZWFkZXJzICJtb2R1bGVzL2dyYXBoaWNzL2J1 aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycy9wcmlzbUVTMi9saW51eCIpCisgICAgICAgICAgICAg ICAgICAgICAgKHByaXNtLWVzMi1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xp YnMvcHJpc20vbGludXgvbGlicHJpc21fZXMyLnNvIikKKyAgICAgICAgICAgICAgICAgICAgICAo cHJpc20tZXMyLW5hdGl2ZS1vYmogIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbmF0aXZlL3ByaXNt RVMyL2xpbnV4IikKKyAgICAgICAgICAgICAgICAgICAgICAocHJpc20tZXMyLW5hdGl2ZS1zcmMg Im1vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLXByaXNtLWVzMiIpCisgICAgICAgICAg ICAgICAgICAgICAgKGpkayAoYXNzb2MtcmVmIGlucHV0cyAiamRrIikpCisgICAgICAgICAgICAg ICAgICAgICAgKGNjLWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgIGAoLEBjb21tb24tZmxh Z3MgIi1jIiAiLWZmdW5jdGlvbi1zZWN0aW9ucyIgIi1mZGF0YS1zZWN0aW9ucyIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUkiICwoc3RyaW5nLWFwcGVuZCBqZGsg Ii9pbmNsdWRlIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLUki ICwoc3RyaW5nLWFwcGVuZCBqZGsgIi9pbmNsdWRlL2xpbnV4IikpKQorICAgICAgICAgICAgICAg ICAgICAgIChwcmlzbS1lczItY2MtZmxhZ3MgYCgiLURMSU5VWCIgLEBjYy1mbGFncykpCisgICAg ICAgICAgICAgICAgICAgICAgKHByaXNtLWVzMi1saW5rLWZsYWdzCisgICAgICAgICAgICAgICAg ICAgICAgIGAoLEBsaW5rLWZsYWdzICIkKHBrZy1jb25maWcgLS1saWJzIHgxMSB4eGY4NnZtIGds IGZvbnRjb25maWcpIikpCisgICAgICAgICAgICAgICAgICAgICAgOzsgV2UgbmVlZCBhbGwgKi5j IGZpbGVzIGluIHRoZSByb290IGFuZCBvbmx5IHRob3NlCisgICAgICAgICAgICAgICAgICAgICAg Ozsgd2hpY2ggYXJlIGluIGEgc3BlY2lmaWMgZGlyZWN0b3JpZXMuCisgICAgICAgICAgICAgICAg ICAgICAgKGZpbHRlci1zcmMKKyAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoYWJzIF8p CisgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChyZWdleHAtZXhlYyAobWFrZS1yZWdleHAg KHN0cmluZy1hcHBlbmQgcHJpc20tZXMyLW5hdGl2ZS1zcmMgIi9bWzphbG51bTpdXStcXC5jJCIp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhwLWV4ZWMgKG1ha2UtcmVnZXhwIChzdHJpbmct YXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIvKHgxMS98R0wvKS4qXFwuYyQiKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFicykpKSkpCisgICAgICAgICAg ICAgICAgIChta2Rpci1wIHByaXNtLWVzMi1nZW4taGVhZGVycykKKyAgICAgICAgICAgICAgICAg KGFwcGx5IGludm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAgICAgICAiLWQiIHByaXNt LWVzMi1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAgIi1jcCIgKHN0cmluZy1h cHBlbmQgY2xhc3NlcyAiOiIgKGdldGVudiAiQ0xBU1NQQVRIIikpCisgICAgICAgICAgICAgICAg ICAgICAgICAoYXBwZW5kIGphdmFjL2gtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGZpbHRlciAoY3V0IHN0cmluZy1wcmVmaXg/ICJjb20uc3VuLnByaXNtLmVzMiIgPD4p CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGphdmEtbGlzdC1jbGFz c2VzIGNsYXNzZXMpKSkpCisgICAgICAgICAgICAgICAgIChta2Rpci1wIHByaXNtLWVzMi1uYXRp dmUtb2JqKQorICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoYykKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiZ2NjIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1JIiBwcmlzbS1lczItZ2VuLWhlYWRlcnMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgcHJpc20tZXMyLW5hdGl2ZS1zcmMKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgKHN0cmluZy1hcHBlbmQgcHJp c20tZXMyLW5hdGl2ZS1zcmMgIi9HTCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiLUkiIChzdHJpbmctYXBwZW5kIHByaXNtLWVzMi1uYXRpdmUtc3JjICIveDExIikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItbyIgKHN0cmluZy1hcHBlbmQgcHJp c20tZXMyLW5hdGl2ZS1vYmogIi8iIChiYXNlbmFtZSBjICIuYyIpICIub2JqIikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgcHJpc20tZXMyLWNjLWZsYWdzIChs aXN0IGMpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmluZC1maWxlcyBwcmlzbS1l czItbmF0aXZlLXNyYyBmaWx0ZXItc3JjKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgKGRp cm5hbWUgcHJpc20tZXMyLW5hdGl2ZS1saWIpKQorICAgICAgICAgICAgICAgICAoaW52b2tlICJi YXNoIiAiLWMiCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1qb2luIGAoImcrKyIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQHByaXNtLWVzMi1saW5r LWZsYWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1vIiAscHJp c20tZXMyLW5hdGl2ZS1saWIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChmaW5kLWZpbGVzIHByaXNtLWVzMi1uYXRpdmUtb2JqICJcXC5vYmokIikpKSkpKSkKKwor ICAgICAgICAgICAoYWRkLWFmdGVyICdjb21waWxlLWxpbnV4LXByaXNtLWVzMiAnY29tcGlsZS1s aW51eC1wcmlzbS1zdworICAgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBpbnB1dHMgIzphbGxv dy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL2dy YXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIikKKyAgICAgICAgICAgICAgICAgICAgICAo cHJpc20tc3ctZ2VuLWhlYWRlcnMgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvZ2VuZXJhdGVkLXNy Yy9oZWFkZXJzL3ByaXNtU1cvbGludXgiKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1z dy1uYXRpdmUtbGliICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvcHJpc20vbGludXgvbGli cHJpc21fc3cuc28iKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1zdy1uYXRpdmUtb2Jq ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL25hdGl2ZS9wcmlzbVNXL2xpbnV4IikKKyAgICAgICAg ICAgICAgICAgICAgICAocHJpc20tc3ctbmF0aXZlLXNyYyAibW9kdWxlcy9ncmFwaGljcy9zcmMv bWFpbi9uYXRpdmUtcHJpc20tc3ciKQorICAgICAgICAgICAgICAgICAgICAgIChqZGsgKGFzc29j LXJlZiBpbnB1dHMgImpkayIpKQorICAgICAgICAgICAgICAgICAgICAgIChjYy1mbGFncworICAg ICAgICAgICAgICAgICAgICAgICBgKCxAY29tbW9uLWZsYWdzICItYyIgIi1mZnVuY3Rpb24tc2Vj dGlvbnMiICItZmRhdGEtc2VjdGlvbnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIvaW5jbHVkZSIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1JIiAsKHN0cmluZy1hcHBlbmQgamRrICIv aW5jbHVkZS9saW51eCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICA7OworICAgICAgICAgICAg ICAgICAgICAgIChwcmlzbS1zdy1jYy1mbGFncyBgKCxAY2MtZmxhZ3MgIi1ESU5MSU5FPWlubGlu ZSIpKQorICAgICAgICAgICAgICAgICAgICAgIChwcmlzbS1zdy1saW5rLWZsYWdzIGxpbmstZmxh Z3MpKQorICAgICAgICAgICAgICAgICAobWtkaXItcCBwcmlzbS1zdy1nZW4taGVhZGVycykKKyAg ICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiamF2YWgiCisgICAgICAgICAgICAgICAgICAg ICAgICAiLWQiIHByaXNtLXN3LWdlbi1oZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAi LWNwIiAoc3RyaW5nLWFwcGVuZCBjbGFzc2VzICI6IiAoZ2V0ZW52ICJDTEFTU1BBVEgiKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgamF2YWMvaC1mbGFncworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoZmlsdGVyIChjdXQgc3RyaW5nLXByZWZpeD8gImNvbS5zdW4u cGlzY2VzIiA8PikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoamF2 YS1saXN0LWNsYXNzZXMgY2xhc3NlcykpKSkKKyAgICAgICAgICAgICAgICAgKG1rZGlyLXAgcHJp c20tc3ctbmF0aXZlLW9iaikKKyAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGMp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZva2UgImJhc2giICItYyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gYCgiZ2NjIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAcHJpc20t c3ctY2MtZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiLUkiICxwcmlzbS1zdy1nZW4taGVhZGVycworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItSSIgLHByaXNtLXN3LW5hdGl2ZS1zcmMK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLW8i ICwoc3RyaW5nLWFwcGVuZCBwcmlzbS1zdy1uYXRpdmUtb2JqICIvIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChiYXNlbmFtZSBjICIuYyIpICIub2JqIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsYykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChmaW5kLWZpbGVzIHByaXNtLXN3LW5hdGl2ZS1zcmMgIlxcLmMkIikpCisgICAgICAgICAgICAg ICAgIChta2Rpci1wIChkaXJuYW1lIHByaXNtLXN3LW5hdGl2ZS1saWIpKQorICAgICAgICAgICAg ICAgICAoYXBwbHkgaW52b2tlICJnKysiICItbyIgcHJpc20tc3ctbmF0aXZlLWxpYgorICAgICAg ICAgICAgICAgICAgICAgICAgKGFwcGVuZCBwcmlzbS1zdy1saW5rLWZsYWdzIChmaW5kLWZpbGVz IHByaXNtLXN3LW5hdGl2ZS1vYmogIlxcLm9iaiQiKSkpKSkpCisKKyAgICAgICAgICAgKGFkZC1h ZnRlciAnY29tcGlsZS1saW51eC1wcmlzbS1zdyAnYnVpbGQtamFyCisgICAgICAgICAgICAgKGxh bWJkYSBfCisgICAgICAgICAgICAgICAobGV0KiAoKG1vZHVsZSAoc3RyaW5nLWFwcGVuZCAibW9k dWxlcy9ncmFwaGljcyIpKQorICAgICAgICAgICAgICAgICAgICAgIChkZWNvcmEgKHN0cmluZy1h cHBlbmQgbW9kdWxlICIvYnVpbGQvY2xhc3Nlcy9qc2wtZGVjb3JhIikpCisgICAgICAgICAgICAg ICAgICAgICAgKHByaXNtIChzdHJpbmctYXBwZW5kIG1vZHVsZSAiL2J1aWxkL2NsYXNzZXMvanNs LXByaXNtIikpCisgICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlcyAoc3RyaW5nLWFwcGVu ZCBtb2R1bGUgIi9zcmMvbWFpbi9yZXNvdXJjZXMiKSkKKyAgICAgICAgICAgICAgICAgICAgICAo Y2xhc3NlcyAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIp KSkKKyAgICAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgZGVjb3JhIGNsYXNzZXMpCisg ICAgICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5IHByaXNtIGNsYXNzZXMpCisgICAgICAg ICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5IHJlc291cmNlcyBjbGFzc2VzKQorCisgICAgICAg ICAgICAgICAgIChpbnZva2UgImFudCIgImphciIgKHN0cmluZy1hcHBlbmQgIi1EY2xhc3Nlcy5k aXI9IiBjbGFzc2VzKSkpKSkKKworICAgICAgICAgICAoYWRkLWJlZm9yZSAnY2hlY2sgJ2NvcHkt Y2xhc3NlcworICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChjb3B5LXJlY3Vy c2l2ZWx5ICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2NsYXNzZXMvamF2YS9tYWluIiAiYnVpbGQv Y2xhc3NlcyIpCisgICAgICAgICAgICAgKHN1YnN0aXR1dGUqICJidWlsZC54bWwiCisgICAgICAg ICAgICAgICAoKCI8anVuaXQuKmhhbHRvbmZhaWx1cmU9XCJ5ZXNcIj4iIGFsbCkKKyAgICAgICAg ICAgICAgICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICBhbGwKKyAgICAgICAgICAg ICAgICAgIjxzeXNwcm9wZXJ0eSBrZXk9XCJqYXZhLmxpYnJhcnkucGF0aFwiIHZhbHVlPVwiIgor ICAgICAgICAgICAgICAgICAoc3RyaW5nLWpvaW4gJygibW9kdWxlcy9ncmFwaGljcy9idWlsZC9s aWJzL3ByaXNtL2xpbnV4LyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVs ZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9mb250L2xpbnV4LyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIm1vZHVsZXMvZ3JhcGhpY3MvYnVpbGQvbGlicy9mb250RnJlZXR5cGUvbGlu dXgvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlcy9ncmFwaGljcy9i dWlsZC9saWJzL2ZvbnRQYW5nby9saW51eC8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJtb2R1bGVzL2dyYXBoaWNzL2J1aWxkL2xpYnMvaWlvL2xpbnV4LyIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiOiIpCisgICAgICAgICAgICAgICAgICAiXCIvPiIKKyAgICAg ICAgICAgICAgICAgICI8c3lzcHJvcGVydHkga2V5PVwiamF2YWZ4LnRvb2xraXRcIiB2YWx1ZT1c ImNvbS5zdW4uamF2YWZ4LnBnc3R1Yi5TdHViVG9vbGtpdFwiLz4iKSkpKSkKKworCisgICAgICAg ICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ2luc3RhbGwtbmF0aXZlCisgICAgICAgICAgICAgKGxh bWJkYSogKCM6a2V5IG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlzKQorICAgICAgICAgICAgICAg KGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpICIvbGli L29wZW5qZngiKSkpCisgICAgICAgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5zdGFsbC1maWxlIGZpbGUgbGliKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGVzICIuIiAiXFwuc28kIikpKSkpKSkp KQogICAgIChuYXRpdmUtaW5wdXRzCi0gICAgIGAoKCJKTmF0aXZlU3VyZmFjZS5jIgotICAgICAg ICAsKG9yaWdpbgotICAgICAgICAgICAobWV0aG9kIHVybC1mZXRjaCkKLSAgICAgICAgICAgKHVy aSAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL29wZW5qZGsvamZ4Lzh1MjAtYjAy XAotL21vZHVsZXMvZ3JhcGhpY3Mvc3JjL21haW4vbmF0aXZlLXByaXNtLXN3L0pOYXRpdmVTdXJm YWNlLmMiKQotICAgICAgICAgICAoc2hhMjU2Ci0gICAgICAgICAgICAoYmFzZTMyCi0gICAgICAg ICAgICAgIjFrcDE1d2JuZDZybjBuY2ljenA1aWJxMGlrYnkyeXlzdngxZ256NWZhMDV2bDJtbTht Ym0iKSkpKSkpCisgICAgIChsaXN0IGFudGxyMworICAgICAgICAgICBqYXZhLXN0cmluZ3RlbXBs YXRlCisgICAgICAgICAgIGdjYworICAgICAgICAgICBpY2VkdGVhLTgKKyAgICAgICAgICAgcGtn LWNvbmZpZworICAgICAgICAgICBqYXZhLWp1bml0KSkKKyAgICAoaW5wdXRzCisgICAgIChsaXN0 IGZyZWV0eXBlCisgICAgICAgICAgIGZvbnRjb25maWcKKyAgICAgICAgICAgZ2xpYgorICAgICAg ICAgICB6bGliCisgICAgICAgICAgIGd0aystMgorICAgICAgICAgICBsaWJqcGVnLXR1cmJvCisg ICAgICAgICAgIGxpYnh0c3QKKyAgICAgICAgICAgbWVzYQorICAgICAgICAgICBwYW5nbworICAg ICAgICAgICBsaWJwbmcKKyAgICAgICAgICAgbGlieHhmODZ2bQorICAgICAgICAgICBsaWJ4MTEp KQorICAgIChwcm9wYWdhdGVkLWlucHV0cworICAgICAobGlzdCBqYXZhLW9wZW5qZngtYmFzZQor ICAgICAgICAgICBqYXZhLXN3dCkpCiAgICAgKGRlc2NyaXB0aW9uICJPcGVuSkZYIGlzIGEgY2xp ZW50IGFwcGxpY2F0aW9uIHBsYXRmb3JtIGZvciBkZXNrdG9wLAogbW9iaWxlIGFuZCBlbWJlZGRl ZCBzeXN0ZW1zIGJ1aWx0IG9uIEphdmEuICBJdHMgZ29hbCBpcyB0byBwcm9kdWNlIGEKIG1vZGVy biwgZWZmaWNpZW50LCBhbmQgZnVsbHkgZmVhdHVyZWQgdG9vbGtpdCBmb3IgZGV2ZWxvcGluZyBy aWNoIGNsaWVudApAQCAtMzUxOSw2ICs0MTA0LDkgQEAgKGRlZmluZS1wdWJsaWMgamF2YS1zd3QK ICAgICAgYCgjOmphci1uYW1lICJzd3QuamFyIgogICAgICAgICM6amRrICxpY2VkdGVhLTgKICAg ICAgICAjOnRlc3RzPyAjZiA7IG5vICJjaGVjayIgdGFyZ2V0CisgICAgICAgIzptb2R1bGVzICgo Z3VpeCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAgKGd1aXggYnVp bGQgdXRpbHMpCisgICAgICAgICAgICAgICAgICAoaWNlLTkgcmVnZXgpKQogICAgICAgICM6cGhh c2VzCiAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcwogICAgICAgICAgKHJl cGxhY2UgJ3VucGFjawpAQCAtMzUyOCw2ICs0MTE2LDIxIEBAIChkZWZpbmUtcHVibGljIGphdmEt c3d0CiAgICAgICAgICAgICAgKGNoZGlyICJzd3QiKQogICAgICAgICAgICAgIChta2RpciAic3Jj IikKICAgICAgICAgICAgICAoaW52b2tlICJ1bnppcCIgInNyYy56aXAiICItZCIgInNyYyIpKSkK KyAgICAgICAgIDs7IGV4cGxpY2l0bHkgbG9hZCBuYXRpdmUgbGlicmFyeSBmcm9tIGdudS9zdG9y ZSBpZiBpdCBjYW4ndCBiZSBmb3VuZAorICAgICAgICAgOzsgYnkgdGhlIHN0YW5kYXJkIG1lYW5z LgorICAgICAgICAgKGFkZC1iZWZvcmUgJ2NvbmZpZ3VyZSAnZW5ncmF2ZS1zd3QtcGF0aAorICAg ICAgICAgICAobGFtYmRhKiAoIzprZXkgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgICAg ICAgICAgICAgKGxldCAoKGxpYiAoc3RyaW5nLWFwcGVuZCAoYXNzb2MtcmVmIG91dHB1dHMgIm91 dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2xpYiIpKSkKKyAg ICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAic3JjL29yZy9lY2xpcHNlL3N3dC9pbnRlcm5hbC9M aWJyYXJ5LmphdmEiCisgICAgICAgICAgICAgICAgICgoKHJlZ2V4cC1xdW90ZSAiLyogRmFpbGVk IHRvIGZpbmQgdGhlIGxpYnJhcnkgKi8iKSBhbGwpCisgICAgICAgICAgICAgICAgICAoc3RyaW5n LWFwcGVuZAorICAgICAgICAgICAgICAgICAgICJpZiAocGF0aCAhPSBudWxsKSB7CisgICAgICAg ICAgICAgICAgICAgICBwYXRoID0gbmV3IEZpbGUgKFwiIiBsaWIgIlwiKS5nZXRBYnNvbHV0ZVBh dGggKCk7CisgICAgICAgICAgICAgICAgICAgICBpZiAobG9hZCAocGF0aCArIFNFUEFSQVRPUiAr IG1hcHBlZE5hbWUxLCBtZXNzYWdlKSkgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICAgaWYg KG1hcE5hbWUgJiYgbG9hZCAocGF0aCArIFNFUEFSQVRPUiArIG1hcHBlZE5hbWUyLCBtZXNzYWdl KSkgcmV0dXJuOworICAgICAgICAgICAgICAgICAgICB9XG5cbiIKKyAgICAgICAgICAgICAgICAg ICAgIGFsbCkpKSkpKQogICAgICAgICAgOzsgVGhlIGNsYXNzcGF0aCBjb250YWlucyBpbnZhbGlk IGljZWNhdCBqYXJzLiAgU2luY2Ugd2UgZG9uJ3QgbmVlZAogICAgICAgICAgOzsgYW55dGhpbmcg b3RoZXIgdGhhbiB0aGUgSkRLIG9uIHRoZSBjbGFzc3BhdGgsIHdlIGNhbiBzaW1wbHkgdW5zZXQK ICAgICAgICAgIDs7IGl0LgotLSAKMi4zNC4wCgo= --000000000000c93bef05e254ac0a Content-Type: application/octet-stream; name="0003-New-java-openjfx-swt-package.patch" Content-Disposition: attachment; filename="0003-New-java-openjfx-swt-package.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4uz6nsz3 RnJvbSBhNjAyZjA4ZTQyNzBmYjFmMWE0MTBhOTM1Y2UzMDEwMWQ0OWYwNDAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxMToyOToyNiArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjYgMy82XSBOZXcgamF2YS1vcGVuamZ4LXN3dCBwYWNrYWdlCgotLS0KIGdudS9wYWNrYWdl cy9qYXZhLnNjbSB8IDE5ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxOSBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2phdmEuc2NtIGIvZ251L3Bh Y2thZ2VzL2phdmEuc2NtCmluZGV4IDVmNWUyY2QwMGUuLmVhZjJmOTRjM2UgMTAwNjQ0Ci0tLSBh L2dudS9wYWNrYWdlcy9qYXZhLnNjbQorKysgYi9nbnUvcGFja2FnZXMvamF2YS5zY20KQEAgLTMz MDEsNiArMzMwMSwyNSBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtc3dpbmcKIFRoaXMg cGFja2FnZSBjb250YWlucyBhIHNldCBvZiBjbGFzc2VzIHRvIHVzZSBKYXZhRlggaW5zaWRlIFN3 aW5nCiBhcHBsaWNhdGlvbnMuIikpKQogCisoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtc3d0 CisgIChwYWNrYWdlIChpbmhlcml0IGphdmEtb3BlbmpmeC1idWlsZCkKKyAgICAobmFtZSAiamF2 YS1vcGVuamZ4LXN3dCIpCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6amFyLW5hbWUgImphdmEt b3BlbmpmeC1zd3QuamFyIgorICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9zd3Qvc3JjL21h aW4vamF2YSIKKyAgICAgICA7OyBubyB0ZXN0cyBhdmFpbGFibGUgaW4gc3JjCisgICAgICAgIzp0 ZXN0cz8gI2YpKQorICAgIChpbnB1dHMKKyAgICAgKGxpc3QgYW50bHIzCisgICAgICAgICAgIGph dmEtc3RyaW5ndGVtcGxhdGUpKQorICAgIChwcm9wYWdhdGVkLWlucHV0cworICAgICAobGlzdCBq YXZhLW9wZW5qZngtZ3JhcGhpY3MpKQorICAgIChkZXNjcmlwdGlvbiAiT3BlbkpGWCBpcyBhIGNs aWVudCBhcHBsaWNhdGlvbiBwbGF0Zm9ybSBmb3IgZGVza3RvcCwKK21vYmlsZSBhbmQgZW1iZWRk ZWQgc3lzdGVtcyBidWlsdCBvbiBKYXZhLiAgSXRzIGdvYWwgaXMgdG8gcHJvZHVjZSBhIG1vZGVy biwKK2VmZmljaWVudCwgYW5kIGZ1bGx5IGZlYXR1cmVkIHRvb2xraXQgZm9yIGRldmVsb3Bpbmcg cmljaCBjbGllbnQgYXBwbGljYXRpb25zLgorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGEgc2V0IG9m IGNsYXNzZXMgdGhhdCBwcm92aWRlcyBKYXZhRlggYW5kIFNXVAoraW50ZXJvcGVyYWJpbGl0eSIp KSkKKwogKGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LW1lZGlhCiAgIChwYWNrYWdlIChpbmhl cml0IGphdmEtb3BlbmpmeC1idWlsZCkKICAgICAobmFtZSAiamF2YS1vcGVuamZ4LW1lZGlhIikK LS0gCjIuMzQuMAoK --000000000000c93bef05e254ac0a Content-Type: application/octet-stream; name="0006-New-java-openjfx-web-package.patch" Content-Disposition: attachment; filename="0006-New-java-openjfx-web-package.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4uz6nsq0 RnJvbSBhOTE4ZmYyZGE2NDRiMzNkNTEyMjViNzQ0MmUyNzQ2ZjJiMWRhNGUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAyMjo1NTo0MyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjYgNi82XSBOZXcgamF2YS1vcGVuamZ4LXdlYiBwYWNrYWdlCgpJbnN0YWxscyBuYXRpdmUg bGlicyB0byBsaWIvb3BlbmpmeAotLS0KIGdudS9sb2NhbC5tayAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNyArCiBnbnUvcGFja2FnZXMvamF2YS5zY20gICAgICAgICAgICAg ICAgICAgICAgICAgfCAyNDIgKysrKysrKysrKysrKysrKystCiAuLi5wZW5qZngtYnVpbGQtd2Vi LUR1bXBSZW5kZXJUcmVlLWphdmEucGF0Y2ggfCAgMzAgKysrCiAuLi4tb3BlbmpmeC1idWlsZC13 ZWItT3B0aW9uc0phdmEuY21ha2UucGF0Y2ggfCAgMzIgKysrCiAuLi4vcGF0Y2hlcy9qYXZhLW9w ZW5qZngtYnVpbGQtd2ViLVdURi5wYXRjaCAgfCAgMzMgKysrCiAuLi4tYnVpbGQtd2ViLVdlYktp dENvbXBpbGVyRmxhZ3MuY21ha2UucGF0Y2ggfCAgMzYgKysrCiAuLi4vcGF0Y2hlcy9qYXZhLW9w ZW5qZngtYnVpbGQtd2ViLWljdS5wYXRjaCAgfCAgMzggKysrCiAuLi4vamF2YS1vcGVuamZ4LWJ1 aWxkLXdlYi1qcy10ZXN0LnBhdGNoICAgICAgfCAgMTggKysKIC4uLi9qYXZhLW9wZW5qZngtYnVp bGQtd2ViLXhsb2NhbGUuaC5wYXRjaCAgICB8ICA1MiArKysrCiA5IGZpbGVzIGNoYW5nZWQsIDQ4 NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3Bh Y2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1EdW1wUmVuZGVyVHJlZS1qYXZh LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVu amZ4LWJ1aWxkLXdlYi1PcHRpb25zSmF2YS5jbWFrZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV1RGLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxk LXdlYi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1pY3UucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQt d2ViLWpzLXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0Y2hl cy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLXhsb2NhbGUuaC5wYXRjaAoKZGlmZiAtLWdpdCBhL2du dS9sb2NhbC5tayBiL2dudS9sb2NhbC5tawppbmRleCBmZDNiOTkyZjMzLi4yOWMzZjc1MGFhIDEw MDY0NAotLS0gYS9nbnUvbG9jYWwubWsKKysrIGIvZ251L2xvY2FsLm1rCkBAIC0xMzIxLDYgKzEz MjEsMTMgQEAgZGlzdF9wYXRjaF9EQVRBID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVz L2phdmEtamVyb21xLWZpeC10ZXN0cy5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9q YXZhLW9wZW5qZngtYnVpbGQtamRrX3ZlcnNpb24ucGF0Y2ggICAgIFwKICAgJUQlL3BhY2thZ2Vz L3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXN3aW5nLUpGWFBhbmVsLUpESzgucGF0Y2ggICAg IFwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi14bG9jYWxl LmgucGF0Y2ggICBcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13 ZWItRHVtcFJlbmRlclRyZWUtamF2YS5wYXRjaAlcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2ph dmEtb3BlbmpmeC1idWlsZC13ZWItT3B0aW9uc0phdmEuY21ha2UucGF0Y2gJXAorICAlRCUvcGFj a2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLVdURi5wYXRjaAkJCVwKKyAgJUQl L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XZWJLaXRDb21waWxlckZs YWdzLmNtYWtlLnBhdGNoCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1 aWxkLXdlYi1pY3UucGF0Y2gJCQlcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3Blbmpm eC1idWlsZC13ZWItanMtdGVzdC5wYXRjaCAgICAgXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9q YXZhLXBvd2VybW9jay1maXgtamF2YS1maWxlcy5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0 Y2hlcy9qYXZhLXNpbXBsZS14bWwtZml4LXRlc3RzLnBhdGNoCQlcCiAgICVEJS9wYWNrYWdlcy9w YXRjaGVzL2phdmEtc3ZnLXNhbGFtYW5kZXItRml4LW5vbi1kZXQucGF0Y2gJXApkaWZmIC0tZ2l0 IGEvZ251L3BhY2thZ2VzL2phdmEuc2NtIGIvZ251L3BhY2thZ2VzL2phdmEuc2NtCmluZGV4IGE1 YzZjNjg3YjEuLmY3Y2E4OGY5OTAgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9qYXZhLnNjbQor KysgYi9nbnUvcGFja2FnZXMvamF2YS5zY20KQEAgLTYwLDExICs2MCwxMyBAQCAoZGVmaW5lLW1v ZHVsZSAoZ251IHBhY2thZ2VzIGphdmEpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNw aW8pCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGN1cHMpCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGNvbXByZXNzaW9uKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBj bWFrZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZWxmKQogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBmb250dXRpbHMpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdh d2spCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdjYykKICAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgZ2V0dGV4dCkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3BlcmYp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGdsKQogICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBnbGliKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnaG9zdHNjcmlwdCkg O2xjbXMKQEAgLTg4LDExICs5MCwxNCBAQCAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzIGph dmEpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHdnZXQpCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHBrZy1jb25maWcpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBl cmwpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbikKICAgIzp1c2UtbW9kdWxl IChnbnUgcGFja2FnZXMgcG9wdCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMga2VyYmVy b3MpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHJ1YnkpCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIHNlY3VyaXR5LXRva2VuKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyB4bWwpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhvcmcpCisgICM6dXNlLW1vZHVs ZSAoZ251IHBhY2thZ2VzIHNxbGl0ZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdGV4 aW5mbykKICAgIzp1c2UtbW9kdWxlICgoc3JmaSBzcmZpLTEpICM6c2VsZWN0IChmb2xkIGFsaXN0 LWRlbGV0ZSkpCiAgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTExKQpAQCAtMjUyMSwxMiArMjUy NiwyMSBAQCAoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtYnVpbGQKICAgICAgICAgICAgICAg ICAgIDs7IERlbGV0ZSBpbmNsdWRlZCBncmFkbGUgamFyCiAgICAgICAgICAgICAgICAgICAoZGVs ZXRlLWZpbGUtcmVjdXJzaXZlbHkgImdyYWRsZS93cmFwcGVyIikKICAgICAgICAgICAgICAgICAg IDs7IERlbGV0ZSB0aGlyZCBwYXJ0eSBzb3VyY2UgY29kZQorICAgICAgICAgICAgICAgICAgKGRl bGV0ZS1maWxlLXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNl L1RoaXJkUGFydHkiKQorICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1maWxlLXJlY3Vyc2l2ZWx5 ICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1BsYXRmb3JtSmF2YS5jbWFrZSIp CiAgICAgICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgIm1vZHVsZXMvZ3Jh cGhpY3Mvc3JjL21haW4vbmF0aXZlLWlpby9saWJqcGVnIikpKQogICAgICAgICAgICAgICAoc2hh MjU2CiAgICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAgIjB5ZzM4bXdwaXZz d2NjdjluOTZrMDZ4M2l2ODJpNHB4MWE5eGc5bDhkc3d6d21majI1OWYiKSkKICAgICAgICAgICAg ICAgKHBhdGNoZXMgKHNlYXJjaC1wYXRjaGVzICJqYXZhLW9wZW5qZngtYnVpbGQtamRrX3ZlcnNp b24ucGF0Y2giCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiamF2YS1v cGVuamZ4LWJ1aWxkLXN3aW5nLUpGWFBhbmVsLUpESzgucGF0Y2giKSkpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3BlbmpmeC1idWlsZC1zd2luZy1KRlhQ YW5lbC1KREs4LnBhdGNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImphdmEtb3BlbmpmeC1idWlsZC13ZWIteGxvY2FsZS5oLnBhdGNoIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3BlbmpmeC1idWlsZC13ZWItRHVtcFJlbmRl clRyZWUtamF2YS5wYXRjaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJqYXZhLW9wZW5qZngtYnVpbGQtd2ViLU9wdGlvbnNKYXZhLmNtYWtlLnBhdGNoIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEtb3BlbmpmeC1idWlsZC13ZWIt V1RGLnBhdGNoIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImphdmEt b3BlbmpmeC1idWlsZC13ZWItV2ViS2l0Q29tcGlsZXJGbGFncy5jbWFrZS5wYXRjaCIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqYXZhLW9wZW5qZngtYnVpbGQtd2Vi LWljdS5wYXRjaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqYXZh LW9wZW5qZngtYnVpbGQtd2ViLWpzLXRlc3QucGF0Y2giKSkpKQogICAgIChidWlsZC1zeXN0ZW0g YW50LWJ1aWxkLXN5c3RlbSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpqYXItbmFtZSAiamF2 YS1vcGVuamZ4LmphciIKQEAgLTM1ODksNiArMzYwMywyMzIgQEAgKGRlZmluZS1wdWJsaWMgamF2 YS1vcGVuamZ4LWNvbnRyb2xzCiBhcHBsaWNhdGlvbnMuICBUaGlzIHBhY2thZ2UgY29udGFpbnMg VUkgY29udHJvbCBjbGFzc2VzIGZvciB0aGUKIE9wZW5KRlggZGlzdHJpYnV0aW9uLiIpKSkKIAor KGRlZmluZS1wdWJsaWMgamF2YS1vcGVuamZ4LXdlYgorICAocGFja2FnZSAoaW5oZXJpdCBqYXZh LW9wZW5qZngtYnVpbGQpCisgICAgKG5hbWUgImphdmEtb3BlbmpmeC13ZWIiKQorICAgIChhcmd1 bWVudHMKKyAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZngtd2ViLmphciIKKyAgICAgICAj OnNvdXJjZS1kaXIgKHN0cmluZy1qb2luICcoIm1vZHVsZXMvd2ViL3NyYy9tYWluL2phdmEiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9u YXRpdmUvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvamF2YS9kb20zIikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICI7IikKKyAgICAgICAjOnRlc3QtZGlyICJtb2R1bGVzL3dlYi9z cmMvdGVzdCIKKyAgICAgICAjOnRlc3QtaW5jbHVkZSAobGlzdCAiKiovKlRlc3QuKiIpCisgICAg ICAgIzptb2R1bGVzICgoaWNlLTkgbWF0Y2gpCisgICAgICAgICAgICAgICAgICAoaWNlLTkgcmVn ZXgpCisgICAgICAgICAgICAgICAgICAoZ3VpeCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAg ICAgICAgICAgICAgICAgKGd1aXggYnVpbGQgdXRpbHMpKQorICAgICAgICM6cGhhc2VzCisgICAg ICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgKHJlcGxhY2UgJ2J1 aWxkCisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5 cykKKyAgICAgICAgICAgICA7OyBhZGQgbmF0aXZlIGxpYnMgcGF0aCB0byB0aGUgamF2YS5saWJy YXJ5LnBhdGggcHJvcGVydHkuIFVzZWQKKyAgICAgICAgICAgICA7OyBieSB0aGUgb3BlbmpmeCBO YXRpdmVMaWJMb2FkZXIgYXQgcnVudGltZSB0byBsb2NhdGUgaXRzCisgICAgICAgICAgICAgOzsg bGlicmFyaWVzLgorICAgICAgICAgICAgIChsZXQgKChsaWIgKHN0cmluZy1hcHBlbmQgKGFzc29j LXJlZiBvdXRwdXRzICJvdXQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIi9saWIvb3BlbmpmeCIpKSkKKyAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAibW9kdWxl cy93ZWIvc3JjL21haW4vamF2YS9jb20vc3VuL3dlYmtpdC9XZWJQYWdlLmphdmEiCisgICAgICAg ICAgICAgICAgICgoKHJlZ2V4cC1xdW90ZSAic3RhdGljIHsiKSBhbGwpCisgICAgICAgICAgICAg ICAgICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICAgIGFsbAorICAgICAgICAgICAg ICAgICAgICJcblN0cmluZyBqbHAgPSBcIiJsaWIiOlwiK1N5c3RlbS5nZXRQcm9wZXJ0eShcImph dmEubGlicmFyeS5wYXRoXCIpO1xuIgorICAgICAgICAgICAgICAgICAgICJTeXN0ZW0uc2V0UHJv cGVydHkoXCJqYXZhLmxpYnJhcnkucGF0aFwiLCBqbHApO1xuIikpKSkKKworICAgICAgICAgICAg IChpbnZva2UgImFudCIgImNvbXBpbGUiICItRGNsYXNzZXMuZGlyPW1vZHVsZXMvd2ViL2J1aWxk L2NsYXNzZXMvamF2YS9tYWluIikpKQorCisgICAgICAgICAoYWRkLWFmdGVyICdidWlsZCAnZ2Vu ZXJhdGUtaGVhZGVycworICAgICAgICAgICA7OyBYWDogV2UgcHJvdmlkZSBvbmx5IHNvZnR3YXJl IGJ1aWx0IGZyb20gc291cmNlLCBzbyBsZXQncyBidWlsZAorICAgICAgICAgICA7OyB3ZWJraXQg YXMgd2VsbC4gTGlzdCBvZiB3ZWJraXQgY2xhc3NlcyBjYW4gYmUgZm91bmQgaW4KKyAgICAgICAg ICAgOzsgYnVpbGQuZ3JhZGxlOjI1MTYuIFdlIG5lZWQgdG8gZ2VuZXJhdGUgaGVhZGVycyBmb3Ig dGhlIHVwY29taW5nCisgICAgICAgICAgIDs7IGNvbXBpbGF0aW9uIHN0ZXAgZmlyc3QgYW5kIHB1 dCB0aGVtIGluIGdlbmVyYXRlZC1zcmMvaGVhZGVycworICAgICAgICAgICA7OyBsb2NhdGlvbi4K KyAgICAgICAgICAgKGxhbWJkYSogKCM6a2V5IGlucHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisg ICAgICAgICAgICAgKGxldCogKChjbGFzc2VzICJtb2R1bGVzL3dlYi9idWlsZC9jbGFzc2VzL2ph dmEvbWFpbiIpCisgICAgICAgICAgICAgICAgICAgICh3ZWItZ2VuZXJhdGVkLWhlYWRlcnMgIm1v ZHVsZXMvd2ViL2J1aWxkL2dlbmVyYXRlZC1zcmMvaGVhZGVycyIpCisgICAgICAgICAgICAgICAg ICAgICh3ZWItZ2VuZXJhdGVkLWNsYXNzZXMgJygiY29tLnN1bi53ZWJraXQuQ29udGV4dE1lbnUi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53 ZWJraXQuQ29udGV4dE1lbnVJdGVtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LkN1cnNvck1hbmFnZXIiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuUGFnZUNhY2hl IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4u d2Via2l0LlBvcHVwTWVudSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJjb20uc3VuLndlYmtpdC5TaGFyZWRCdWZmZXIiCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuV2ViUGFnZSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5M b2FkTGlzdGVuZXJDbGllbnQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiY29tLnN1bi53ZWJraXQuZXZlbnQuV0NGb2N1c0V2ZW50IgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmV2ZW50LldD S2V5RXZlbnQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi Y29tLnN1bi53ZWJraXQuZXZlbnQuV0NNb3VzZUV2ZW50IgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmV2ZW50LldDTW91c2VXaGVl bEV2ZW50IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNv bS5zdW4ud2Via2l0LmdyYXBoaWNzLkdyYXBoaWNzRGVjb2RlciIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5ncmFwaGljcy5SZW5k ZXJNZWRpYUNvbnRyb2xzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBoaWNzLlJlbmRlclRoZW1lIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBoaWNz LlNjcm9sbEJhclRoZW1lIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImNvbS5zdW4ud2Via2l0LmdyYXBoaWNzLldDTWVkaWFQbGF5ZXIiCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuZ3JhcGhp Y3MuV0NHcmFwaGljc01hbmFnZXIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuZ3JhcGhpY3MuV0NSZW5kZXJRdWV1ZSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5n cmFwaGljcy5XQ1BhdGgiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiY29tLnN1bi53ZWJraXQuZ3JhcGhpY3MuV0NQYXRoSXRlcmF0b3IiCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQuVGltZXIi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53 ZWJraXQuV0NGcmFtZVZpZXciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiY29tLnN1bi53ZWJraXQuV0NQYXN0ZWJvYXJkIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4ud2Via2l0LldDUGx1Z2luV2lkZ2V0 IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbS5zdW4u d2Via2l0LmRvbS5DaGFyYWN0ZXJEYXRhSW1wbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJjb20uc3VuLndlYmtpdC5kb20uSlNPYmplY3QiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQubmV0 d29yay5Tb2NrZXRTdHJlYW1IYW5kbGUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQubmV0d29yay5VUkxMb2FkZXIiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tLnN1bi53ZWJraXQudGV4 dC5UZXh0QnJlYWtJdGVyYXRvciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJjb20uc3VuLndlYmtpdC50ZXh0LlRleHROb3JtYWxpemVyIikpCisgICAgICAg ICAgICAgICAgICAgIChncmFwaGljcyAoYXNzb2MtcmVmIGlucHV0cyAiamF2YS1vcGVuamZ4LWdy YXBoaWNzIikpKQorICAgICAgICAgICAgICAgKG1rZGlyLXAgd2ViLWdlbmVyYXRlZC1oZWFkZXJz KQorICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZQorICAgICAgICAgICAgICAgICAgICAgICJq YXZhaCIKKyAgICAgICAgICAgICAgICAgICAgICAiLURqYXZhLmV4dC5kaXJzPSIKKyAgICAgICAg ICAgICAgICAgICAgICAiLVhEaWdub3JlLnN5bWJvbC5maWxlIgorICAgICAgICAgICAgICAgICAg ICAgICItWER1c2VVbnNoYXJlZFRhYmxlPXRydWUiCisgICAgICAgICAgICAgICAgICAgICAgIi1k IiB3ZWItZ2VuZXJhdGVkLWhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAiLWNwIiAoc3Ry aW5nLWpvaW4gKGNvbnMqIGNsYXNzZXMgKGZpbmQtZmlsZXMgZ3JhcGhpY3MgIlxcLmphciQiKSkg IjoiKQorICAgICAgICAgICAgICAgICAgICAgIHdlYi1nZW5lcmF0ZWQtY2xhc3NlcykpKSkKKwor ICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdjb3B5LXJlc291cmNlcworICAgICAgICAgICAo bGFtYmRhIF8KKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseSAibW9kdWxlcy93ZWIvc3Jj L3Rlc3QvcmVzb3VyY2VzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJidWlsZC90 ZXN0LWNsYXNzZXMiKQorICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL3dl Yi9zcmMvbWFpbi9yZXNvdXJjZXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJ1 aWxkL2NsYXNzZXMiKSkpCisgICAgICAgICAoYWRkLWFmdGVyICdnZW5lcmF0ZS1oZWFkZXJzICdj b21waWxlLW5hdGl2ZS1saW51eAorICAgICAgICAgICAobGFtYmRhKiAoIzprZXkgaW5wdXRzIHN5 c3RlbSBvdXRwdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAobGV0KiAgKCht b2R1bGUgKHN0cmluZy1hcHBlbmQgKGdldGN3ZCkgIi9tb2R1bGVzL3dlYiIpKQorICAgICAgICAg ICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAgICAgICh3ZWJraXQtbmF0aXZlLWRlc3Qg KHN0cmluZy1hcHBlbmQgbW9kdWxlICIvYnVpbGQvbGludXgiKSkKKyAgICAgICAgICAgICAgICAg ICAgICh3ZWJraXQtbmF0aXZlLXNyYyAoc3RyaW5nLWFwcGVuZCBtb2R1bGUgIi9zcmMvbWFpbi9u YXRpdmUiKSkKKyAgICAgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgICAgICAo bGliIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikgIi9saWIvb3Blbmpm eCIpKQorICAgICAgICAgICAgICAgICAgICAgOzsgdW5hbWUgLW0KKyAgICAgICAgICAgICAgICAg ICAgIChtYWNoaW5lIChtYXRjaCBzeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKCJ4ODZfNjQtbGludXgiICAgIng4Nl82NCIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgiaTY4Ni1saW51eCIgICAgICJpNjg2IikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgUHJldmVudCBlcnJvcnMgd2hlbiBxdWVyeWluZyB0aGlzCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDs7IHBhY2thZ2Ugb24gdW5zdXBwb3J0ZWQgcGxhdGZvcm1z LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBlLmcuIHdoZW4gcnVubmluZyAi Z3VpeCBwYWNrYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IC0tc2VhcmNo PSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF8gICAgICAgICAgICAgICAgIlVO U1VQUE9SVEVEIikpKSkKKworICAgICAgICAgICAgICAgKHNldGVudiAiUFlUSE9ORE9OVFdSSVRF QllURUNPREUiICIxIikKKyAgICAgICAgICAgICAgIChzZXRlbnYgIldFQktJVF9PVVRQVVRESVIi IHdlYmtpdC1uYXRpdmUtZGVzdCkKKyAgICAgICAgICAgICAgIChhcHBseSBpbnZva2UgYCgicGVy bCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsKHN0cmluZy1hcHBlbmQgd2Via2l0 LW5hdGl2ZS1zcmMgIi9Ub29scy9TY3JpcHRzL3NldC13ZWJraXQtY29uZmlndXJhdGlvbiIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChpZiAsKHRhcmdldC02NGJpdD8pICItLTY0 LWJpdCIgIi0tMzItYml0IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1yZWxl YXNlIikpCisKKyAgICAgICAgICAgICAgIChpbnZva2UgInBlcmwiCisgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctYXBwZW5kIHdlYmtpdC1uYXRpdmUtc3JjICIvVG9vbHMvU2NyaXB0cy9i dWlsZC13ZWJraXQiKQorICAgICAgICAgICAgICAgICAgICAgICAiLS1qYXZhIiA7IHdlYmtpdCBw b3J0CisgICAgICAgICAgICAgICAgICAgICAgICItLXNraXAtbGlicmFyeS11cGRhdGUiCisgICAg ICAgICAgICAgICAgICAgICAgICItLWljdS11bmljb2RlIgorICAgICAgICAgICAgICAgICAgICAg ICAiLS12ZXJib3NlIgorICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZAorICAg ICAgICAgICAgICAgICAgICAgICAgIi0tY21ha2VhcmdzPSIKKyAgICAgICAgICAgICAgICAgICAg ICAgIChzdHJpbmctam9pbgorICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0ICItREVOQUJM RV9UT09MUz0xIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItRENNQUtFX1NZU1RF TV9OQU1FPUxpbnV4IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEVuc3VyZSB0 aGF0IHRoZSBsaWJyYXJpZXMgYXJlIGluc3RhbGxlZCBpbnRvIC9saWIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURDTUFLRV9JTlNUQUxMX0xJQkRJUj0i IGxpYikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBBZGQgaW5wdXQgbGlicmFy aWVzIHRvIHJwYXRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1EQ01BS0VfSU5T VEFMTF9SUEFUSF9VU0VfTElOS19QQVRIPVRSVUUiCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgRW5hYmxlIHZlcmJvc2Ugb3V0cHV0IGZyb20gYnVpbGRzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRT1PTiIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAiLURDTUFLRV9TSEFSRURfTElO S0VSX0ZMQUdTPSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiXCItV2wsLXJwYXRoPSIgbGliICJcIiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgIi1EQ01BS0VfU1lTVEVNX1BST0NFU1NPUj0iIG1hY2hpbmUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1ESkFWQUZYX1JFTEVBU0VfVkVSU0lPTj04 LjAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgIi1EQ01B S0VfQ1hYX0ZMQUdTPVwiIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctam9pbiAobGlzdCAiLVciCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItRFVfREVGSU5FX0ZBTFNF X0FORF9UUlVFPTEiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItV2FsbCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1XbCwtLWdjLXNlY3Rpb25z IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLVduby1wYXJlbnRoZXNlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1Xbm8tdW51c2VkIgorCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IHNpbGVuY2UgZXhjZXNzaXZlIHdhcm5pbmdzCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItV25vLWV4cGFu c2lvbi10by1kZWZpbmVkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1kZXByZWNhdGVkLWNvcHkiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItV25vLXJlZHVuZGFudC1tb3ZlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLVduby1jbGFzcy1tZW1hY2Nlc3MiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICItV25vLXVuZGVmIgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItZlBJQyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1mbm8tb21p dC1mcmFtZS1wb2ludGVyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiLWZuby1zdHJpY3QtYWxpYXNpbmciCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICItZnN0YWNrLXByb3RlY3RvciIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIgIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiXCIiKSkpKSkpKSkKKworCisgICAgICAgICAoYWRkLWJlZm9y ZSAnY2hlY2sgJ3gtdGVzdC1zZXR1cAorICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAgICAg ICAoc3lzdGVtICJYdmZiIDozMyAmIikKKyAgICAgICAgICAgICAoc2V0ZW52ICJESVNQTEFZIiAi OjMzIikpKQorCisgICAgICAgICAoYWRkLWJlZm9yZSAneC10ZXN0LXNldHVwICdjb3B5LWNsYXNz ZXMKKyAgICAgICAgICAgKGxhbWJkYSBfCisKKyAgICAgICAgICAgICAobWtkaXItcCAic3JjL3Rl c3QvcmVzb3VyY2VzIikKKyAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseQorICAgICAgICAg ICAgICAibW9kdWxlcy93ZWIvc3JjL3Rlc3QvcmVzb3VyY2VzIgorICAgICAgICAgICAgICAic3Jj L3Rlc3QvcmVzb3VyY2VzIikKKworICAgICAgICAgICAgIChta2Rpci1wICJzcmMvbWFpbi9uYXRp dmUvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvIikKKyAgICAgICAgICAgICAoY29weS1m aWxlICJtb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0 cy9tYWMvQWhlbS50dGYiCisgICAgICAgICAgICAgICAgICAgICAgICAic3JjL21haW4vbmF0aXZl L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0FoZW0udHRmIikKKworICAgICAgICAgICAg ICh3aXRoLWRpcmVjdG9yeS1leGN1cnNpb24gIm1vZHVsZXMvd2ViL3NyYy90ZXN0L3Jlc291cmNl cy90ZXN0L2h0bWwvIgorICAgICAgICAgICAgICAgKGFwcGx5IGludm9rZSAiamFyIiAiY2YiICJ3 ZWJBcmNoaXZlSmFyLmphciIgKGZpbmQtZmlsZXMgIi4iKSkpCisKKyAgICAgICAgICAgICAoY29w eS1yZWN1cnNpdmVseSAibW9kdWxlcy93ZWIvYnVpbGQvY2xhc3Nlcy9qYXZhL21haW4iICJidWls ZC9jbGFzc2VzIikKKyAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImJ1aWxkLnhtbCIKKyAgICAg ICAgICAgICAgICgoIjxqdW5pdC4qaGFsdG9uZmFpbHVyZT1cInllc1wiPiIgYWxsKQorICAgICAg ICAgICAgICAgIChzdHJpbmctYXBwZW5kICI8bWtkaXIgZGlyPVwiJHt0ZXN0LmhvbWV9L2hvbWVc IiAvPiIgOzsgaG9tZSBkaXIgcmVxdWlyZWQgZm9yIHNvbWUgdGVzdHMuCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxz eXNwcm9wZXJ0eSBrZXk9XCJ1c2VyLmhvbWVcIiB2YWx1ZT1cIiR7dGVzdC5ob21lfS9ob21lXCIv PiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPHN5c3Byb3BlcnR5IGtleT1cImph dmEubGlicmFyeS5wYXRoXCIgdmFsdWU9XCJtb2R1bGVzL3dlYi9idWlsZC9saW51eC9SZWxlYXNl L2xpYi9cIi8+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8anZtYXJnIHZhbHVl PVwiLURXRUJfQVJDSElWRV9KQVJfVEVTVF9ESVI9bW9kdWxlcy93ZWIvc3JjL3Rlc3QvcmVzb3Vy Y2VzL3Rlc3QvaHRtbC9cIi8+IikpKSkpCisKKyAgICAgICAgIChhZGQtYmVmb3JlICdpbnN0YWxs ICdidWlsZC1qYXIKKyAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgKGxldCogKChy ZXNvdXJjZXMgIm1vZHVsZXMvd2ViL3NyYy9tYWluL3Jlc291cmNlcyIpCisgICAgICAgICAgICAg ICAgICAgIChjbGFzc2VzICJtb2R1bGVzL3dlYi9idWlsZC9jbGFzc2VzL2phdmEvbWFpbiIpKQor ICAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgcmVzb3VyY2VzIGNsYXNzZXMpCisgICAg ICAgICAgICAgICAoaW52b2tlICJhbnQiICJqYXIiIChzdHJpbmctYXBwZW5kICItRGNsYXNzZXMu ZGlyPSIgY2xhc3NlcykpKSkpCisKKyAgICAgICAgIChhZGQtYWZ0ZXIgJ2luc3RhbGwgJ2luc3Rh bGwtbmF0aXZlCisgICAgICAgICAgIChsYW1iZGEqICgjOmtleSBvdXRwdXRzICM6YWxsb3ctb3Ro ZXIta2V5cykKKyAgICAgICAgICAgICAobGV0ICgobGliIChzdHJpbmctYXBwZW5kIChhc3NvYy1y ZWYgb3V0cHV0cyAib3V0IikgIi9saWIvb3BlbmpmeCIpKSkKKyAgICAgICAgICAgICAgIChmb3It ZWFjaCAobGFtYmRhIChmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGluc3RhbGwt ZmlsZSBmaWxlIGxpYikpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbmQtZmlsZXMgIi4i ICJcXC5zbyQiKSkpKSkpKSkKKworICAgIChuYXRpdmUtaW5wdXRzCisgICAgIChsaXN0IGphdmEt anVuaXQKKyAgICAgICAgICAgY21ha2UKKyAgICAgICAgICAgcnVieQorICAgICAgICAgICBwZXJs CisgICAgICAgICAgIGdwZXJmCisgICAgICAgICAgIHB5dGhvbi0yCisgICAgICAgICAgIHBrZy1j b25maWcKKyAgICAgICAgICAgeG9yZy1zZXJ2ZXItZm9yLXRlc3RzKSkKKyAgICAoaW5wdXRzCisg ICAgIChsaXN0CisgICAgICA7OyBXZWJraXQgSmF2YSBwb3J0IGRlcGVuZGVuY2llcworICAgICAg aWN1NGMKKyAgICAgIGxpYnhtbDIKKyAgICAgIGxpYnhzbHQKKyAgICAgIHNxbGl0ZSkpCisgICAg KHByb3BhZ2F0ZWQtaW5wdXRzCisgICAgIChsaXN0IGphdmEtb3BlbmpmeC1jb250cm9scworICAg ICAgICAgICBqYXZhLW9wZW5qZngtbWVkaWEKKyAgICAgICAgICAgamF2YS1vcGVuamZ4LWdyYXBo aWNzKSkKKyAgICAoZGVzY3JpcHRpb24gIk9wZW5KRlggaXMgYSBjbGllbnQgYXBwbGljYXRpb24g cGxhdGZvcm0gZm9yIGRlc2t0b3AsCittb2JpbGUgYW5kIGVtYmVkZGVkIHN5c3RlbXMgYnVpbHQg b24gSmF2YS4gIEl0cyBnb2FsIGlzIHRvIHByb2R1Y2UgYSBtb2Rlcm4sCitlZmZpY2llbnQsIGFu ZCBmdWxseSBmZWF0dXJlZCB0b29sa2l0IGZvciBkZXZlbG9waW5nIHJpY2ggY2xpZW50IGFwcGxp Y2F0aW9ucy4KK1RoaXMgcGFja2FnZSBwcm92aWRlcyBtZWFucyBmb3IgbG9hZGluZyBhbmQgZGlz cGxheWluZyBXZWIgY29udGVudC4iKSkpCisKIChkZWZpbmUtcHVibGljIGphdmFjYy00CiAgIChw YWNrYWdlCiAgICAgKG5hbWUgImphdmFjYyIpCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0 Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLUR1bXBSZW5kZXJUcmVlLWphdmEucGF0Y2ggYi9n bnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLUR1bXBSZW5kZXJUcmVl LWphdmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMDIwMGU5 MmMwNQotLS0gL2Rldi9udWxsCisrKyBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3Blbmpm eC1idWlsZC13ZWItRHVtcFJlbmRlclRyZWUtamF2YS5wYXRjaApAQCAtMCwwICsxLDMwIEBACitT dWJqZWN0OiBbUEFUQ0hdIEZpeCBEdW1wUmVuZGVyVHJlZSBsaW5raW5nLgorCitEdW1wUmVuZGVy VHJlZSBjb21waWxlcyBPSywgYnV0IGZhaWxzIG9uIGEgbGlua2luZyBzdGFnZSB3aXRoIHRoZSBi ZWxsb3cKK2Vycm9yLiBJIGZvdW5kIHRoZSB2ZXJ5IHNhbWUgZml4IGZvciBvcGVuamZ4LTggRnJl ZUJTRCBwb3J0cyBhcyB3ZWxsLiBMZXQncworaWdub3JlIHVuZGVmaW5lZCByZWZlcmVuY2VzIGZv ciBub3cuCisKK0NNYWtlRmlsZXMvRHVtcFJlbmRlclRyZWVKYXZhLmRpci9fXy9UZXN0UnVubmVy LmNwcC5vOlRlc3RSdW5uZXIuY3BwOmZ1bmN0aW9uIFRlc3RSdW5uZXI6OnJ1blVJU2NyaXB0KE9w YXF1ZUpTQ29udGV4dCBjb25zdCosIE9wYXF1ZUpTU3RyaW5nKiwgT3BhcXVlSlNWYWx1ZSBjb25z dCopOiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnV1RGOjpTdHJpbmc6OlN0cmluZyh1 bnNpZ25lZCBzaG9ydCBjb25zdCosIHVuc2lnbmVkIGludCknCitDTWFrZUZpbGVzL0R1bXBSZW5k ZXJUcmVlSmF2YS5kaXIvX18vX18vVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlT Y3JpcHRDb250ZXh0LmNwcC5vOlVJU2NyaXB0Q29udGV4dC5jcHA6ZnVuY3Rpb24gV1RSOjpVSVNj cmlwdENvbnRleHQ6OnRyeVRvQ29tcGxldGVVSVNjcmlwdEZvckN1cnJlbnRQYXJlbnRDYWxsYmFj aygpOiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnV1RGOjpTdHJpbmc6OlN0cmluZyh1 bnNpZ25lZCBzaG9ydCBjb25zdCosIHVuc2lnbmVkIGludCknCitjb2xsZWN0MjogZXJyb3I6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKKworLS0tCisgLi4uL3NyYy9tYWluL25hdGl2ZS9Ub29s cy9EdW1wUmVuZGVyVHJlZS9qYXZhL0NNYWtlTGlzdHMudHh0ICB8IDQgLS0tLQorIDEgZmlsZSBj aGFuZ2VkLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWIvc3JjL21h aW4vbmF0aXZlL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2phdmEvQ01ha2VMaXN0cy50eHQgYi9tb2R1 bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvVG9vbHMvRHVtcFJlbmRlclRyZWUvamF2YS9DTWFrZUxp c3RzLnR4dAoraW5kZXggZTJjZTVlZi4uMmFkM2RiNyAxMDA2NDQKKy0tLSBhL21vZHVsZXMvd2Vi L3NyYy9tYWluL25hdGl2ZS9Ub29scy9EdW1wUmVuZGVyVHJlZS9qYXZhL0NNYWtlTGlzdHMudHh0 CisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvVG9vbHMvRHVtcFJlbmRlclRyZWUv amF2YS9DTWFrZUxpc3RzLnR4dAorQEAgLTcyLDkgKzcyLDUgQEAgYWRkX2xpYnJhcnkoRHVtcFJl bmRlclRyZWVKYXZhIFNIQVJFRCAke0R1bXBSZW5kZXJUcmVlX1NPVVJDRVN9KQorIGFkZF9kZWZp bml0aW9ucygtRFdFQkNPUkVfRVhQT1JUPVdURl9JTVBPUlQgLURXRUJDT1JFX1RFU1RTVVBQT1JU X0VYUE9SVD1XVEZfSU1QT1JUKQorIGFkZF9kZXBlbmRlbmNpZXMoRHVtcFJlbmRlclRyZWVKYXZh IER1bXBSZW5kZXJUcmVlQmluZGluZ3MpCisKKy1pZiAoVU5JWCBBTkQgTk9UIEFQUExFKQorLSAg c2V0X3RhcmdldF9wcm9wZXJ0aWVzKER1bXBSZW5kZXJUcmVlSmF2YSBQUk9QRVJUSUVTIExJTktf RkxBR1MgIi1XbCwtLW5vLXVuZGVmaW5lZCIpCistZW5kaWYgKCkKKy0KKyBzZXRfdGFyZ2V0X3By b3BlcnRpZXMoRHVtcFJlbmRlclRyZWVKYXZhIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgIkR1bXBS ZW5kZXJUcmVlSmF2YSIpCisgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKER1bXBSZW5kZXJUcmVlSmF2 YSAke0R1bXBSZW5kZXJUcmVlX0xJQlJBUklFU30pCistLQorMi4yNi4yCmRpZmYgLS1naXQgYS9n bnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLU9wdGlvbnNKYXZhLmNt YWtlLnBhdGNoIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1P cHRpb25zSmF2YS5jbWFrZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi4xZjEzMzU3MWNiCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMv amF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1PcHRpb25zSmF2YS5jbWFrZS5wYXRjaApAQCAtMCwwICsx LDMyIEBACitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBmaW5kX3BhY2thZ2UuCisKK1dlIHJlbW92ZSBh bGwgZW1iZWRkZWQgM3JkLXBhcnR5IGxpYnMgbGlrZSBpY3UsIGxpYnhtbCwgbGlieHNsdCBhbmQg c3FsaXRlLAorYW5kIHVzZSBsaWJyYXJpZXMgcHJvdmlkZWQgdmlhIGd1aXggaW5wdXRzLgorLS0t CisgLi4uL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL09wdGlvbnNKYXZhLmNtYWtl IHwgMTAgKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDYgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291 cmNlL2NtYWtlL09wdGlvbnNKYXZhLmNtYWtlIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZl L1NvdXJjZS9jbWFrZS9PcHRpb25zSmF2YS5jbWFrZQoraW5kZXggNzZhNjY5NS4uNzNjNTI1YiAx MDA2NDQKKy0tLSBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvY21ha2UvT3B0 aW9uc0phdmEuY21ha2UKKysrKyBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2Uv Y21ha2UvT3B0aW9uc0phdmEuY21ha2UKK0BAIC0yNiwxMyArMjYsMTEgQEAgZW5kaWYgKCkKKyBz ZXQoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJ9IiBDQUNIRSBQ QVRIICJBYnNvbHV0ZSBwYXRoIHRvIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSIpCisg c2V0KEVYRUNfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9GVUxMX0JJTkRJUn0iIENBQ0hF IFBBVEggIkFic29sdXRlIHBhdGggdG8gZXhlY3V0YWJsZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5 IikKKworLXNldChTUUxJVEVfTElCUkFSSUVTIFNxbGl0ZUphdmEpCistc2V0KExJQlhNTDJfTElC UkFSSUVTIFhNTEphdmEpCistc2V0KExJQlhTTFRfTElCUkFSSUVTIFhTTFRKYXZhKQorCistc2V0 KElDVV9MSUJSQVJJRVMgaWN1dWMgaWN1ZGF0YSkKKy1zZXQoSUNVX0kxOE5fTElCUkFSSUVTIGlj dWkxOG4gaWN1dWMgaWN1ZGF0YSkKKy1zZXQoSUNVX0RBVEFfTElCUkFSSUVTIGljdWRhdGEpCisr ZmluZF9wYWNrYWdlKFNxbGl0ZSBSRVFVSVJFRCkKKytmaW5kX3BhY2thZ2UoTGliWG1sMiBSRVFV SVJFRCkKKytmaW5kX3BhY2thZ2UoTGliWHNsdCBSRVFVSVJFRCkKKytmaW5kX3BhY2thZ2UoSUNV IFJFUVVJUkVEKQorCisgZmluZF9wYWNrYWdlKEpOSSBSRVFVSVJFRCkKKyBmaW5kX3BhY2thZ2Uo VGhyZWFkcyBSRVFVSVJFRCkKKy0tCisyLjI2LjIKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9w YXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV1RGLnBhdGNoIGIvZ251L3BhY2thZ2VzL3Bh dGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XVEYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMC4uNWZhNzY0NDlkZgotLS0gL2Rldi9udWxsCisrKyBiL2dudS9w YWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV1RGLnBhdGNoCkBAIC0wLDAg KzEsMzMgQEAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGNvbXBpbGF0aW9uIGFnYWluc3QgSUNVIDU5 Ky4KKworSUNVNEMgaGFzIG1vdmVkIHRvIGNoYXIxNl90IGFzIHRoZSB0eXBlIGZvciBVVEYtMTYK K2h0dHA6Ly9zaXRlLmljdS1wcm9qZWN0Lm9yZy9kb3dubG9hZC81OQorCitkaWZmIC0tZ2l0IGEv bW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvamF2YS9V bmljb2RlSmF2YS5oIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XVEYvd3Rm L3VuaWNvZGUvamF2YS9Vbmljb2RlSmF2YS5oCitpbmRleCAwOTkzYWE2Li5lNmVhMTMxIDEwMDY0 NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XVEYvd3RmL3VuaWNv ZGUvamF2YS9Vbmljb2RlSmF2YS5oCisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUv U291cmNlL1dURi93dGYvdW5pY29kZS9qYXZhL1VuaWNvZGVKYXZhLmgKK0BAIC0xNSwyMSArMTUs NiBAQAorCisgI2RlZmluZSBDaGFyUHJvcChwKSBjb21fc3VuX3dlYmtpdF9kb21fQ2hhcmFjdGVy RGF0YUltcGxfIyNwCisKKy0jaWYgUExBVEZPUk0oSkFWQSkgJiYgT1MoV0lORE9XUykKKy10eXBl ZGVmIHdjaGFyX3QgVUNoYXI7CistI2Vsc2UKKy10eXBlZGVmIHVpbnQxNl90IFVDaGFyOworLSNl bmRpZgorLQorLS8vICNpZmRlZiBVQ2hhcjMyCistLy8gI3VuZGVmIFVDaGFyMzIKKy0vLyAjZW5k aWYKKy0KKy0jaWZuZGVmIF9fVU1BQ0hJTkVfSF9fIC8vWFhYOiByZWNoZWNrCistdHlwZWRlZiB1 aW50MzJfdCBVQ2hhcjMyOworLSNlbmRpZgorLQorLSNkZWZpbmUgVV9NQVNLKHgpICgodWludDMy X3QpMTw8KHgpKQorICNkZWZpbmUgVVNFX0ZBU1RfUEFUSChjLCBmYXN0LCBzbG93KSAoKGMpIDw9 IDB4N0YgPyBmYXN0KChjaGFyKWMpIDogc2xvdyhjKSkKKworICNkZWZpbmUgQ0hFQ0tfUFJPUEVS VFkoYywgbWFzaywgaXNTZXQpIFwKKy0tCisyLjI2LjIKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdl cy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV2ViS2l0Q29tcGlsZXJGbGFncy5jbWFr ZS5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItV2Vi S2l0Q29tcGlsZXJGbGFncy5jbWFrZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi5kMGJiYjdlM2IyCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3Bh dGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxkLXdlYi1XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlLnBh dGNoCkBAIC0wLDAgKzEsMzYgQEAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IFdlYktpdCBsaW5rYWdl LgorCitTb21laG93IHRoZSB3aG9sZSBsaW5rYWdlIGZhaWxzIGJlY2F1c2Ugb2YgdGhlIFRlc3RS dW5uZXIncyB1bmRlZmluZWQKK3JlZmVyZW5jZXMuIEhvd2V2ZXIsIEkgc2VlIHRoZSB2ZXJ5IHNh bWUgZml4ZXMgaW4gb3BlbmpmeDgtZGV2ZWwgRnJlZUJTRCBwb3J0LAorZXZlbiB0aG91Z2ggdGhl eSB1c2UgZ3JhZGxlIHRvIGJ1aWxkIGl0LgorCitDTWFrZUZpbGVzL0R1bXBSZW5kZXJUcmVlSmF2 YS5kaXIvX18vVGVzdFJ1bm5lci5jcHAubzpUZXN0UnVubmVyLmNwcDpmdW5jdGlvbiBUZXN0UnVu bmVyOjpydW5VSVNjcmlwdChPcGFxdWVKU0NvbnRleHQgY29uc3QqLCBPcGFxdWVKU1N0cmluZyos IE9wYXF1ZUpTVmFsdWUgY29uc3QqKTogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ1dU Rjo6U3RyaW5nOjpTdHJpbmcodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25lZCBpbnQpJwor Q01ha2VGaWxlcy9EdW1wUmVuZGVyVHJlZUphdmEuZGlyL19fL19fL1Rlc3RSdW5uZXJTaGFyZWQv VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udGV4dC5jcHAubzpVSVNjcmlwdENvbnRleHQuY3Bw OmZ1bmN0aW9uIFdUUjo6VUlTY3JpcHRDb250ZXh0Ojp0cnlUb0NvbXBsZXRlVUlTY3JpcHRGb3JD dXJyZW50UGFyZW50Q2FsbGJhY2soKTogZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ1dU Rjo6U3RyaW5nOjpTdHJpbmcodW5zaWduZWQgc2hvcnQgY29uc3QqLCB1bnNpZ25lZCBpbnQpJwor CitTb21lIHJlbGF0ZWQgYnVncy9jb21taXRzIGFyZToKK2h0dHBzOi8vZ2l0aHViLmNvbS9XZWJL aXQvd2Via2l0L2NvbW1pdC8xZTQ2Mzc3ZTQ3Njc0MzYzMTMxMjk5ZDU0Yzg1NTc3MzRhOTlmYjVm CitodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NjI1I2MyNAoraHR0 cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDA3NAorCistLS0KKyAuLi4v c3JjL21haW4vbmF0aXZlL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlICAg fCA1IC0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVy RmxhZ3MuY21ha2UgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL1dl YktpdENvbXBpbGVyRmxhZ3MuY21ha2UKK2luZGV4IDViY2YwNDcuLjQ1MjZlZTYgMTAwNjQ0Cist LS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL2NtYWtlL1dlYktpdENvbXBp bGVyRmxhZ3MuY21ha2UKKysrKyBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2Uv Y21ha2UvV2ViS2l0Q29tcGlsZXJGbGFncy5jbWFrZQorQEAgLTE3NiwxMSArMTc2LDYgQEAgaWYg KE5PVCBNU1ZDKQorICAgICBzdHJpbmcoUkVHRVggTUFUQ0hBTEwgIi1mc2FuaXRpemU9W14gXSoi IEVOQUJMRURfQ09NUElMRVJfU0FOSVRJWkVSUyAke0NNQUtFX0NYWF9GTEFHU30pCisgZW5kaWYg KCkKKworLWlmIChVTklYIEFORCBOT1QgQVBQTEUgQU5EIE5PVCBFTkFCTEVEX0NPTVBJTEVSX1NB TklUSVpFUlMpCistICAgIHNldChDTUFLRV9TSEFSRURfTElOS0VSX0ZMQUdTICItV2wsLS1uby11 bmRlZmluZWQgJHtDTUFLRV9TSEFSRURfTElOS0VSX0ZMQUdTfSIpCistZW5kaWYgKCkKKy0KKy0K KyAjIENPREVfR0VORVJBVE9SX1BSRVBST0NFU1NPUl9XSVRIX0xJTkVNQVJLRVJTIG9ubHkgbWF0 dGVycyB3aXRoIEdDQyA+PSA0LjcuMC4gIFNpbmNlIHRoaXMKKyAjIHZlcnNpb24sIC1QIGRvZXMg bm90IG91dHB1dCBlbXB0eSBsaW5lcywgd2hpY2ggY3VycmVudGx5IGJyZWFrcyBtYWtlX25hbWVz LnBsIGluCisgIyBXZWJDb3JlLiBJbnZlc3RpZ2F0aW5nIHdoZXRoZXIgbWFrZV9uYW1lcy5wbCBz aG91bGQgYmUgY2hhbmdlZCBpbnN0ZWFkIGlzIGxlZnQgYXMgYW4gZXhlcmNpc2UgdG8KKy0tCisy LjI2LjIKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWls ZC13ZWItaWN1LnBhdGNoIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1aWxk LXdlYi1pY3UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uM2U1 YzRhNzcwYwotLS0gL2Rldi9udWxsCisrKyBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3Bl bmpmeC1idWlsZC13ZWItaWN1LnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK1N1YmplY3Q6IFtQQVRD SF0gRml4IGNvbXBpbGF0ZWlvbiB3aXRoIElDVS4KKworUmVncmVzc2VkIGJ5IGh0dHBzOi8vZ2l0 aHViLmNvbS91bmljb2RlLW9yZy9pY3UvY29tbWl0LzQ4MGJlYzNlYTY1MgorCistLS0KKyBtb2R1 bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCB8 IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvV2Vi Q29yZS9kb20vRG9jdW1lbnQuY3BwIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJj ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKK2luZGV4IGVjMzBmYjUuLjRiMGZmOWQgMTAwNjQ0 CistLS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1dlYkNvcmUvZG9tL0Rv Y3VtZW50LmNwcAorKysrIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9XZWJD b3JlL2RvbS9Eb2N1bWVudC5jcHAKK0BAIC00NzA0LDEyICs0NzA0LDEyIEBAIHN0YXRpYyBib29s IGlzVmFsaWROYW1lTm9uQVNDSUkoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxl bmd0aCkKKyAgICAgdW5zaWduZWQgaSA9IDA7CisKKyAgICAgVUNoYXIzMiBjOworLSAgICBVMTZf TkVYVChjaGFyYWN0ZXJzLCBpLCBsZW5ndGgsIGMpCisrICAgIFUxNl9ORVhUKGNoYXJhY3RlcnMs IGksIGxlbmd0aCwgYyk7CisgICAgIGlmICghaXNWYWxpZE5hbWVTdGFydChjKSkKKyAgICAgICAg IHJldHVybiBmYWxzZTsKKworICAgICB3aGlsZSAoaSA8IGxlbmd0aCkgeworLSAgICAgICAgVTE2 X05FWFQoY2hhcmFjdGVycywgaSwgbGVuZ3RoLCBjKQorKyAgICAgICAgVTE2X05FWFQoY2hhcmFj dGVycywgaSwgbGVuZ3RoLCBjKTsKKyAgICAgICAgIGlmICghaXNWYWxpZE5hbWVQYXJ0KGMpKQor ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgfQorQEAgLTQ3NjksNyArNDc2OSw3IEBA IEV4Y2VwdGlvbk9yPHN0ZDo6cGFpcjxBdG9taWNTdHJpbmcsIEF0b21pY1N0cmluZz4+IERvY3Vt ZW50OjpwYXJzZVF1YWxpZmllZE5hbWUoCisKKyAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8 IGxlbmd0aDsgKSB7CisgICAgICAgICBVQ2hhcjMyIGM7CistICAgICAgICBVMTZfTkVYVChxdWFs aWZpZWROYW1lLCBpLCBsZW5ndGgsIGMpCisrICAgICAgICBVMTZfTkVYVChxdWFsaWZpZWROYW1l LCBpLCBsZW5ndGgsIGMpOworICAgICAgICAgaWYgKGMgPT0gJzonKSB7CisgICAgICAgICAgICAg aWYgKHNhd0NvbG9uKQorICAgICAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp ZENoYXJhY3RlckVycm9yIH07CistLQorMi4yNi4yCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMv cGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWpzLXRlc3QucGF0Y2ggYi9nbnUvcGFja2Fn ZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLWpzLXRlc3QucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMDQwMDQyOTc2YQotLS0gL2Rldi9udWxsCisr KyBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC13ZWItanMtdGVzdC5w YXRjaApAQCAtMCwwICsxLDE4IEBACitGaXggdGVzdCBmcm9tIGxhdGVyIHJldmlzaW9uCisKK3Jl cG9ydDogaHR0cHM6Ly9idWdzLm9wZW5qZGsub3JnL2Jyb3dzZS9KREstODIxMjAxNAorCitmaXg6 IGh0dHA6Ly9oZy5vcGVuamRrLmphdmEubmV0L29wZW5qZngvOHUtZGV2L3J0L3Jldi82OTdhMTM4 YzNiNmIKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy90ZXN0L2phdmEvamF2YWZ4L3Nj ZW5lL3dlYi9KYXZhU2NyaXB0QnJpZGdlVGVzdC5qYXZhIGIvbW9kdWxlcy93ZWIvc3JjL3Rlc3Qv amF2YS9qYXZhZngvc2NlbmUvd2ViL0phdmFTY3JpcHRCcmlkZ2VUZXN0LmphdmEKKy0tLSBhL21v ZHVsZXMvd2ViL3NyYy90ZXN0L2phdmEvamF2YWZ4L3NjZW5lL3dlYi9KYXZhU2NyaXB0QnJpZGdl VGVzdC5qYXZhCisrKysgYi9tb2R1bGVzL3dlYi9zcmMvdGVzdC9qYXZhL2phdmFmeC9zY2VuZS93 ZWIvSmF2YVNjcmlwdEJyaWRnZVRlc3QuamF2YQorQEAgLTU3OCw3ICs1NzgsNyBAQAorICAgICAg ICAgICAgIGJpbmQoImFsaXN0IiwgYWxpc3QpOworICAgICAgICAgICAgIEludGVnZXJbXSBpYXJy ID0gbmV3IEludGVnZXJbNF07CisgICAgICAgICAgICAgYmluZCgiaWFyciIsIGlhcnIpOworLSAg ICAgICAgICAgIE9iamVjdCByID0gd2ViLmV4ZWN1dGVTY3JpcHQoImFsaXN0LnRvQXJyYXkoaWFy cikiKTsKKysgICAgICAgICAgICBPYmplY3QgciA9IHdlYi5leGVjdXRlU2NyaXB0KCJhbGlzdFsn dG9BcnJheShPYmplY3RbXSknXShpYXJyKSIpOworICAgICAgICAgICAgIGFzc2VydFNhbWUoaWFy ciwgcik7CisgICAgICAgICAgICAgYXNzZXJ0RXF1YWxzKCI5OC84Ny83Ni9udWxsIiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgaWFyclswXSsiLyIraWFyclsxXSsiLyIraWFyclsyXSsiLyIr aWFyclszXSk7CmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngt YnVpbGQtd2ViLXhsb2NhbGUuaC5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3Bl bmpmeC1idWlsZC13ZWIteGxvY2FsZS5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAuLjEzOGYzOWY5YWYKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMv cGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtd2ViLXhsb2NhbGUuaC5wYXRjaApAQCAtMCwwICsx LDUyIEBACitTdWJqZWN0OiBbUEFUQ0hdIENoZWNrIDx4bG9jYWxlLmg+IGhlYWRlciBmaWxlCisK K0ZldyBsaWJyYXJpZXMgdXNlIGhhcmQtY29kZWQgeGxvY2FsZV9oIGhlYWRlciBldmVuIHRob3Vn aCBpZiBDTWFrZSB0YWtlcyBjYXJlCitvZiBpdCBwcm9wZXJseS4gUmVtb3ZlIGRlZmluZWQgaGVh ZGVycywgYW5kIHJlbHkgb24gQ01ha2UgcHJlcHJvY2Vzc29yCitpbnN0ZWFkLgorCistLS0KKyAu Li4vc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5L2xpYnhzbHQvbGludXgvY29uZmln LmggICAgfCAyICstCisgLi4uL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4 c2x0L3NyYy9jb25maWcuaC5pbiAgIHwgMiArLQorIG1vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2 ZS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZSAgICB8IDEgKworIDMgZmlsZXMgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9k dWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5L2xpYnhzbHQvbGludXgv Y29uZmlnLmggYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUvU291cmNlL1RoaXJkUGFydHkv bGlieHNsdC9saW51eC9jb25maWcuaAoraW5kZXggYmQ0NGMxNjMuLmIxOWI0NWY0IDEwMDY0NAor LS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGlyZFBhcnR5L2xpYnhz bHQvbGludXgvY29uZmlnLmgKKysrKyBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9Tb3Vy Y2UvVGhpcmRQYXJ0eS9saWJ4c2x0L2xpbnV4L2NvbmZpZy5oCitAQCAtMTQzLDcgKzE0Myw3IEBA CisgI2RlZmluZSBIQVZFX1ZTUFJJTlRGIDEKKworIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl IHRoZSA8eGxvY2FsZS5oPiBoZWFkZXIgZmlsZS4gKi8KKy0jZGVmaW5lIEhBVkVfWExPQ0FMRV9I IDEKKysvKiAjZGVmaW5lIEhBVkVfWExPQ0FMRV9IIDEgKi8KKworIC8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgX3N0YXQnIGZ1bmN0aW9uLiAqLworIC8qICN1bmRlZiBIQVZFX19TVEFU ICovCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9UaGly ZFBhcnR5L2xpYnhzbHQvc3JjL2NvbmZpZy5oLmluIGIvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0 aXZlL1NvdXJjZS9UaGlyZFBhcnR5L2xpYnhzbHQvc3JjL2NvbmZpZy5oLmluCitpbmRleCAwODUz NTRlOS4uMDIxMGZjZTIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRpdmUv U291cmNlL1RoaXJkUGFydHkvbGlieHNsdC9zcmMvY29uZmlnLmguaW4KKysrKyBiL21vZHVsZXMv d2ViL3NyYy9tYWluL25hdGl2ZS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ4c2x0L3NyYy9jb25maWcu aC5pbgorQEAgLTE0Miw3ICsxNDIsNyBAQAorICN1bmRlZiBIQVZFX1ZTUFJJTlRGCisKKyAvKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHhsb2NhbGUuaD4gaGVhZGVyIGZpbGUuICovCist I3VuZGVmIEhBVkVfWExPQ0FMRV9ICisrLyogI3VuZGVmIEhBVkVfWExPQ0FMRV9IICovCisKKyAv KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9zdGF0JyBmdW5jdGlvbi4gKi8KKyAjdW5k ZWYgSEFWRV9fU1RBVAorZGlmZiAtLWdpdCBhL21vZHVsZXMvd2ViL3NyYy9tYWluL25hdGl2ZS9T b3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZSBiL21vZHVsZXMvd2ViL3NyYy9tYWluL25h dGl2ZS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQoraW5kZXggM2JiZDJjNGEuLjJi NjE4ZGQ2IDEwMDY0NAorLS0tIGEvbW9kdWxlcy93ZWIvc3JjL21haW4vbmF0aXZlL1NvdXJjZS9j bWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCisrKysgYi9tb2R1bGVzL3dlYi9zcmMvbWFpbi9uYXRp dmUvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKK0BAIC0xNDgsNiArMTQ4LDcgQEAg X0hBVkVfQ0hFQ0tfSU5DTFVERShIQVZFX1NUUklOR1NfSCBzdHJpbmdzLmgpCisgX0hBVkVfQ0hF Q0tfSU5DTFVERShIQVZFX1NZU19QQVJBTV9IIHN5cy9wYXJhbS5oKQorIF9IQVZFX0NIRUNLX0lO Q0xVREUoSEFWRV9TWVNfVElNRV9IIHN5cy90aW1lLmgpCisgX0hBVkVfQ0hFQ0tfSU5DTFVERShI QVZFX1NZU19USU1FQl9IIHN5cy90aW1lYi5oKQorK19IQVZFX0NIRUNLX0lOQ0xVREUoSEFWRV9Y TE9DQUxFX0ggeGxvY2FsZS5oKQorCisgIyBDaGVjayBmb3IgZnVuY3Rpb25zCisgX0hBVkVfQ0hF Q0tfRlVOQ1RJT04oSEFWRV9BTElHTkVEX01BTExPQyBfYWxpZ25lZF9tYWxsb2MpCistLQorMi4y NC4xCi0tIAoyLjM0LjAKCg== --000000000000c93bef05e254ac0a Content-Type: application/octet-stream; name="0005-Enable-java-openjfx-controls-tests.patch" Content-Disposition: attachment; filename="0005-Enable-java-openjfx-controls-tests.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4uz6nt25 RnJvbSAzODllN2M0NjhlYmY1MGFlNTAzOTNiYTFiZDhjMjE2ODc3MjI4M2EyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxMjozNDoxNyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjYgNS82XSBFbmFibGUgamF2YS1vcGVuamZ4LWNvbnRyb2xzIHRlc3RzCgotLS0KIGdudS9w YWNrYWdlcy9qYXZhLnNjbSB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9qYXZhLnNjbSBiL2dudS9wYWNrYWdlcy9qYXZhLnNjbQpp bmRleCAwM2U0M2I0N2EwLi5hNWM2YzY4N2IxIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMvamF2 YS5zY20KKysrIGIvZ251L3BhY2thZ2VzL2phdmEuc2NtCkBAIC0zNTQxLDIzICszNTQxLDQ4IEBA IChkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1jb250cm9scwogICAocGFja2FnZSAoaW5oZXJp dCBqYXZhLW9wZW5qZngtYnVpbGQpCiAgICAgKG5hbWUgImphdmEtb3BlbmpmeC1jb250cm9scyIp CiAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzCi0gICAgIGAoKCJqYXZhLW9wZW5qeGYtZ3JhcGhpY3Mi ICxqYXZhLW9wZW5qZngtZ3JhcGhpY3MpKSkKKyAgICAgKGxpc3QgamF2YS1vcGVuamZ4LWdyYXBo aWNzKSkKICAgICAoYXJndW1lbnRzCiAgICAgIGAoIzpqYXItbmFtZSAiamF2YS1vcGVuamZ4LWNv bnRyb2xzLmphciIKICAgICAgICAjOnNvdXJjZS1kaXIgIm1vZHVsZXMvY29udHJvbHMvc3JjL21h aW4vamF2YSIKICAgICAgICAjOnRlc3QtZGlyICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0Igot ICAgICAgIDs7IFRPRE86IHRlc3RzIHJlcXVpcmUgY29tLnN1bi5qYXZhZngucGdzdHViLAotICAg ICAgIDs7IGphdmFmeC5jb2xsZWN0aW9ucy5Nb2NrU2V0T2JzZXJ2ZXIsIGFuZAotICAgICAgIDs7 IGNvbS5zdW4uamF2YWZ4LmJpbmRpbmcuRXhwcmVzc2lvbkhlbHBlclV0aWxpdHkKLSAgICAgICAj OnRlc3RzPyAjZmFsc2UKKyAgICAgICAjOnRlc3QtaW5jbHVkZSAobGlzdCAiKiovKlRlc3QuKiIp CisgICAgICAgIzptb2R1bGVzICgoZ3VpeCBidWlsZCBhbnQtYnVpbGQtc3lzdGVtKQorICAgICAg ICAgICAgICAgICAgKGd1aXggYnVpbGQgdXRpbHMpCisgICAgICAgICAgICAgICAgICAoaWNlLTkg cmVnZXgpKQogICAgICAgICM6cGhhc2VzCiAgICAgICAgKG1vZGlmeS1waGFzZXMgJXN0YW5kYXJk LXBoYXNlcwogICAgICAgICAgKGFkZC1hZnRlciAndW5wYWNrICdjb3B5LXJlc291cmNlcwogICAg ICAgICAgICAobGFtYmRhIF8KKyAgICAgICAgICAgICA7OyBjb3B5IHRlc3Qgc3VwcG9ydCBmaWxl cyAoYnV0IG5vdCB0aGUgYWN0dWFsIHRlc3RzIHRoZW1zZWx2ZXMpCisgICAgICAgICAgICAgOzsg ZnJvbSBvdGhlciBtb2R1bGVzCisgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVs ZXMvZ3JhcGhpY3Mvc3JjL3Rlc3QvamF2YS9jb20vc3VuL2phdmFmeC9wZ3N0dWIiCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMvY29udHJvbHMvc3JjL3Rlc3QvamF2YS9j b20vc3VuL2phdmFmeC9wZ3N0dWIiKQorICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmls ZSAoZmluZC1maWxlcyAibW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2NvbS9zdW4vamF2 YWZ4L3Bnc3R1YiIgIi4qVGVzdC5qYXZhJCIpKQorICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2 ZWx5ICJtb2R1bGVzL2Jhc2Uvc3JjL3Rlc3QvamF2YS9jb20vc3VuL2phdmFmeC9iaW5kaW5nIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0 L2phdmEvY29tL3N1bi9qYXZhZngvYmluZGluZyIpCisgICAgICAgICAgICAgKGZvci1lYWNoIGRl bGV0ZS1maWxlIChmaW5kLWZpbGVzICJtb2R1bGVzL2NvbnRyb2xzL3NyYy90ZXN0L2phdmEvY29t L3N1bi9qYXZhZngvYmluZGluZyIgIi4qVGVzdC5qYXZhJCIpKQorICAgICAgICAgICAgIChjb3B5 LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL2Jhc2Uvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmVhbnMiCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMvY29udHJvbHMvc3JjL3Rlc3Qv amF2YS9qYXZhZngvYmVhbnMiKQorICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZSAo ZmluZC1maWxlcyAibW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2phdmFmeC9iZWFucyIg Ii4qVGVzdC5qYXZhJCIpKQorICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVz L2Jhc2Uvc3JjL3Rlc3QvamF2YS9qYXZhZngvY29sbGVjdGlvbnMiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIm1vZHVsZXMvY29udHJvbHMvc3JjL3Rlc3QvamF2YS9qYXZhZngvY29s bGVjdGlvbnMiKQorICAgICAgICAgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZSAoZmluZC1maWxl cyAibW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2phdmFmeC9jb2xsZWN0aW9ucyIgIi4q VGVzdC5qYXZhJCIpKQorICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL2Jh c2Uvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmluZGluZyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAibW9kdWxlcy9jb250cm9scy9zcmMvdGVzdC9qYXZhL2phdmFmeC9iaW5kaW5nIikK KyAgICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQtZmlsZXMgIm1vZHVsZXMv Y29udHJvbHMvc3JjL3Rlc3QvamF2YS9qYXZhZngvYmluZGluZyIgIi4qVGVzdC5qYXZhJCIpKQor CiAgICAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgIm1vZHVsZXMvY29udHJvbHMvc3JjL3Rl c3QvcmVzb3VyY2VzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJidWlsZC90ZXN0 LWNsYXNzZXMiKQogICAgICAgICAgICAgIChjb3B5LXJlY3Vyc2l2ZWx5ICJtb2R1bGVzL2NvbnRy b2xzL3NyYy9tYWluL3Jlc291cmNlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi YnVpbGQvY2xhc3NlcyIpKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVp bGQvY2xhc3NlcyIpKSkKKworICAgICAgICAgKGFkZC1iZWZvcmUgJ2NoZWNrICd0b29sa2l0Cisg ICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAiYnVpbGQueG1s IgorICAgICAgICAgICAgICAgKCgiPGp1bml0LipoYWx0b25mYWlsdXJlPVwieWVzXCI+IiBhbGwp CisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgYWxsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIjxzeXNwcm9wZXJ0eSBrZXk9XCJqYXZhZngudG9vbGtpdFwiIHZhbHVlPVwi Y29tLnN1bi5qYXZhZngucGdzdHViLlN0dWJUb29sa2l0XCIvPiIpKSkpKSkpKQogICAgIChkZXNj cmlwdGlvbiAiT3BlbkpGWCBpcyBhIGNsaWVudCBhcHBsaWNhdGlvbiBwbGF0Zm9ybSBmb3IgZGVz a3RvcCwKIG1vYmlsZSBhbmQgZW1iZWRkZWQgc3lzdGVtcyBidWlsdCBvbiBKYXZhLiAgSXRzIGdv YWwgaXMgdG8gcHJvZHVjZSBhCiBtb2Rlcm4sIGVmZmljaWVudCwgYW5kIGZ1bGx5IGZlYXR1cmVk IHRvb2xraXQgZm9yIGRldmVsb3BpbmcgcmljaCBjbGllbnQKLS0gCjIuMzQuMAoK --000000000000c93bef05e254ac0a Content-Type: application/octet-stream; name="0002-New-java-openjfx-swing-package.patch" Content-Disposition: attachment; filename="0002-New-java-openjfx-swing-package.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4uz6nsy2 RnJvbSBhM2NkMzRhZjI5YzUyYmQ2YmE0ZDk4NjE1YmQxNGQwYTc3MmNiMmVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBJb2FubmlzIEthcHBhcyA8aW9hbm5pcy5rYXBwYXNAZ21hbWls LmNvbT4KRGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxMToyMzo1NyArMDEwMApTdWJqZWN0OiBbUEFU Q0ggdjYgMi82XSBOZXcgamF2YS1vcGVuamZ4LXN3aW5nIHBhY2thZ2UKCi0tLQogZ251L2xvY2Fs Lm1rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogZ251L3BhY2thZ2Vz L2phdmEuc2NtICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzEgKysrKysrKysrLQogLi4udmEt b3BlbmpmeC1idWlsZC1zd2luZy1KRlhQYW5lbC1KREs4LnBhdGNoIHwgNjAgKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvamF2YS1vcGVuamZ4LWJ1 aWxkLXN3aW5nLUpGWFBhbmVsLUpESzgucGF0Y2gKCmRpZmYgLS1naXQgYS9nbnUvbG9jYWwubWsg Yi9nbnUvbG9jYWwubWsKaW5kZXggNTc2YzFhM2ViNi4uZmQzYjk5MmYzMyAxMDA2NDQKLS0tIGEv Z251L2xvY2FsLm1rCisrKyBiL2dudS9sb2NhbC5tawpAQCAtMTMyMCw2ICsxMzIwLDcgQEAgZGlz dF9wYXRjaF9EQVRBID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtY29tbW9u cy1sYW5nLWZpeC1kZXBlbmRlbmN5LnBhdGNoIFwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvamF2 YS1qZXJvbXEtZml4LXRlc3RzLnBhdGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEt b3BlbmpmeC1idWlsZC1qZGtfdmVyc2lvbi5wYXRjaCAgICAgXAorICAlRCUvcGFja2FnZXMvcGF0 Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5wYXRjaCAgICAgXAog ICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLXBvd2VybW9jay1maXgtamF2YS1maWxlcy5wYXRj aAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLXNpbXBsZS14bWwtZml4LXRlc3RzLnBh dGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtc3ZnLXNhbGFtYW5kZXItRml4LW5v bi1kZXQucGF0Y2gJXApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2phdmEuc2NtIGIvZ251L3Bh Y2thZ2VzL2phdmEuc2NtCmluZGV4IDQwYjg4NjQwYTMuLjVmNWUyY2QwMGUgMTAwNjQ0Ci0tLSBh L2dudS9wYWNrYWdlcy9qYXZhLnNjbQorKysgYi9nbnUvcGFja2FnZXMvamF2YS5zY20KQEAgLTI1 MjQsNyArMjUyNCw4IEBAIChkZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1idWlsZAogICAgICAg ICAgICAgICAoc2hhMjU2CiAgICAgICAgICAgICAgICAoYmFzZTMyCiAgICAgICAgICAgICAgICAg IjB5ZzM4bXdwaXZzd2NjdjluOTZrMDZ4M2l2ODJpNHB4MWE5eGc5bDhkc3d6d21majI1OWYiKSkK LSAgICAgICAgICAgICAgKHBhdGNoZXMgKHNlYXJjaC1wYXRjaGVzICJqYXZhLW9wZW5qZngtYnVp bGQtamRrX3ZlcnNpb24ucGF0Y2giKSkpKQorICAgICAgICAgICAgICAocGF0Y2hlcyAoc2VhcmNo LXBhdGNoZXMgImphdmEtb3BlbmpmeC1idWlsZC1qZGtfdmVyc2lvbi5wYXRjaCIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqYXZhLW9wZW5qZngtYnVpbGQtc3dpbmct SkZYUGFuZWwtSkRLOC5wYXRjaCIpKSkpCiAgICAgKGJ1aWxkLXN5c3RlbSBhbnQtYnVpbGQtc3lz dGVtKQogICAgIChhcmd1bWVudHMKICAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZnguamFy IgpAQCAtMzI3Miw2ICszMjczLDM0IEBAIChjbGFzcyAobWF0Y2g6c3VmZml4IChyZWdleHAtZXhl YyByeCBjbGFzcykpKSkKIGFwcGxpY2F0aW9ucy4gIFRoaXMgcGFja2FnZSBjb250YWlucyBncmFw aGljcy1yZWxhdGVkIGNsYXNzZXMgZm9yIHRoZQogT3BlbkpGWCBkaXN0cmlidXRpb24uIikpKQog CisoZGVmaW5lLXB1YmxpYyBqYXZhLW9wZW5qZngtc3dpbmcKKyAgKHBhY2thZ2UgKGluaGVyaXQg amF2YS1vcGVuamZ4LWJ1aWxkKQorICAgIChuYW1lICJqYXZhLW9wZW5qZngtc3dpbmciKQorICAg IChhcmd1bWVudHMKKyAgICAgYCgjOmphci1uYW1lICJqYXZhLW9wZW5qZngtc3dpbmcuamFyIgor ICAgICAgICM6c291cmNlLWRpciAibW9kdWxlcy9zd2luZy9zcmMvbWFpbi9qYXZhIgorICAgICAg ICM6dGVzdC1kaXIgIm1vZHVsZXMvc3dpbmcvc3JjL3Rlc3QiCisgICAgICAgIzp0ZXN0LWluY2x1 ZGUgKGxpc3QgIioqLypUZXN0LioiKQorICAgICAgICM6bW9kdWxlcyAoKGd1aXggYnVpbGQgYW50 LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgIChndWl4IGJ1aWxkIHV0aWxzKQorICAg ICAgICAgICAgICAgICAgKGljZS05IHJlZ2V4KSkKKyAgICAgICAjOnBoYXNlcworICAgICAgICht b2RpZnktcGhhc2VzICVzdGFuZGFyZC1waGFzZXMKKyAgICAgICAgIChhZGQtYmVmb3JlICdjaGVj ayAneC10ZXN0LXNldHVwCisgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgIChzeXN0 ZW0gIlh2ZmIgOjMzICYiKQorICAgICAgICAgICAgIChzZXRlbnYgIkRJU1BMQVkiICI6MzMiKSkp KSkpCisgICAgKG5hdGl2ZS1pbnB1dHMKKyAgICAgYCgoImphdmEtanVuaXQiICxqYXZhLWp1bml0 KQorICAgICAgICgieG9yZy1zZXJ2ZXIiICx4b3JnLXNlcnZlci1mb3ItdGVzdHMpKSkKKyAgICAo cHJvcGFnYXRlZC1pbnB1dHMKKyAgICAgYCgoImphdmEtb3BlbmpmeC1ncmFwaGljcyIgLGphdmEt b3BlbmpmeC1ncmFwaGljcykpKQorICAgIChkZXNjcmlwdGlvbiAiT3BlbkpGWCBpcyBhIGNsaWVu dCBhcHBsaWNhdGlvbiBwbGF0Zm9ybSBmb3IgZGVza3RvcCwKK21vYmlsZSBhbmQgZW1iZWRkZWQg c3lzdGVtcyBidWlsdCBvbiBKYXZhLiAgSXRzIGdvYWwgaXMgdG8gcHJvZHVjZSBhIG1vZGVybiwK K2VmZmljaWVudCwgYW5kIGZ1bGx5IGZlYXR1cmVkIHRvb2xraXQgZm9yIGRldmVsb3Bpbmcgcmlj aCBjbGllbnQgYXBwbGljYXRpb25zLgorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGEgc2V0IG9mIGNs YXNzZXMgdG8gdXNlIEphdmFGWCBpbnNpZGUgU3dpbmcKK2FwcGxpY2F0aW9ucy4iKSkpCisKIChk ZWZpbmUtcHVibGljIGphdmEtb3BlbmpmeC1tZWRpYQogICAocGFja2FnZSAoaW5oZXJpdCBqYXZh LW9wZW5qZngtYnVpbGQpCiAgICAgKG5hbWUgImphdmEtb3BlbmpmeC1tZWRpYSIpCmRpZmYgLS1n aXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFu ZWwtSkRLOC5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL2phdmEtb3BlbmpmeC1idWlsZC1z d2luZy1KRlhQYW5lbC1KREs4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLmI1NDAwNDg2MjEKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hl cy9qYXZhLW9wZW5qZngtYnVpbGQtc3dpbmctSkZYUGFuZWwtSkRLOC5wYXRjaApAQCAtMCwwICsx LDYwIEBACitTdWJqZWN0OiBbUEFUQ0hdIGphdmEtb3BlbmpmeC1idWlsZDogQ2Fubm90IGNvbXBp bGUgSkZYUGFuZWwgd2l0aCBKREsgOAorCitJbiBKREt1OSBnZXREZWZhdWx0U2NhbGUgbWV0aG9k IHdhcyByZW1vdmVkIGFuZCBzdW4uamF2YTJkLlN1cmZhY2VEYXRhIGNsYXNzIG5vdworaGFzIHNl cGFyYXRlIGdldERlZmF1bHRTY2FsZVgoKSBhbmQgZ2V0RGVmYXVsdFNjYWxlWSgpIG1ldGhvZHMu IFNlZQoraHR0cHM6Ly9idWdzLm9wZW5qZGsuamF2YS5uZXQvYnJvd3NlL0pESy04MDczMzIwIGZv ciBtb3JlIGluZm8uCisKK0JhY2twb3J0IHRoZSBtaXNzaW5nIHBvcnQgdG8gYnVpbGQgb3Blbmpm eC1zd2luZyBwYWNrYWdlIHVzaW5nIEpES3U4LiBGb3IgbW9yZQoraW5mbyBwbGVhc2Ugc2VlIGh0 dHBzOi8vYnVncy5vcGVuamRrLmphdmEubmV0L2Jyb3dzZS9KREstODE0OTk2NworCistLS0KKyAu Li4vamF2YS9qYXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YSAgICAgfCAyMCArKysrKysr KysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvc3dpbmcvc3JjL21haW4vamF2YS9qYXZhZngv ZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YSBiL21vZHVsZXMvc3dpbmcvc3JjL21haW4vamF2YS9q YXZhZngvZW1iZWQvc3dpbmcvSkZYUGFuZWwuamF2YQoraW5kZXggOTc1MTVlMjI5MC4uNjE0ZWQ2 NTZiOSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvc3dpbmcvc3JjL21haW4vamF2YS9qYXZhZngvZW1i ZWQvc3dpbmcvSkZYUGFuZWwuamF2YQorKysrIGIvbW9kdWxlcy9zd2luZy9zcmMvbWFpbi9qYXZh L2phdmFmeC9lbWJlZC9zd2luZy9KRlhQYW5lbC5qYXZhCitAQCAtODEsNiArODEsNyBAQCBpbXBv cnQgc3VuLmF3dC5BcHBDb250ZXh0OworIGltcG9ydCBzdW4uYXd0LkNhdXNlZEZvY3VzRXZlbnQ7 CisgaW1wb3J0IHN1bi5hd3QuU3VuVG9vbGtpdDsKKyBpbXBvcnQgc3VuLmphdmEyZC5TdW5HcmFw aGljczJEOworK2ltcG9ydCBzdW4uamF2YTJkLlN1cmZhY2VEYXRhOworIGltcG9ydCBzdW4udXRp bC5sb2dnaW5nLlBsYXRmb3JtTG9nZ2VyOworIGltcG9ydCBzdW4udXRpbC5sb2dnaW5nLlBsYXRm b3JtTG9nZ2VyLkxldmVsOworCitAQCAtNjgxLDYgKzY4MiwyMyBAQAorICAgICAgICAgICAgICAg ICBlLmdldENhcmV0KCkuZ2V0SW5zZXJ0aW9uSW5kZXgoKSk7CisgICAgIH0KKworKyAgICAvLyBG SVhNRTogb25jZSB3ZSBtb3ZlIHRvIEpESyA5IGFzIHRoZSBib290IEpESyB3ZSBzaG91bGQgcmVt b3ZlIHRoZQorKyAgICAvLyByZWZsZWN0aW9uIGNvZGUgZnJvbSB0aGlzIG1ldGhvZCwgY29uc2lk ZXIgY2hhbmdpbmcgaXQgdG8KKysgICAgLy8gdXNlIGRvdWJsZSByYXRoZXIgdGhhbiBpbnQsIGFu ZCBhY2NvdW50IGZvciB0aGUgcG9zc2liaWxpdHkgb2YKKysgICAgLy8gYSBkaWZmZXJlbnQgc2Nh bGUgZmFjdG9yIGluIFggYW5kIFkuCisrICAgIHByaXZhdGUgaW50IGdldERlZmF1bHRTY2FsZShT dXJmYWNlRGF0YSBzdXJmYWNlRGF0YSkgeworKyAgICAgICAgLyoKKysgICAgICAgICAgZG91Ymxl IHNjYWxlID0gc3VyZmFjZURhdGEuZ2V0RGVmYXVsdFNjYWxlWCgpOworKyAgICAgICAgKi8KKysg ICAgICAgIGRvdWJsZSBzY2FsZSA9IDE7CisrICAgICAgICB0cnkgeworKyAgICAgICAgICAgIE1l dGhvZCBtZXRoID0gU3VyZmFjZURhdGEuY2xhc3MuZ2V0TWV0aG9kKCJnZXREZWZhdWx0U2NhbGVY Iik7CisrICAgICAgICAgICAgc2NhbGUgPSAoRG91YmxlKW1ldGguaW52b2tlKHN1cmZhY2VEYXRh KTsKKysgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBleCkgeworKyAgICAgICAgfQorKworKyAg ICAgICAgcmV0dXJuIChpbnQpTWF0aC5yb3VuZChzY2FsZSk7CisrICAgIH0KKworICAgICAvKioK KyAgICAgICogT3ZlcnJpZGVzIHRoZSB7QGxpbmsgamF2YXguc3dpbmcuSkNvbXBvbmVudCNwYWlu dENvbXBvbmVudChHcmFwaGljcyl9CitAQCAtNzIwLDcgKzczOCw3IEBAIHB1YmxpYyBjbGFzcyBK RlhQYW5lbCBleHRlbmRzIEpDb21wb25lbnQgeworCisgICAgICAgICAgICAgaW50IG5ld1NjYWxl RmFjdG9yID0gc2NhbGVGYWN0b3I7CisgICAgICAgICAgICAgaWYgKGcgaW5zdGFuY2VvZiBTdW5H cmFwaGljczJEKSB7CistICAgICAgICAgICAgICAgIG5ld1NjYWxlRmFjdG9yID0gKChTdW5HcmFw aGljczJEKWcpLnN1cmZhY2VEYXRhLmdldERlZmF1bHRTY2FsZSgpOworKyAgICAgICAgICAgICAg ICBuZXdTY2FsZUZhY3RvciA9IGdldERlZmF1bHRTY2FsZSgoKFN1bkdyYXBoaWNzMkQpZykuc3Vy ZmFjZURhdGEpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBpZiAoc2NhbGVGYWN0b3Ig IT0gbmV3U2NhbGVGYWN0b3IpIHsKKyAgICAgICAgICAgICAgICAgcmVzaXplUGl4ZWxCdWZmZXIo bmV3U2NhbGVGYWN0b3IpOworLS0KKzIuMjQuMQotLSAKMi4zNC4wCgo= --000000000000c93bef05e254ac0a-- From unknown Fri Jun 13 11:03:19 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#41360] [PATCH v5] finalize java-openjfx packages Resent-From: Ioannis Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 09 Sep 2022 06:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41360 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Julien Lepiller Cc: "41360@debbugs.gnu.org" <41360@debbugs.gnu.org>, "ludo@gnu.org" , "levenson@mmer.org" Received: via spool by 41360-submit@debbugs.gnu.org id=B41360.166270414013931 (code B ref 41360); Fri, 09 Sep 2022 06:16:02 +0000 Received: (at 41360) by debbugs.gnu.org; 9 Sep 2022 06:15:40 +0000 Received: from localhost ([127.0.0.1]:60737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oWXIh-0003cd-TO for submit@debbugs.gnu.org; Fri, 09 Sep 2022 02:15:40 -0400 Received: from mail-wr1-f52.google.com ([209.85.221.52]:46740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oWXId-0003cO-K6 for 41360@debbugs.gnu.org; Fri, 09 Sep 2022 02:15:38 -0400 Received: by mail-wr1-f52.google.com with SMTP id e20so968528wri.13 for <41360@debbugs.gnu.org>; Thu, 08 Sep 2022 23:15:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:cc:to:references:message-id:in-reply-to :thread-topic:subject:from:date:mime-version:from:to:cc:subject:date; bh=6VDbw+KM3OL0N2KUQ1bAO19tu6VyugGTzwUHC5Sp9iU=; b=EjSV8xe8RSvjlL5NI07VNX/GrV0KL/ki94JbbKfwhccWIWM1vRktsx08W6el4fPQPi 92TOwqLpbJM2HvrC5HAvp9g7BgVmdQqCA+bN8pwz6Xfiyp1PUGl8BVPitbTieybvtNjd mos3muLVu0dVcdR6d71idf3+1uMiey7KOMWstOcrxFrUMkBHnc5J8v01+h6dIYdcQ/WG UrroLy3v6HfWNT3CH5vmaL360H0IMQqfP/REZ5nIvgHUh37pKJWnWVY19xwkgmWv5TQr QU5cO0o7F23mALANWbFqVzktHAIo3BcsZdiAzQkBxMZUnGV9AVPwlsI2OLrzvge9rlr7 HiXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:references:message-id:in-reply-to :thread-topic:subject:from:date:mime-version:x-gm-message-state:from :to:cc:subject:date; bh=6VDbw+KM3OL0N2KUQ1bAO19tu6VyugGTzwUHC5Sp9iU=; b=dU1UJuqZZPUU5cUCGQ17X9MFlqcaAkae9gfH1fH/B/G8QzLGQThaxJc5iOp79zRN7q GPznGN5X1IUEZlRWmr75YJjIwFpAukMIPypRwmARGtOn+h/Cv7ZDvxmTCqAbn2Myu3gT wrADp6Hh1o/VKOMutw3O4n++zx0hU1A0XQD/e2/1iqRs7aON2prgSYOs9PLeC4hFQenr wCBaNGT5DrFtIL2mBPaO4ane6dDK5cupzKGD64voFXzRU7KkeGxUVRnjyX91uHxaV6Cf 9Bge/qjUE0/DYE3hugSwGYI0yxIrRQcit2eeTaqW40yCvGRWWZAy+bfInuhELqxx/Wdh RL7Q== X-Gm-Message-State: ACgBeo180gGj921bu2Rvq40aFgrW0nD4/xeWZj8utgp2B9gky1dMY9rR 8YztBcWgrz5cpCxzx0Zeb5w= X-Google-Smtp-Source: AA6agR60gvTK+2lHVhZxBS3prPNbar340ZdgB3EzpU1M0yuvKHIHx+rH9AmoQN6i3D3KwR4XXZYzJw== X-Received: by 2002:a5d:44cf:0:b0:228:dc26:eb3c with SMTP id z15-20020a5d44cf000000b00228dc26eb3cmr7046705wrr.389.1662704129532; Thu, 08 Sep 2022 23:15:29 -0700 (PDT) Received: from EXO ([2a01:4b00:883d:f900:3c09:b752:785b:a7e6]) by smtp.gmail.com with ESMTPSA id f2-20020a5d6642000000b0022a34a2e091sm1040964wrw.22.2022.09.08.23.15.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Sep 2022 23:15:29 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 9 Sep 2022 07:15:29 +0100 From: Ioannis Thread-Topic: RE: [PATCH v5] finalize java-openjfx packages In-Reply-To: Message-ID: <061B18E4-27E1-4DCC-A064-843C31A6F5F7@hxcore.ol> References: <20220621192706.39031ffd@sybil.lepiller.eu>, Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.9 (/)

Hi Ju= lien,

 

Any= chance you could have a look at the patches?

=  

Thanks

&n= bsp;

From: Ioannis Kappas
Sent: 26 June 2022 08:22
To= : Julien Lepiller
Cc: <= /b>41360@debbugs.gnu.org; levenson@mmer.org; ludo@gnu.org
Subject: Re: [PATCH v5] finalize ja= va-openjfx packages

 

Hi Julien,

 

On Tue, Jun 21, 2022 at 6:27 PM Julien Lepiller <juli= en@lepiller.eu> wrote:

> 

=

> Hi Ioannis,

>&nbs= p;

> Could you fix all this and send a new= patch series, with one patch per

> package, so = we can try applying them and checking them more closely?

 

please find patch v6 series= as attached. Changes from last patch are

&nbs= p;

1. Each package definition is in a separat= e commit/patch file - as requested.

1. Output all n= ative libs to lib/openjfx - no arch specific directory,

as requested.

2. Add native libs path to java.= library.path property at static initialization,

so = that the NativeLibsLoader can locate them at runtime=C2=A0 - This is a

<= p class=3DMsoNormal>better working solution than loading by absolute path, = since the

latter was not working during testing if = the native libs were not

installed.

3. Install native libs after 'install phase - previously the nativ= e

libs were installed unconditionally just after co= mpilation, which is

wrong.

= 4. Pass CMAKE_CXX_FLAGS argument as a single string - as requested.

5. Use new style inputs for packages - as requested.

6. Remove #t at the end of phases - as requested.

 

Thanks

 

=