From bc0d82617f51e9f2cc007ba5799b8932c991c001 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 19 Jun 2026 05:54:58 +0000 Subject: [PATCH 01/76] Update actions/checkout action to v7 --- .github/workflows/broken-links.yml | 2 +- .github/workflows/report-gha-workflow-security-problems.yml | 2 +- .github/workflows/sync-labels.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index ce623e98..a6c3ed5c 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -12,7 +12,7 @@ jobs: link-checker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - run: mv .github/.lycheeignore .lycheeignore diff --git a/.github/workflows/report-gha-workflow-security-problems.yml b/.github/workflows/report-gha-workflow-security-problems.yml index b17aa539..78470285 100644 --- a/.github/workflows/report-gha-workflow-security-problems.yml +++ b/.github/workflows/report-gha-workflow-security-problems.yml @@ -17,7 +17,7 @@ jobs: # Only run this in our repos (Prevent notification spam by forks) if: ${{ github.repository_owner == 'xdev-software' }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Check id: check diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index c43365ef..00e40162 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -15,7 +15,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: sparse-checkout: .github/labels.yml From bbc7ec47a5287a96fb3fc544dbaf879c3e35751f Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 29 Jun 2026 05:52:24 +0000 Subject: [PATCH 02/76] Update dependency com.puppycrawl.tools:checkstyle to v13.7.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bb0d7cd9..193ce997 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 13.6.0 + 13.7.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 4b2b7364..c45d74f2 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 13.6.0 + 13.7.0 From bf72b0de3e9b032dbbe6375813b23e585f01ebfe Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 30 Jun 2026 05:37:37 +0000 Subject: [PATCH 03/76] Update net.sourceforge.pmd to v7.26.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index bb0d7cd9..8a183196 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.25.0 + 7.26.0 net.sourceforge.pmd pmd-java - 7.25.0 + 7.26.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 4b2b7364..b083f7df 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.25.0 + 7.26.0 net.sourceforge.pmd pmd-java - 7.25.0 + 7.26.0 From 793d3112bd42c9d5a5857fe45d06c9ecc0c7f3bc Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 1 Jul 2026 07:50:24 +0200 Subject: [PATCH 04/76] Enable new PMD 7.26 rule --- .config/pmd/java/ruleset.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index b6d43e51..8dde42bc 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -141,6 +141,7 @@ + From 0fb2aeb6cd624b28815850fa5961d05defefc747 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 1 Jul 2026 08:02:30 +0200 Subject: [PATCH 05/76] CheckStyle-IDEA: Always use lastest (bundled) version This prevents annoying popups whenever the plugin updates --- .idea/checkstyle-idea.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml index 3dbbcc7a..b8b753e6 100644 --- a/.idea/checkstyle-idea.xml +++ b/.idea/checkstyle-idea.xml @@ -1,7 +1,7 @@ - 13.5.0 + latest JavaOnlyWithTests true true From b31eb4fef83348cce283031ae4fe9262eff9a02d Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 10 Jul 2026 07:38:32 +0000 Subject: [PATCH 06/76] Update lycheeverse/lychee-action digest to e747777 --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index ce623e98..afdffd67 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -18,7 +18,7 @@ jobs: - name: Link Checker id: lychee - uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2 + uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2 with: args: "--verbose --no-progress './**/*.md'" fail: false # Don't fail on broken links, create an issue instead From d5d7f92b24db48c4ae8cdf68048876a480159b4a Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 12 Jul 2026 06:26:11 +0000 Subject: [PATCH 07/76] Update dependency com.puppycrawl.tools:checkstyle to v13.8.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 6eb41f92..9642b3fc 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 13.7.0 + 13.8.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 9a861f91..c1cb5518 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 13.7.0 + 13.8.0 From ebdb60b0a3f799e83803fc1850f685f470bd09a7 Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Tue, 14 Jul 2026 17:01:06 +0200 Subject: [PATCH 08/76] Update CONTRIBUTING.md Update recommended setup --- CONTRIBUTING.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2c7b0250..c77eab35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,14 +23,15 @@ You should have the following things installed: * Maven (Note that the [Maven Wrapper](https://maven.apache.org/wrapper/) is shipped with the repo) ### Recommended setup -* Install ``IntelliJ`` (Community Edition is sufficient) - * Install the following plugins: - * [Save Actions](https://plugins.jetbrains.com/plugin/22113) - Provides save actions, like running the formatter or adding ``final`` to fields - * [SonarLint](https://plugins.jetbrains.com/plugin/7973-sonarlint) - CodeStyle/CodeAnalysis - * You may consider disabling telemetry in the settings under ``Tools > Sonarlint -> About`` - * [Checkstyle-IDEA](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) - CodeStyle/CodeAnalysis +* Install `IntelliJ` + * Recommended setup actions + * Disable not needed plugins + * Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html) + * Consider [disabling the integrated webserver for security reasons](https://intellij-support.jetbrains.com/hc/en-us/community/posts/8125278285586-Internal-Local-ports-63342-6942?page=1#community_comment_8141506876562) using `-Didea.builtin.server.disabled=true` + * Configure the available memory * Import the project - * Ensure that everything is encoded in ``UTF-8`` + * You will get prompted to install the required plugins + * Ensure that everything is encoded in `UTF-8` * Ensure that the JDK/Java-Version is correct From 4dc1db8168698f69b147261da2ee21a478a190f4 Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Tue, 14 Jul 2026 17:18:14 +0200 Subject: [PATCH 09/76] Update CONTRIBUTING.md This options crashes the build --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c77eab35..6e9dde56 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,6 @@ You should have the following things installed: * Recommended setup actions * Disable not needed plugins * Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html) - * Consider [disabling the integrated webserver for security reasons](https://intellij-support.jetbrains.com/hc/en-us/community/posts/8125278285586-Internal-Local-ports-63342-6942?page=1#community_comment_8141506876562) using `-Didea.builtin.server.disabled=true` * Configure the available memory * Import the project * You will get prompted to install the required plugins From 4fb1a7e3e80822a380661ffa753c5a10ca3296bb Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:11:54 +0200 Subject: [PATCH 10/76] Delete .idea/PMDPlugin.xml Fixes #26 --- .idea/PMDPlugin.xml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .idea/PMDPlugin.xml diff --git a/.idea/PMDPlugin.xml b/.idea/PMDPlugin.xml deleted file mode 100644 index 0936e518..00000000 --- a/.idea/PMDPlugin.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - \ No newline at end of file From fc631b210ab3cf80744fd32c465490efc0c5aafd Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:12:19 +0200 Subject: [PATCH 11/76] Delete .idea/PMDPlugin.xml --- .idea/PMDPlugin.xml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .idea/PMDPlugin.xml diff --git a/.idea/PMDPlugin.xml b/.idea/PMDPlugin.xml deleted file mode 100644 index 0936e518..00000000 --- a/.idea/PMDPlugin.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - \ No newline at end of file From 8e9182de91b1834ca393d23496428e375732197c Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 22 Jul 2026 11:41:35 +0200 Subject: [PATCH 12/76] Prevent creating variants of Util classes like "DBUtils" or "DBUtility" --- .config/checkstyle/checkstyle.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index 94a22c6c..99b29e8f 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -81,7 +81,7 @@ - + From 74e4ed9efcab40bba843215bb4ec6bec827740e9 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 23 Jul 2026 06:22:57 +0000 Subject: [PATCH 13/76] Update dependency com.mycila:license-maven-plugin to v5.1.1 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index c1cb5518..9a455a9e 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -68,7 +68,7 @@ com.mycila license-maven-plugin - 5.0.0 + 5.1.1 ${project.organization.url} From df60de3e16c8274afc947db6fd7351ba46c94b8a Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 25 Jul 2026 06:06:42 +0000 Subject: [PATCH 14/76] Update dependency org.codehaus.mojo:flatten-maven-plugin to v1.8.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index c1cb5518..5ec52178 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -147,7 +147,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.7.3 + 1.8.0 ossrh From ae1b42705d02def918a26b15083710400a47a1f1 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 27 Jul 2026 08:43:12 +0200 Subject: [PATCH 15/76] Disable UnusedTryResourceShouldBeUnnamed This is only relevant for projects that are using Java 25+ which most of libraries are not yet built against --- .config/checkstyle/checkstyle.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index 99b29e8f..dcc19b43 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -146,7 +146,8 @@ - + + From eaa7a17d119aca0d783dd03fc9b13487a0e5c800 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 27 Jul 2026 06:55:39 +0000 Subject: [PATCH 16/76] Update dependency com.puppycrawl.tools:checkstyle to v13.9.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 9642b3fc..333c1c21 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 13.8.0 + 13.9.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 2ffc5135..202e05be 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 13.8.0 + 13.9.0 From d7bb00981e20e363c9a2300024cb882fab994349 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 3 Aug 2026 08:43:21 +0200 Subject: [PATCH 17/76] Update redirect links --- CONTRIBUTING.md | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6e9dde56..ee364fda 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ We would absolutely love to get the community involved, and we welcome any form * **Send pull requests**
If you want to contribute code, check out the development instructions below. * However when contributing larger new features, please first discuss the change you wish to make via issue with the owners of this repository before making it.
Otherwise your work might be rejected and your effort was pointless. -We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/quickstart/contributing-to-projects). +We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). ## Developing @@ -20,7 +20,7 @@ We also encourage you to read the [contribution instructions by GitHub](https:// You should have the following things installed: * Git * Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/)) -* Maven (Note that the [Maven Wrapper](https://maven.apache.org/wrapper/) is shipped with the repo) +* Maven (Note that the [Maven Wrapper](https://maven.apache.org/tools/wrapper/) is shipped with the repo) ### Recommended setup * Install `IntelliJ` diff --git a/README.md b/README.md index 3b979013..e97be213 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [Installation guide for the latest release](https://github.com/xdev-software/template-placeholder/releases/latest#Installation) ## Support -If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services/support). +If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support). ## Contributing See the [contributing guide](./CONTRIBUTING.md) for detailed instructions on how to get started with our project. From 05f54ff535e6b14a6a6d80f3ff683b3fc514d596 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 3 Aug 2026 08:47:07 +0200 Subject: [PATCH 18/76] Stackoverflow links return 403 when validated --- .github/.lycheeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/.lycheeignore b/.github/.lycheeignore index dc88a070..217b0ae4 100644 --- a/.github/.lycheeignore +++ b/.github/.lycheeignore @@ -1,3 +1,4 @@ # Ignorefile for broken link check localhost mvnrepository.com +stackoverflow.com From 19fce86358264d51c5dbbdb474931287625f9b1c Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 3 Aug 2026 09:19:46 +0200 Subject: [PATCH 19/76] CS 13.9 remove removed JavadocStyle and replace it with JavadocContentLocation --- .config/checkstyle/checkstyle.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index dcc19b43..b5858800 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -87,9 +87,7 @@ - - - + From 25c8893930922162b91150eeb6023d79c81dccb2 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 3 Aug 2026 14:15:55 +0200 Subject: [PATCH 20/76] Update pmd-x.xml --- .idea/pmd-x.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.idea/pmd-x.xml b/.idea/pmd-x.xml index 260e454b..7b3b48fa 100644 --- a/.idea/pmd-x.xml +++ b/.idea/pmd-x.xml @@ -10,6 +10,7 @@
From bc90eb704e7189136c3fedf393c7ce444b1d363d Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 4 Aug 2026 08:28:46 +0200 Subject: [PATCH 21/76] Fix redirect link --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ee364fda..390a0cf8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,7 +4,7 @@ We would absolutely love to get the community involved, and we welcome any form ### Communication channels * Communication is primarily done using issues. -* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services/support). +* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support). * As a last resort measure or on otherwise important matter you may also [contact us directly](https://xdev.software/en/about-us/contact). ### Ways to help From 867b1fef77e8a7f8b1063ee5c227c437a752378f Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 7 Aug 2026 04:01:16 +0000 Subject: [PATCH 22/76] Update shogo82148/actions-create-release digest to 8674c0e --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6133d1a6..dc0033ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,7 +91,7 @@ jobs: - name: Create Release id: create-release - uses: shogo82148/actions-create-release@6a396031bc74c57403da1018fec74d24c6aa03cd # v1 + uses: shogo82148/actions-create-release@8674c0ecee617c8dfb006526bcc22a362c70b88a # v1 with: tag_name: v${{ steps.version.outputs.release }} release_name: v${{ steps.version.outputs.release }} From 9be12abd04f2ef265cddf8e6a09762b1f86e3311 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 10 Aug 2026 03:36:47 +0000 Subject: [PATCH 23/76] Update dependency com.puppycrawl.tools:checkstyle to v13.10.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 333c1c21..30343dc4 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 13.9.0 + 13.10.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 202e05be..15881e9d 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 13.9.0 + 13.10.0 From 64dedb0ed09bc0cc2f17f45e63a5b59bc0666ebd Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Thu, 20 Aug 2026 11:44:21 +0200 Subject: [PATCH 24/76] Add hint to additional information that people can include screenshots or video recordings if they wish --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 033bcdb0..24f2519d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -61,4 +61,4 @@ body: attributes: label: Additional information description: | - Any other relevant information you'd like to include + Any other relevant information you'd like to include, e.g. screenshots or video recordings of the bug From 93bd66d271838bff4ba3faef24b75bb1d6ae2d88 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 25 Aug 2026 03:20:40 +0000 Subject: [PATCH 25/76] Update actions/setup-java action to v6 --- .github/workflows/check-build.yml | 6 +++--- .github/workflows/release.yml | 8 ++++---- .github/workflows/test-deploy.yml | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 0cd2d9b7..da6afa9b 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -34,7 +34,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.java }} @@ -87,7 +87,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.java }} @@ -123,7 +123,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: distribution: ${{ matrix.distribution }} java-version: ${{ matrix.java }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dc0033ea..3ce89fcf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: java-version: '17' distribution: 'temurin' @@ -124,7 +124,7 @@ jobs: git pull - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java overwrites the settings.xml distribution: 'temurin' java-version: '17' @@ -141,7 +141,7 @@ jobs: MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java again overwrites the settings.xml distribution: 'temurin' java-version: '17' @@ -172,7 +172,7 @@ jobs: git pull - name: Setup - Java - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: java-version: '17' distribution: 'temurin' diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 96e5d2a7..9f665060 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java overwrites the settings.xml distribution: 'temurin' java-version: '17' @@ -31,7 +31,7 @@ jobs: MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - name: Set up JDK - uses: actions/setup-java@v5 + uses: actions/setup-java@v6 with: # running setup-java again overwrites the settings.xml distribution: 'temurin' java-version: '17' From ee3a9cbc799f72be8e50cf7039955f0aeb272f0c Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 31 Aug 2026 08:55:55 +0200 Subject: [PATCH 26/76] Add new CheckStyle rules for v14 --- .config/checkstyle/checkstyle.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index b5858800..cd401396 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -65,6 +65,7 @@ + @@ -144,6 +145,7 @@ + From 501e65a2c7340ea27e8e06046b62e531a07b6843 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 1 Sep 2026 03:04:23 +0000 Subject: [PATCH 27/76] Update dependency com.mycila:license-maven-plugin to v5.1.2 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 15881e9d..f449e8b1 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -68,7 +68,7 @@ com.mycila license-maven-plugin - 5.1.1 + 5.1.2 ${project.organization.url} From 70c35248d434103e6aca58a78595c3a5e136eeb1 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 1 Sep 2026 03:04:27 +0000 Subject: [PATCH 28/76] Update net.sourceforge.pmd to v7.27.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 30343dc4..3706fdd9 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.26.0 + 7.27.0 net.sourceforge.pmd pmd-java - 7.26.0 + 7.27.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 15881e9d..f2048884 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.26.0 + 7.27.0 net.sourceforge.pmd pmd-java - 7.26.0 + 7.27.0 From 77fb7552e27b74d6399f3b08cd4516adbb5e2830 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 1 Sep 2026 03:04:29 +0000 Subject: [PATCH 29/76] Update dependency com.puppycrawl.tools:checkstyle to v14 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 30343dc4..cb336fe1 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 13.10.0 + 14.1.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 15881e9d..71687b47 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 13.10.0 + 14.1.0 From 3070996074a88089b368915929aa397db28a84a4 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 1 Sep 2026 16:45:03 +0200 Subject: [PATCH 30/76] PMD 7.27: Fix deprecation --- .config/pmd/java/ruleset.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 8dde42bc..4c72bf23 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -169,7 +169,7 @@ - + From ac8a7771515093356b32850b5f7fb8e677a4bc3b Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 15 Sep 2026 16:55:56 +0200 Subject: [PATCH 31/76] Add centralized contribution guide with AI policy attached to it Context: https://github.com/xdev-software/github/issues/41 `DEVELOPING.md` is meant for project specific development instructions e.g. what is required for building, releasing and so on --- CONTRIBUTING.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ DEVELOPING.md | 0 2 files changed, 56 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 DEVELOPING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..0dfa56b1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,56 @@ +# Contributing + +We would absolutely love to get the community involved and we welcome any form of contributions - comments and questions, issues, pull request and anything that you build and share using our project. + +## Communication channels +* Communication is primarily done using issues. +* If you need support as soon as possible and you can't wait for any pull request, feel free to use [our support](https://xdev.software/en/services-products/support). +* As a last resort measure or on otherwise important matter you may also [contact us directly](https://xdev.software/en/about-us/contact). + +## Ways to help +* **Report bugs**
Create an issue and send a pull request +* **Send pull requests**
If you want to contribute code, check out the development instructions below. + * However when contributing larger new features, please first discuss the change you wish to make via issue with the owners of this repository before making it.
Otherwise your work might be rejected and your effort was pointless. + * Please also note that your pull request might not be noticed immediately when it's not attached to an issue. + +We also encourage you to read the [contribution instructions by GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). + +## Developing + +Project specific development instructions can be found in [DEVELOPING.md](./DEVELOPING.md) + + +## On AI use / LLM generated content + +_Our reason for the strict policy is due to [unqualified people using the technology](https://en.wikipedia.org/wiki/AI_slop)._ + +This policy was inspired by the AI policies of `curl`, `MESA`, `matplotlib` and `Ghostty`. + +### Issues and security reports + +If you asked an AI tool to find problems in the project, you must make sure to reveal this fact in your issue. + +You must also double-check the findings carefully before reporting them to us to validate that the issue is indeed existing and working exactly as the AI says. AI-based tools frequently generate inaccurate or fabricated results. + +Further: It is rarely a good idea to copy and paste an AI generated report to the project. Those are typically too wordy and rarely to the point - in addition to the common fabricated details.
+If you actually find a problem with an AI and you have verified it yourself to be true: Write the issue/report yourself and explain the problem as you have learned it. This makes sure the AI-generated inaccuracies and invented issues are filtered out early before they waste more people's time. + +As we take security reports seriously, we investigate each report with priority. This work is both time and energy consuming and pulls us away from doing other meaningful work. Fake and otherwise made up security problems effectively prevent us from doing real project work and make us waste time and resources. + +We will ban and report users who submit made up fake reports. + +### Pull requests + +When contributing content to the project, you give us permission to use it as-is and you must make sure you are allowed to distribute it to us. By submitting a change to us, you agree that the changes can and should be adopted and get redistributed under the project's license. Authors should be explicitly aware that the burden is on them to ensure no unlicensed code is submitted to the project. + +This is independent if AI is used or not. + +When contributing a pull request you should of course always make sure that the proposal is good quality and a best effort that follows our guidelines. A basic rule of thumb is that if someone can spot that the contribution was made with the help of AI, you have more work to do. + +We can accept code written with the help of AI into the project, but the code must still follow coding standards, be written clearly and adhere to all the normal requirements we have. + +### Further notices + +* External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported. +* For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed. +* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by` instead. diff --git a/DEVELOPING.md b/DEVELOPING.md new file mode 100644 index 00000000..e69de29b From 1cb7ab0211196cbd5516b66479f3b8effc844758 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:06:10 +0200 Subject: [PATCH 32/76] Update renovate.json5 --- renovate.json5 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/renovate.json5 b/renovate.json5 index 2874d457..1e1f3c05 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -2,6 +2,16 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "rebaseWhen": "behind-base-branch", "packageRules": [ + { + "description": "Don't manage Java version in actions", + "matchDepTypes": [ + "uses-with" + ], + "matchDatasources": [ + "java-version" + ], + "enabled": false + }, { "description": "Ignore project internal dependencies", "packagePattern": "^software.xdev:template-placeholder", From 8a4f1728f3a93e72f7d0ff379c0c6bef7f9e4370 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:15:26 +0200 Subject: [PATCH 33/76] Fix typo and reword --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0dfa56b1..54d09e02 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,4 +53,4 @@ We can accept code written with the help of AI into the project, but the code mu * External AI tooling (e.g. bots, agents) directly interacting with the project - without a human - are not allowed and will be banned and reported. * For commit messages the same guidelines as described above for issues apply - fully generated messages are not allowed. -* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by` instead. +* AI assisted/generated commits can NOT use the `Co-authored-by` tag as this is reserved for humans - use `Assisted-by`/`Generated-by` instead. From 54a6f6050493e325bab4584dd507df720c859f3e Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:29:06 +0200 Subject: [PATCH 34/76] Fill in DEVELOPING.md --- DEVELOPING.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/DEVELOPING.md b/DEVELOPING.md index e69de29b..a8520823 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -0,0 +1,56 @@ +### Software Requirements +You should have the following things installed: +* Git +* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/)) +* Maven (Note that the [Maven Wrapper](https://maven.apache.org/tools/wrapper/) is shipped with the repo) + +### Recommended setup +* Install `IntelliJ` + * Recommended setup actions + * Disable not needed plugins + * Disable [telemetry](https://www.jetbrains.com/help/idea/settings-usage-statistics.html) + * Configure the available memory + * Import the project + * You will get prompted to install the required plugins + * Ensure that everything is encoded in `UTF-8` + * Ensure that the JDK/Java-Version is correct + + +## Releasing [![Build](https://img.shields.io/github/actions/workflow/status/xdev-software/template-placeholder/release.yml?branch=master)](https://github.com/xdev-software/template-placeholder/actions/workflows/release.yml) + +Before releasing: +* Consider doing a [test-deployment](https://github.com/xdev-software/template-placeholder/actions/workflows/test-deploy.yml?query=branch%3Adevelop) before actually releasing. +* Check the [changelog](CHANGELOG.md) + +If the ``develop`` is ready for release, create a pull request to the ``master``-Branch and merge the changes + +When the release is finished do the following: +* Merge the auto-generated PR (with the incremented version number) back into the ``develop`` + +### Release failures + +There are 2 modes of release failure: +1. The remote server was e.g. down and non of the artifacts got published +2. There was a build failure during release and only parts of the artifacts got released + +In case 1 we can re-release the existing version,
in case 2 we have to release a new version when we can't get the artifacts deleted (as is the case with Maven Central) + +#### How-to: Re-Releasing an existing version + +1. Delete the release on GitHub +2. Delete the release Git tag from the repo (locally and remote!) +3. Delete the ``master``-Branch and re-create it from the ``develop`` branch (or reset it to the state before the release-workflow commits have been done) + * This requires __temporarily__ removing the branch protection + * Once this was done a new release is triggered immediately! + +#### How-to: Releasing a new version + +1. Merge the ``master`` branch back into ``develop`` (or another temporary branch) +2. Make sure all master branch versions are prepared for a new release
e.g. if the broken release was ``1.0.0`` the version should now be at ``1.0.1-SNAPSHOT`` - the ``SNAPSHOT`` is important for the workflow! +3. Mark the broken release as broken e.g. inside the Changelog, GitHub Release page, etc.
+You can use something like this: + ``` + > [!WARNING] + > This release is broken as my cat accidentally clicked the abort button during the process + ``` +4. Merge the changes back into the ``master`` branch to trigger a new release From 8fcd26b21e515237ff65ce7401613e1c7e9552dc Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:50:52 +0200 Subject: [PATCH 35/76] Use the power of parallelization in GHA --- .github/workflows/check-build.yml | 27 ++++++++++++++------------- .github/workflows/release.yml | 29 +++++++++++++++-------------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index da6afa9b..1b756084 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -33,19 +33,20 @@ jobs: steps: - uses: actions/checkout@v7 - - name: Set up JDK - uses: actions/setup-java@v6 - with: - distribution: ${{ matrix.distribution }} - java-version: ${{ matrix.java }} - - - name: Cache Maven - uses: actions/cache@v6 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-mvn-build- + - parallel: + - name: Set up JDK + uses: actions/setup-java@v6 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java }} + + - name: Cache Maven + uses: actions/cache@v6 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-mvn-build- - name: Build with Maven run: ./mvnw -B clean package diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3ce89fcf..008ec2ca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,20 +20,21 @@ jobs: steps: - uses: actions/checkout@v7 - - name: Set up JDK - uses: actions/setup-java@v6 - with: - java-version: '17' - distribution: 'temurin' - - # Try to reuse existing cache from check-build - - name: Try restore Maven Cache - uses: actions/cache/restore@v6 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-mvn-build- + - parallel: + - name: Set up JDK + uses: actions/setup-java@v6 + with: + java-version: '17' + distribution: 'temurin' + + # Try to reuse existing cache from check-build + - name: Try restore Maven Cache + uses: actions/cache/restore@v6 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-mvn-build- - name: Build with Maven run: ./mvnw -B clean package -T2C From 66af1c957676f95efbf71147ea909ee2638de5f4 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 13:53:53 +0200 Subject: [PATCH 36/76] Use parallelization in GHA --- .github/workflows/check-build.yml | 78 ++++++++++++++++--------------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 1b756084..c28c5eac 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -87,27 +87,28 @@ jobs: steps: - uses: actions/checkout@v7 - - name: Set up JDK - uses: actions/setup-java@v6 - with: - distribution: ${{ matrix.distribution }} - java-version: ${{ matrix.java }} + - parallel: + - name: Set up JDK + uses: actions/setup-java@v6 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java }} - - name: Cache Maven - uses: actions/cache@v6 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-mvn-checkstyle- + - name: Cache Maven + uses: actions/cache@v6 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-mvn-checkstyle- - - name: CheckStyle Cache - uses: actions/cache@v6 - with: - path: '**/target/checkstyle-cachefile' - key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-checkstyle- + - name: CheckStyle Cache + uses: actions/cache@v6 + with: + path: '**/target/checkstyle-cachefile' + key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-checkstyle- - name: Run Checkstyle run: ./mvnw -B checkstyle:check -P checkstyle -T2C @@ -123,27 +124,28 @@ jobs: steps: - uses: actions/checkout@v7 - - name: Set up JDK - uses: actions/setup-java@v6 - with: - distribution: ${{ matrix.distribution }} - java-version: ${{ matrix.java }} + - parallel: + - name: Set up JDK + uses: actions/setup-java@v6 + with: + distribution: ${{ matrix.distribution }} + java-version: ${{ matrix.java }} - - name: Cache Maven - uses: actions/cache@v6 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-mvn-pmd- + - name: Cache Maven + uses: actions/cache@v6 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-mvn-pmd- - - name: PMD Cache - uses: actions/cache@v6 - with: - path: '**/target/pmd/pmd.cache' - key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-pmd- + - name: PMD Cache + uses: actions/cache@v6 + with: + path: '**/target/pmd/pmd.cache' + key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-pmd- - name: Run PMD run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C From 5fca13464538fa3e76c2c373851488c2945f515f Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Sep 2026 14:17:15 +0200 Subject: [PATCH 37/76] Remove dynamically inserted project --- DEVELOPING.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DEVELOPING.md b/DEVELOPING.md index a8520823..10d175e1 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -16,16 +16,16 @@ You should have the following things installed: * Ensure that the JDK/Java-Version is correct -## Releasing [![Build](https://img.shields.io/github/actions/workflow/status/xdev-software/template-placeholder/release.yml?branch=master)](https://github.com/xdev-software/template-placeholder/actions/workflows/release.yml) +## Releasing Before releasing: -* Consider doing a [test-deployment](https://github.com/xdev-software/template-placeholder/actions/workflows/test-deploy.yml?query=branch%3Adevelop) before actually releasing. +* Consider doing a `test-deployment` before actually releasing. * Check the [changelog](CHANGELOG.md) -If the ``develop`` is ready for release, create a pull request to the ``master``-Branch and merge the changes +If the `develop` is ready for release, create a pull request to the `master`-Branch and merge the changes When the release is finished do the following: -* Merge the auto-generated PR (with the incremented version number) back into the ``develop`` +* Merge the auto-generated PR (with the incremented version number) back into the `develop` ### Release failures From 674e85b2c6b4bfaa07f10c8ddd55b3c42196ed95 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 11:41:37 +0200 Subject: [PATCH 38/76] Move poms --- .../template-placeholder-demo}/pom.xml | 0 {template-placeholder => src/template-placeholder}/pom.xml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {template-placeholder-demo => demos/template-placeholder-demo}/pom.xml (100%) rename {template-placeholder => src/template-placeholder}/pom.xml (100%) diff --git a/template-placeholder-demo/pom.xml b/demos/template-placeholder-demo/pom.xml similarity index 100% rename from template-placeholder-demo/pom.xml rename to demos/template-placeholder-demo/pom.xml diff --git a/template-placeholder/pom.xml b/src/template-placeholder/pom.xml similarity index 100% rename from template-placeholder/pom.xml rename to src/template-placeholder/pom.xml From 93e85d1b8f55a032a0b738105747f654e0680c32 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 11:45:24 +0200 Subject: [PATCH 39/76] Migrate root pom --- pom.xml | 52 +++++++++++++++++++++++++++----- src/template-placeholder/pom.xml | 37 ----------------------- 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/pom.xml b/pom.xml index a8116cfe..b4ded46f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,25 +5,43 @@ 4.0.0 software.xdev - template-placeholder-root + root 1.0.0-SNAPSHOT pom - - XDEV Software - https://xdev.software - - - template-placeholder - template-placeholder-demo + src + demos + 17 + ${javaVersion} + UTF-8 UTF-8 + + https://github.com/xdev-software/template-placeholder + scm:git:https://github.com/xdev-software/template-placeholder.git + + + 2026 + + + XDEV Software + https://xdev.software + + + + + XDEV Software + XDEV Software + https://xdev.software + + + Apache-2.0 @@ -32,6 +50,24 @@ + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.16.0 + + ${maven.compiler.release} + + -proc:none + + + + + + + checkstyle diff --git a/src/template-placeholder/pom.xml b/src/template-placeholder/pom.xml index f4755caa..d8eb4406 100644 --- a/src/template-placeholder/pom.xml +++ b/src/template-placeholder/pom.xml @@ -11,43 +11,6 @@ template-placeholder template-placeholder - https://github.com/xdev-software/template-placeholder - - - https://github.com/xdev-software/template-placeholder - scm:git:https://github.com/xdev-software/template-placeholder.git - - - 2023 - - - XDEV Software - https://xdev.software - - - - - XDEV Software - XDEV Software - https://xdev.software - - - - - - Apache-2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - 17 - ${javaVersion} - - UTF-8 - UTF-8 - From 5d6bf82ed96dc205d770041445771355efe50c1d Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 11:54:32 +0200 Subject: [PATCH 40/76] Create src pom.xml and hand over control to it --- src/pom.xml | 276 +++++++++++++++++++++++++++++++ src/skip-publish.marker | 0 src/template-placeholder/pom.xml | 235 +------------------------- 3 files changed, 282 insertions(+), 229 deletions(-) create mode 100644 src/pom.xml create mode 100644 src/skip-publish.marker diff --git a/src/pom.xml b/src/pom.xml new file mode 100644 index 00000000..f3e85b55 --- /dev/null +++ b/src/pom.xml @@ -0,0 +1,276 @@ + + + 4.0.0 + + + software.xdev + root + 1.0.0-SNAPSHOT + + + src + pom + + + template-placeholder + + + + + + + org.apache.maven.plugins + maven-site-plugin + 4.0.0-M16 + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.9.0 + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.12.0 + + + org.apache.maven.plugins + maven-source-plugin + 3.4.0 + + + + org.apache.maven.plugins + maven-install-plugin + 3.1.4 + + + org.apache.maven.plugins + maven-deploy-plugin + 3.1.4 + + + + org.codehaus.mojo + flatten-maven-plugin + 1.8.0 + + + org.apache.maven.plugins + maven-gpg-plugin + 3.2.8 + + + org.sonatype.central + central-publishing-maven-plugin + 0.11.0 + + + + + + com.mycila + license-maven-plugin + 5.1.2 + + + ${project.organization.url} + + + +
com/mycila/maven/plugin/license/templates/APACHE-2.txt
+ + src/main/java/** + src/test/java/** + +
+
+
+ + + first + + format + + process-sources + + +
+ + + org.apache.maven.plugins + maven-javadoc-plugin + + + attach-javadocs + package + + jar + + + + + true + none + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + package + + jar-no-fork + + + + +
+
+ + + do-not-publish-this + + + skip-publish.marker + + + + + + org.codehaus.mojo + flatten-maven-plugin + + true + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + + + + org.apache.maven.plugins + maven-source-plugin + + true + + + + + maven-install-plugin + + true + + + + maven-deploy-plugin + + true + + + + + org.apache.maven.plugins + maven-gpg-plugin + + true + + + + org.sonatype.central + central-publishing-maven-plugin + + true + + + + + + + pmd + + true + + + + publish + + true + true + + + + + org.codehaus.mojo + flatten-maven-plugin + + ossrh + + + + flatten + process-resources + + flatten + + + + + + org.apache.maven.plugins + maven-gpg-plugin + + + sign-artifacts + verify + + sign + + + + + + --pinentry-mode + loopback + + + + + + + + + + publish-sonatype-central-portal + + + + org.sonatype.central + central-publishing-maven-plugin + true + + sonatype-central-portal + true + + + + + + + site + + true + true + + + +
diff --git a/src/skip-publish.marker b/src/skip-publish.marker new file mode 100644 index 00000000..e69de29b diff --git a/src/template-placeholder/pom.xml b/src/template-placeholder/pom.xml index d8eb4406..4df605f9 100644 --- a/src/template-placeholder/pom.xml +++ b/src/template-placeholder/pom.xml @@ -4,239 +4,16 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - software.xdev + + software.xdev + src + 1.0.0-SNAPSHOT + + template-placeholder - 1.0.0-SNAPSHOT jar template-placeholder template-placeholder - - - - - org.apache.maven.plugins - maven-site-plugin - 4.0.0-M16 - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 3.9.0 - - - - - - com.mycila - license-maven-plugin - 5.1.2 - - - ${project.organization.url} - - - -
com/mycila/maven/plugin/license/templates/APACHE-2.txt
- - src/main/java/** - src/test/java/** - -
-
-
- - - first - - format - - process-sources - - -
- - - org.apache.maven.plugins - maven-compiler-plugin - 3.15.0 - - ${maven.compiler.release} - - -proc:none - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.12.0 - - - attach-javadocs - package - - jar - - - - - true - none - - - - org.apache.maven.plugins - maven-source-plugin - 3.4.0 - - - attach-sources - package - - jar-no-fork - - - - -
-
- - - publish - - - - org.codehaus.mojo - flatten-maven-plugin - 1.8.0 - - ossrh - - - - flatten - process-resources - - flatten - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 3.2.8 - - - sign-artifacts - verify - - sign - - - - - - --pinentry-mode - loopback - - - - - - - - - - publish-sonatype-central-portal - - - - org.sonatype.central - central-publishing-maven-plugin - 0.11.0 - true - - sonatype-central-portal - true - - - - - - - checkstyle - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.6.0 - - - com.puppycrawl.tools - checkstyle - 14.1.0 - - - - ../.config/checkstyle/checkstyle.xml - true - - - - - check - - - - - - - - - pmd - - - - org.apache.maven.plugins - maven-pmd-plugin - 3.28.0 - - true - true - true - - ../.config/pmd/java/ruleset.xml - - - - - net.sourceforge.pmd - pmd-core - 7.27.0 - - - net.sourceforge.pmd - pmd-java - 7.27.0 - - - - - - - - - - org.apache.maven.plugins - maven-jxr-plugin - 3.6.0 - - - - -
From 97244be029541007d28c7d3562344f312ff944b8 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 11:59:09 +0200 Subject: [PATCH 41/76] Create demos pom.xml and hand over control to it --- demos/pom.xml | 19 +++++++++++++++++++ demos/template-placeholder-demo/pom.xml | 23 ----------------------- 2 files changed, 19 insertions(+), 23 deletions(-) create mode 100644 demos/pom.xml diff --git a/demos/pom.xml b/demos/pom.xml new file mode 100644 index 00000000..f6ea5e80 --- /dev/null +++ b/demos/pom.xml @@ -0,0 +1,19 @@ + + + 4.0.0 + + + software.xdev + root + 1.0.0-SNAPSHOT + + + demos + pom + + + template-placeholder-demo + + diff --git a/demos/template-placeholder-demo/pom.xml b/demos/template-placeholder-demo/pom.xml index 06fc3187..25f46482 100644 --- a/demos/template-placeholder-demo/pom.xml +++ b/demos/template-placeholder-demo/pom.xml @@ -11,21 +11,9 @@ template-placeholder-demo - 1.0.0-SNAPSHOT jar - - XDEV Software - https://xdev.software - - - 17 - ${javaVersion} - - UTF-8 - UTF-8 - software.xdev.Application @@ -41,17 +29,6 @@ ${project.artifactId} - - org.apache.maven.plugins - maven-compiler-plugin - 3.15.0 - - ${maven.compiler.release} - - -proc:none - - - org.apache.maven.plugins maven-assembly-plugin From 09816ec9cd00b868701c6d42aea7fd7d53b24726 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 12:03:24 +0200 Subject: [PATCH 42/76] Update workflows --- .github/workflows/check-build.yml | 14 +------ .github/workflows/release.yml | 70 ++++++++++++++++++++++--------- .github/workflows/test-deploy.yml | 11 ++--- 3 files changed, 57 insertions(+), 38 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index c28c5eac..29ebdae7 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -19,9 +19,6 @@ on: - '.idea/**' - 'assets/**' -env: - DEMO_MAVEN_MODULE: ${{ github.event.repository.name }}-demo - jobs: build: runs-on: ubuntu-latest @@ -69,13 +66,6 @@ jobs: exit 1 fi - - name: Upload demo files - uses: actions/upload-artifact@v7 - with: - name: demo-files-java-${{ matrix.java }} - path: ${{ env.DEMO_MAVEN_MODULE }}/target/${{ env.DEMO_MAVEN_MODULE }}.jar - if-no-files-found: error - checkstyle: runs-on: ubuntu-latest if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }} @@ -148,10 +138,10 @@ jobs: ${{ runner.os }}-pmd- - name: Run PMD - run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C + run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -T2C - name: Run CPD (Copy Paste Detector) - run: ./mvnw -B pmd:aggregate-cpd pmd:cpd-check -P pmd -DskipTests -T2C + run: ./mvnw -B pmd:aggregate-cpd pmd:cpd-check -P pmd -T2C - name: Upload report if: ${{ !cancelled() }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 008ec2ca..cbf4d187 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,13 +4,6 @@ on: push: branches: [ master ] -env: - PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }} - -permissions: - contents: write - pull-requests: write - # DO NOT RESTORE CACHE for critical release steps to prevent a (extremely unlikely) scenario # where a supply chain attack could be achieved due to poisoned cache jobs: @@ -37,7 +30,8 @@ jobs: ${{ runner.os }}-mvn-build- - name: Build with Maven - run: ./mvnw -B clean package -T2C + run: ../mvnw -B clean package -T2C + working-directory: src - name: Check for uncommited changes run: | @@ -61,6 +55,8 @@ jobs: runs-on: ubuntu-latest needs: [check-code] timeout-minutes: 10 + permissions: + contents: write outputs: upload_url: ${{ steps.create-release.outputs.upload_url }} steps: @@ -77,10 +73,9 @@ jobs: - name: Get version id: version run: | - version=$(../mvnw help:evaluate -Dexpression=project.version -q -DforceStdout) + version=$(mvnw -B help:evaluate -Dexpression=project.version -q -DforceStdout) echo "release=$version" >> $GITHUB_OUTPUT echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} - name: Commit and Push run: | @@ -106,7 +101,7 @@ jobs: ```XML software.xdev - ${{ env.PRIMARY_MAVEN_MODULE }} + ${{ github.event.repository.name }} ${{ steps.version.outputs.release }} ``` @@ -135,8 +130,8 @@ jobs: gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - name: Publish to GitHub Packages Central - run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + run: ../mvnw -B deploy -P publish -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central + working-directory: src env: PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} @@ -152,14 +147,14 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests + run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + working-directory: src - publish-pages: + build-pages: runs-on: ubuntu-latest needs: [prepare-release] timeout-minutes: 15 @@ -188,20 +183,57 @@ jobs: ${{ runner.os }}-mvn-build- - name: Build site - run: ../mvnw -B compile site -DskipTests -T2C - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + run: ../mvnw -B compile site -P site -T2C + working-directory: src + + - name: Aggregate site + run: | + module_dirs=$(../mvnw -B -q --also-make exec:exec -Dexec.executable="pwd") + for m in "${module_dirs[@]}" + do + echo "$m/target/site -> ./target/$m" + mkdir -p ./target/$m + cp -r $m/target/site ./target/$m + done + working-directory: src + + - name: Upload pages artifact + uses: actions/upload-pages-artifact@v5 + with: + path: src/target/site - name: Deploy to Github pages uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./${{ env.PRIMARY_MAVEN_MODULE }}/target/site + publish_dir: ./src/target/site force_orphan: true + deploy-pages: + runs-on: ubuntu-latest + needs: [build-pages] + timeout-minutes: 10 + concurrency: + group: 'pages' + cancel-in-progress: false + permissions: + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 + after-release: runs-on: ubuntu-latest needs: [publish-maven] timeout-minutes: 10 + permissions: + contents: write + pull-requests: write steps: - uses: actions/checkout@v7 diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 9f665060..e4dae054 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -3,9 +3,6 @@ name: Test Deployment on: workflow_dispatch: -env: - PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }} - jobs: publish-maven: runs-on: ubuntu-latest @@ -24,8 +21,8 @@ jobs: gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - name: Publish to GitHub Packages Central - run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + run: ../mvnw -B deploy -P publish -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central + working-directory: src env: PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} @@ -41,8 +38,8 @@ jobs: gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal + working-directory: src env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }} From 41d60e63a7ef86e480792d830843594974105684 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 12:13:34 +0200 Subject: [PATCH 43/76] Correctly prefix --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cbf4d187..6ced36b5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,7 @@ jobs: - name: Get version id: version run: | - version=$(mvnw -B help:evaluate -Dexpression=project.version -q -DforceStdout) + version=$(./mvnw -B help:evaluate -Dexpression=project.version -q -DforceStdout) echo "release=$version" >> $GITHUB_OUTPUT echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT From 103406f89811d5fbeede580d657130ea65ea5e8f Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 12:15:23 +0200 Subject: [PATCH 44/76] Standardize format --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ced36b5..eee11fb9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -148,11 +148,11 @@ jobs: - name: Publish to Central Portal run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal + working-directory: src env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - working-directory: src build-pages: runs-on: ubuntu-latest From d42728ab05462f801fefce179b0e38dcc00d2325 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 18 Sep 2026 12:30:43 +0200 Subject: [PATCH 45/76] Correct artifact id --- demos/template-placeholder-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/template-placeholder-demo/pom.xml b/demos/template-placeholder-demo/pom.xml index 25f46482..4699caeb 100644 --- a/demos/template-placeholder-demo/pom.xml +++ b/demos/template-placeholder-demo/pom.xml @@ -6,7 +6,7 @@ software.xdev - template-placeholder-root + demos 1.0.0-SNAPSHOT From a9ecf33a97b4609d1dc013ce65854069dd7fe477 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 21 Sep 2026 09:22:28 +0200 Subject: [PATCH 46/76] Fix deprecation --- .github/workflows/release.yml | 10 +++++----- .github/workflows/test-deploy.yml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eee11fb9..2f410171 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -125,8 +125,8 @@ jobs: distribution: 'temurin' java-version: '17' server-id: github-central - server-password: PACKAGES_CENTRAL_TOKEN - gpg-passphrase: MAVEN_GPG_PASSPHRASE + server-password-env-var: PACKAGES_CENTRAL_TOKEN + gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - name: Publish to GitHub Packages Central @@ -142,9 +142,9 @@ jobs: distribution: 'temurin' java-version: '17' server-id: sonatype-central-portal - server-username: MAVEN_CENTRAL_USERNAME - server-password: MAVEN_CENTRAL_TOKEN - gpg-passphrase: MAVEN_GPG_PASSPHRASE + server-username-env-var: MAVEN_CENTRAL_USERNAME + server-password-env-var: MAVEN_CENTRAL_TOKEN + gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE - name: Publish to Central Portal run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index e4dae054..382f6567 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -16,8 +16,8 @@ jobs: distribution: 'temurin' java-version: '17' server-id: github-central - server-password: PACKAGES_CENTRAL_TOKEN - gpg-passphrase: MAVEN_GPG_PASSPHRASE + server-password-env-var: PACKAGES_CENTRAL_TOKEN + gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - name: Publish to GitHub Packages Central @@ -33,9 +33,9 @@ jobs: distribution: 'temurin' java-version: '17' server-id: sonatype-central-portal - server-username: MAVEN_CENTRAL_USERNAME - server-password: MAVEN_CENTRAL_TOKEN - gpg-passphrase: MAVEN_GPG_PASSPHRASE + server-username-env-var: MAVEN_CENTRAL_USERNAME + server-password-env-var: MAVEN_CENTRAL_TOKEN + gpg-passphrase-env-var: MAVEN_GPG_PASSPHRASE - name: Publish to Central Portal run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal From f962f53699cfd85d441627a880dddbe1c0ac9639 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 21 Sep 2026 13:35:55 +0200 Subject: [PATCH 47/76] Correctly ignore in renovate --- renovate.json5 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/renovate.json5 b/renovate.json5 index 1e1f3c05..d5dd7dd9 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -14,8 +14,13 @@ }, { "description": "Ignore project internal dependencies", - "packagePattern": "^software.xdev:template-placeholder", - "datasources": [ + "matchPackagePatterns": [ + "^software.xdev.*:template-placeholder", + "^software.xdev.*:demos", + "^software.xdev.*:src", + "^software.xdev.*:root" + ], + "matchDatasources": [ "maven" ], "enabled": false @@ -25,7 +30,7 @@ "matchPackagePatterns": [ "^net.sourceforge.pmd" ], - "datasources": [ + "matchDatasources": [ "maven" ], "groupName": "net.sourceforge.pmd" From 32da74502b0edd23f4328582e21b43c9552e9d92 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 21 Sep 2026 11:37:06 +0000 Subject: [PATCH 48/76] Update dependency org.apache.maven.plugins:maven-deploy-plugin to v3.2.0 --- src/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pom.xml b/src/pom.xml index f3e85b55..18a8c721 100644 --- a/src/pom.xml +++ b/src/pom.xml @@ -50,7 +50,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.1.4 + 3.2.0 From bc0ee5821bd422ffb36bd47ea4715d611946da80 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 21 Sep 2026 11:37:09 +0000 Subject: [PATCH 49/76] Update dependency org.apache.maven.plugins:maven-install-plugin to v3.2.0 --- src/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pom.xml b/src/pom.xml index f3e85b55..ec8978d8 100644 --- a/src/pom.xml +++ b/src/pom.xml @@ -45,7 +45,7 @@ org.apache.maven.plugins maven-install-plugin - 3.1.4 + 3.2.0 org.apache.maven.plugins From c46e008b50130f9ac7ea1a0833259728ff72f8c6 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 21 Sep 2026 14:32:07 +0200 Subject: [PATCH 50/76] Fix site aggregation --- .github/workflows/release.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2f410171..4aed8680 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -188,9 +188,28 @@ jobs: - name: Aggregate site run: | - module_dirs=$(../mvnw -B -q --also-make exec:exec -Dexec.executable="pwd") - for m in "${module_dirs[@]}" + # Compile is required, otherwise dep resolution failure + echo "Looking up modules" + module_dirs=($(../mvnw -B -q --also-make compile exec:exec -Dexec.executable="pwd" -Dmaven.main.skip)) + base_module_full="${module_dirs[0]}" + + echo "Found modules - Src: $base_module_full" + + base_cut_away_length=$((${#base_module_full}+1)) + + echo "BasePathLengthToCutAway: $base_cut_away_length" + + is_first=true + for full_module_path in "${module_dirs[@]}" do + if [ $is_first ]; then + echo "Skipping initial/base module" + is_first=false + continue + fi + + m=${full_module_path:$base_cut_away_length} + echo "$m/target/site -> ./target/$m" mkdir -p ./target/$m cp -r $m/target/site ./target/$m From 4014d504bed7304952574e000663bd1f20dc160d Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 21 Sep 2026 14:42:53 +0200 Subject: [PATCH 51/76] Fix release problems due to incorrect urls See also https://redirect.github.com/mojohaus/flatten-maven-plugin/issues/197 --- pom.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b4ded46f..57ce9268 100644 --- a/pom.xml +++ b/pom.xml @@ -1,13 +1,15 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + child.project.url.inherit.append.path="false"> 4.0.0 software.xdev root 1.0.0-SNAPSHOT pom + https://github.com/xdev-software/template-placeholder src @@ -22,7 +24,10 @@ UTF-8 - + https://github.com/xdev-software/template-placeholder scm:git:https://github.com/xdev-software/template-placeholder.git From 0419f3239f475c8b201498c072c6348fa3823c28 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 21 Sep 2026 15:16:54 +0200 Subject: [PATCH 52/76] Remove deploy to gh pages duplicated step --- .github/workflows/release.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4aed8680..669ecacb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -221,13 +221,6 @@ jobs: with: path: src/target/site - - name: Deploy to Github pages - uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./src/target/site - force_orphan: true - deploy-pages: runs-on: ubuntu-latest needs: [build-pages] From 242736287263e782dd2bbbf388f20a97428b0fa0 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 21 Sep 2026 15:43:12 +0200 Subject: [PATCH 53/76] Fix if statement --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 669ecacb..7f9ada7b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -202,7 +202,7 @@ jobs: is_first=true for full_module_path in "${module_dirs[@]}" do - if [ $is_first ]; then + if [ $is_first = true ]; then echo "Skipping initial/base module" is_first=false continue From b0f46f27b20fcf2150f8f79e9eb99db4177a4755 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 09:33:09 +0200 Subject: [PATCH 54/76] Fix launcher --- .run/Run Demo.run.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/.run/Run Demo.run.xml b/.run/Run Demo.run.xml index 5fb2bc27..c2f79ef5 100644 --- a/.run/Run Demo.run.xml +++ b/.run/Run Demo.run.xml @@ -2,7 +2,6 @@ - 2026 + 2023 XDEV Software diff --git a/src/pom.xml b/src/pom.xml index c48cfe00..1ad6d947 100644 --- a/src/pom.xml +++ b/src/pom.xml @@ -4,63 +4,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 -<<<<<<<< HEAD:chartjs-java-model/pom.xml - software.xdev - chartjs-java-model - 3.0.3-SNAPSHOT - jar - - chartjs-java-model - chartjs-java-model - https://github.com/xdev-software/chartjs-java-model - - - https://github.com/xdev-software/chartjs-java-model - scm:git:https://github.com/xdev-software/chartjs-java-model.git - - - 2023 - - - XDEV Software - https://xdev.software - - - - - XDEV Software - XDEV Software - https://xdev.software - - - - - - Apache-2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - 17 - ${javaVersion} - - UTF-8 - UTF-8 - - 2.0.18 - - 2.26.0 - - - true - -======== software.xdev root - 1.0.0-SNAPSHOT + 3.0.3-SNAPSHOT src @@ -69,79 +16,6 @@ template-placeholder ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:src/pom.xml - - - - tools.jackson.core - jackson-databind - 3.2.0 - - - - - - org.slf4j - slf4j-api - ${slf4j-version} - test - - - org.slf4j - jul-to-slf4j - ${slf4j-version} - test - - - org.apache.logging.log4j - log4j-core - ${log4j-version} - test - - - org.apache.logging.log4j - log4j-slf4j2-impl - ${log4j-version} - test - - - - - org.junit.jupiter - junit-jupiter - 6.1.0 - test - - - - - org.testcontainers - testcontainers - 2.0.5 - test - - - software.xdev - testcontainers-selenium - 2.0.0 - test - - - - - org.seleniumhq.selenium - selenium-chrome-driver - 4.45.0 - test - - - - io.opentelemetry - * - - - - @@ -256,24 +130,10 @@ - - - org.apache.maven.plugins - maven-surefire-plugin - 3.5.6 - - ${skipTests} - - -<<<<<<<< HEAD:chartjs-java-model/pom.xml - run-integration-tests - - false -======== do-not-publish-this @@ -339,18 +199,14 @@ pmd true ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:src/pom.xml publish -<<<<<<<< HEAD:chartjs-java-model/pom.xml -======== true true ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:src/pom.xml diff --git a/src/template-placeholder/pom.xml b/src/template-placeholder/pom.xml index 4df605f9..57f9c0be 100644 --- a/src/template-placeholder/pom.xml +++ b/src/template-placeholder/pom.xml @@ -6,14 +6,115 @@ software.xdev - src - 1.0.0-SNAPSHOT + root + 3.0.3-SNAPSHOT - - template-placeholder + + chartjs-java-model jar - template-placeholder - template-placeholder + chartjs-java-model + chartjs-java-model + + + 2.0.18 + + 2.26.0 + + + true + + + + + tools.jackson.core + jackson-databind + 3.2.0 + + + + + + org.slf4j + slf4j-api + ${slf4j-version} + test + + + org.slf4j + jul-to-slf4j + ${slf4j-version} + test + + + org.apache.logging.log4j + log4j-core + ${log4j-version} + test + + + org.apache.logging.log4j + log4j-slf4j2-impl + ${log4j-version} + test + + + + + org.junit.jupiter + junit-jupiter + 6.1.0 + test + + + + + org.testcontainers + testcontainers + 2.0.5 + test + + + software.xdev + testcontainers-selenium + 2.0.0 + test + + + + + org.seleniumhq.selenium + selenium-chrome-driver + 4.45.0 + test + + + + io.opentelemetry + * + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.6.0 + + ${skipTests} + + + + + + + run-integration-tests + + false + + + From 8168f1c6019956bfe7fcf35257e5d37b9c5eefd2 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:35:56 +0200 Subject: [PATCH 57/76] Move --- .../pom.xml | 0 demos/pom.xml | 2 +- src/{template-placeholder => chartjs-java-model}/pom.xml | 0 src/pom.xml | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) rename demos/{template-placeholder-demo => chartjs-java-model-demo}/pom.xml (100%) rename src/{template-placeholder => chartjs-java-model}/pom.xml (100%) diff --git a/demos/template-placeholder-demo/pom.xml b/demos/chartjs-java-model-demo/pom.xml similarity index 100% rename from demos/template-placeholder-demo/pom.xml rename to demos/chartjs-java-model-demo/pom.xml diff --git a/demos/pom.xml b/demos/pom.xml index f6ea5e80..337361df 100644 --- a/demos/pom.xml +++ b/demos/pom.xml @@ -14,6 +14,6 @@ pom - template-placeholder-demo + chartjs-java-model-demo diff --git a/src/template-placeholder/pom.xml b/src/chartjs-java-model/pom.xml similarity index 100% rename from src/template-placeholder/pom.xml rename to src/chartjs-java-model/pom.xml diff --git a/src/pom.xml b/src/pom.xml index 1ad6d947..e6e3619a 100644 --- a/src/pom.xml +++ b/src/pom.xml @@ -14,7 +14,7 @@ pom - template-placeholder + chartjs-java-model From 862fe48c6d587eea468cbca86c5a40dc0047f0b3 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:36:52 +0200 Subject: [PATCH 58/76] Move --- chartjs-java-model-demo/pom.xml | 71 --- chartjs-java-model/pom.xml | 420 ------------------ .../main/java/software/xdev/Application.java | 0 .../chartjs/model/EnumNameToCamelCase.java | 0 .../chartjs/model/charts/AbstractChart.java | 0 .../xdev/chartjs/model/charts/BarChart.java | 0 .../chartjs/model/charts/BubbleChart.java | 0 .../xdev/chartjs/model/charts/Chart.java | 0 .../chartjs/model/charts/DoughnutChart.java | 0 .../model/charts/HomogeneousChart.java | 0 .../xdev/chartjs/model/charts/LineChart.java | 0 .../xdev/chartjs/model/charts/MixedChart.java | 0 .../xdev/chartjs/model/charts/PieChart.java | 0 .../xdev/chartjs/model/charts/PolarChart.java | 0 .../xdev/chartjs/model/charts/RadarChart.java | 0 .../chartjs/model/charts/ScatterChart.java | 0 .../xdev/chartjs/model/color/HSLAColor.java | 0 .../xdev/chartjs/model/color/RGBAColor.java | 0 .../xdev/chartjs/model/data/AbstractData.java | 0 .../xdev/chartjs/model/data/BarData.java | 0 .../xdev/chartjs/model/data/BubbleData.java | 0 .../xdev/chartjs/model/data/DoughnutData.java | 0 .../chartjs/model/data/HomogeneousData.java | 0 .../xdev/chartjs/model/data/LineData.java | 0 .../xdev/chartjs/model/data/MixedData.java | 0 .../xdev/chartjs/model/data/PieData.java | 0 .../xdev/chartjs/model/data/PolarData.java | 0 .../xdev/chartjs/model/data/RadarData.java | 0 .../xdev/chartjs/model/data/ScatterData.java | 0 .../model/datapoint/BubbleDataPoint.java | 0 .../model/datapoint/ScatterDataPoint.java | 0 .../chartjs/model/datapoint/XYDataPoint.java | 0 .../model/datapoint/XYDataPointBase.java | 0 .../dataset/BackgroundBorderHoverDataset.java | 0 .../chartjs/model/dataset/BarDataset.java | 0 .../chartjs/model/dataset/BubbleDataset.java | 0 .../xdev/chartjs/model/dataset/Dataset.java | 0 .../model/dataset/DoughnutDataset.java | 0 .../model/dataset/DoughnutDatasetBase.java | 0 .../chartjs/model/dataset/LineDataset.java | 0 .../model/dataset/LineDatasetBase.java | 0 .../chartjs/model/dataset/NumberDataset.java | 0 .../chartjs/model/dataset/PieDataset.java | 0 .../chartjs/model/dataset/PointDataset.java | 0 .../chartjs/model/dataset/PolarDataset.java | 0 .../chartjs/model/dataset/RadarDataset.java | 0 .../chartjs/model/dataset/ScatterDataset.java | 0 .../chartjs/model/enums/BorderCapStyle.java | 0 .../chartjs/model/enums/BorderJoinStyle.java | 0 .../chartjs/model/enums/BorderSkipped.java | 0 .../xdev/chartjs/model/enums/Easing.java | 0 .../xdev/chartjs/model/enums/FillMode.java | 0 .../xdev/chartjs/model/enums/FontStyle.java | 0 .../xdev/chartjs/model/enums/HoverMode.java | 0 .../xdev/chartjs/model/enums/IndexAxis.java | 0 .../xdev/chartjs/model/enums/PointStyle.java | 0 .../model/enums/ScaleLabelAlignment.java | 0 .../chartjs/model/enums/ScalesPosition.java | 0 .../model/javascript/JavaScriptFunction.java | 0 .../chartjs/model/objects/OptionalArray.java | 0 .../chartjs/model/options/BarOptions.java | 0 .../chartjs/model/options/BubbleOptions.java | 0 .../model/options/CoreInteractionOptions.java | 0 .../model/options/DoughnutOptions.java | 0 .../model/options/DoughnutOptionsBase.java | 0 .../xdev/chartjs/model/options/Font.java | 0 .../chartjs/model/options/LegendOptions.java | 0 .../chartjs/model/options/LineOptions.java | 0 .../xdev/chartjs/model/options/Options.java | 0 .../chartjs/model/options/PieOptions.java | 0 .../xdev/chartjs/model/options/Plugins.java | 0 .../chartjs/model/options/PolarOptions.java | 0 .../chartjs/model/options/RadarOptions.java | 0 .../xdev/chartjs/model/options/Title.java | 0 .../model/options/animation/Active.java | 0 .../model/options/animation/Animation.java | 0 .../options/animation/AnimationType.java | 0 .../model/options/animation/Animations.java | 0 .../options/animation/DefaultAnimation.java | 0 .../options/animation/DoughnutAnimation.java | 0 .../animation/DoughnutAnimationBase.java | 0 .../model/options/animation/PieAnimation.java | 0 .../options/animation/PolarAnimation.java | 0 .../model/options/animation/Resize.java | 0 .../chartjs/model/options/elements/Arc.java | 0 .../model/options/elements/ArcElements.java | 0 .../chartjs/model/options/elements/Bar.java | 0 .../model/options/elements/BarElements.java | 0 .../options/elements/BubbleElements.java | 0 .../chartjs/model/options/elements/Fill.java | 0 .../chartjs/model/options/elements/Line.java | 0 .../model/options/elements/LineElements.java | 0 .../chartjs/model/options/elements/Point.java | 0 .../model/options/elements/PointElements.java | 0 .../model/options/elements/RadarElements.java | 0 .../model/options/elements/RadarLine.java | 0 .../chartjs/model/options/layout/Layout.java | 0 .../chartjs/model/options/layout/Padding.java | 0 .../model/options/plugins/zoom/Zoom.java | 0 .../plugins/zoom/limits/LimitOptions.java | 0 .../plugins/zoom/limits/ScaleLimits.java | 0 .../options/plugins/zoom/package-info.java | 0 .../options/plugins/zoom/pan/PanOptions.java | 0 .../plugins/zoom/zoom/DragOptions.java | 0 .../plugins/zoom/zoom/PinchOptions.java | 0 .../plugins/zoom/zoom/WheelOptions.java | 0 .../plugins/zoom/zoom/ZoomOptions.java | 0 .../scale/AbstractCoreScaleOptions.java | 0 .../options/scale/AbstractTickOptions.java | 0 .../model/options/scale/CoreScaleOptions.java | 0 .../options/scale/GridLineConfiguration.java | 0 .../chartjs/model/options/scale/Scales.java | 0 .../model/options/scale/TickOptions.java | 0 .../AbstractCartesianScaleOptions.java | 0 .../AbstractCartesianTickOptions.java | 0 .../scale/cartesian/BorderConfiguration.java | 0 .../cartesian/CartesianScaleOptions.java | 0 .../scale/cartesian/CartesianTickOptions.java | 0 .../category/CategoryScaleOptions.java | 0 .../category/CategoryTickOptions.java | 0 .../cartesian/linear/LinearScaleOptions.java | 0 .../cartesian/linear/LinearTickOptions.java | 0 .../logarithmic/LogarithmicScaleOptions.java | 0 .../logarithmic/LogarithmicTickOptions.java | 0 .../cartesian/time/TimeScaleOptions.java | 0 .../cartesian/time/TimeScaleTickOptions.java | 0 .../time/TimeSeriesScaleOptions.java | 0 .../options/scale/radial/AngleLines.java | 0 .../options/scale/radial/PointLabels.java | 0 .../radial/RadialLinearScaleOptions.java | 0 .../scale/radial/RadialTickOptions.java | 0 .../options/tooltip/TooltipCallbacks.java | 0 .../model/options/tooltip/TooltipOptions.java | 0 .../xdev/chartjs/model/AbstractChartTest.java | 0 .../xdev/chartjs/model/BarChartTest.java | 0 .../xdev/chartjs/model/BasicChartTest.java | 0 .../chartjs/model/ChartAxisFormatTest.java | 0 .../xdev/chartjs/model/LineChartTest.java | 0 .../xdev/chartjs/model/RadialScaleTest.java | 0 .../SeleniumBrowserWebDriverContainer.java | 0 .../src/test/resources/log4j2-test.xml | 0 .../BarChartAxisTickCallback.png | Bin .../screenshotReferences/BarChartBasic.png | Bin .../screenshotReferences/BarChartFormat.png | Bin .../screenshotReferences/BarChartScale.png | Bin .../screenshotReferences/BarChartStacked.png | Bin .../BarChartStackedHorizontal.png | Bin .../BarChartStackedWithGroups.png | Bin .../screenshotReferences/BarChartTicked.png | Bin .../screenshotReferences/BubbleChartBasic.png | Bin .../DoughnutChartBasic.png | Bin .../screenshotReferences/LineChartBasic.png | Bin .../LineChartSpanGaps.png | Bin .../screenshotReferences/MixedChartBasic.png | Bin .../screenshotReferences/PieChartBasic.png | Bin .../screenshotReferences/PolarChartBasic.png | Bin .../screenshotReferences/RadarChartBasic.png | Bin .../RadarChartBasicRadialScale.png | Bin .../ScatterChartBasic.png | Bin .../src/test/resources/test-template.html | 0 160 files changed, 491 deletions(-) delete mode 100644 chartjs-java-model-demo/pom.xml delete mode 100644 chartjs-java-model/pom.xml rename {chartjs-java-model-demo => demos/chartjs-java-model-demo}/src/main/java/software/xdev/Application.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/EnumNameToCamelCase.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/BarChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/BubbleChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/Chart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/DoughnutChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/HomogeneousChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/LineChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/MixedChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/PieChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/PolarChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/RadarChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/charts/ScatterChart.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/color/HSLAColor.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/color/RGBAColor.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/AbstractData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/BarData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/BubbleData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/DoughnutData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/HomogeneousData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/LineData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/MixedData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/PieData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/PolarData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/RadarData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/data/ScatterData.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/datapoint/BubbleDataPoint.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/datapoint/ScatterDataPoint.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPoint.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPointBase.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/BackgroundBorderHoverDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/BarDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/BubbleDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/Dataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDatasetBase.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/LineDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/LineDatasetBase.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/NumberDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/PieDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/PolarDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/RadarDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/dataset/ScatterDataset.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/BorderCapStyle.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/BorderJoinStyle.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/BorderSkipped.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/Easing.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/FillMode.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/FontStyle.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/HoverMode.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/IndexAxis.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/PointStyle.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/ScaleLabelAlignment.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/enums/ScalesPosition.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/javascript/JavaScriptFunction.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/objects/OptionalArray.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/BarOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/BubbleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/CoreInteractionOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/DoughnutOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/DoughnutOptionsBase.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/Font.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/LegendOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/LineOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/Options.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/PieOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/Plugins.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/PolarOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/RadarOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/Title.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/Active.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/Animation.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/AnimationType.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/Animations.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/DefaultAnimation.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimation.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimationBase.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/PieAnimation.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/PolarAnimation.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/animation/Resize.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/Arc.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/ArcElements.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/Bar.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/BarElements.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/BubbleElements.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/Line.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/Point.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/PointElements.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/RadarElements.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/elements/RadarLine.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/layout/Layout.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/layout/Padding.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/Zoom.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/LimitOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/ScaleLimits.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/package-info.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/pan/PanOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/DragOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/PinchOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/WheelOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/ZoomOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/AbstractCoreScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/AbstractTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/CoreScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/GridLineConfiguration.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/Scales.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/TickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/BorderConfiguration.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeSeriesScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/radial/AngleLines.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/radial/PointLabels.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialLinearScaleOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialTickOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipCallbacks.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipOptions.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/BarChartTest.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/BasicChartTest.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/ChartAxisFormatTest.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/LineChartTest.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/RadialScaleTest.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/java/software/xdev/chartjs/model/container/SeleniumBrowserWebDriverContainer.java (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/log4j2-test.xml (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartFormat.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartScale.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartStacked.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartStackedHorizontal.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BarChartTicked.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/BubbleChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/DoughnutChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/LineChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/LineChartSpanGaps.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/MixedChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/PieChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/PolarChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/RadarChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/RadarChartBasicRadialScale.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/screenshotReferences/ScatterChartBasic.png (100%) rename {chartjs-java-model => src/chartjs-java-model}/src/test/resources/test-template.html (100%) diff --git a/chartjs-java-model-demo/pom.xml b/chartjs-java-model-demo/pom.xml deleted file mode 100644 index b0dcecab..00000000 --- a/chartjs-java-model-demo/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - 4.0.0 - - - software.xdev -<<<<<<<< HEAD:chartjs-java-model-demo/pom.xml - chartjs-java-model-root - 3.0.3-SNAPSHOT - - - chartjs-java-model-demo - 3.0.3-SNAPSHOT -======== - demos - 1.0.0-SNAPSHOT - - - template-placeholder-demo ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:demos/template-placeholder-demo/pom.xml - jar - - - software.xdev.Application - - - - - software.xdev - chartjs-java-model - ${project.version} - - - - - ${project.artifactId} - - - - org.apache.maven.plugins - maven-assembly-plugin - 3.8.0 - - - - ${mainClass} - - - true - - - - jar-with-dependencies - - false - - - - make-assembly - package - - single - - - - - - - diff --git a/chartjs-java-model/pom.xml b/chartjs-java-model/pom.xml deleted file mode 100644 index c48cfe00..00000000 --- a/chartjs-java-model/pom.xml +++ /dev/null @@ -1,420 +0,0 @@ - - - 4.0.0 - -<<<<<<<< HEAD:chartjs-java-model/pom.xml - software.xdev - chartjs-java-model - 3.0.3-SNAPSHOT - jar - - chartjs-java-model - chartjs-java-model - https://github.com/xdev-software/chartjs-java-model - - - https://github.com/xdev-software/chartjs-java-model - scm:git:https://github.com/xdev-software/chartjs-java-model.git - - - 2023 - - - XDEV Software - https://xdev.software - - - - - XDEV Software - XDEV Software - https://xdev.software - - - - - - Apache-2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - 17 - ${javaVersion} - - UTF-8 - UTF-8 - - 2.0.18 - - 2.26.0 - - - true - -======== - - software.xdev - root - 1.0.0-SNAPSHOT - - - src - pom - - - template-placeholder - ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:src/pom.xml - - - - tools.jackson.core - jackson-databind - 3.2.0 - - - - - - org.slf4j - slf4j-api - ${slf4j-version} - test - - - org.slf4j - jul-to-slf4j - ${slf4j-version} - test - - - org.apache.logging.log4j - log4j-core - ${log4j-version} - test - - - org.apache.logging.log4j - log4j-slf4j2-impl - ${log4j-version} - test - - - - - org.junit.jupiter - junit-jupiter - 6.1.0 - test - - - - - org.testcontainers - testcontainers - 2.0.5 - test - - - software.xdev - testcontainers-selenium - 2.0.0 - test - - - - - org.seleniumhq.selenium - selenium-chrome-driver - 4.45.0 - test - - - - io.opentelemetry - * - - - - - - - - - - org.apache.maven.plugins - maven-site-plugin - 4.0.0-M16 - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 3.9.0 - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.12.0 - - - org.apache.maven.plugins - maven-source-plugin - 3.4.0 - - - - org.apache.maven.plugins - maven-install-plugin - 3.2.0 - - - org.apache.maven.plugins - maven-deploy-plugin - 3.2.0 - - - - org.codehaus.mojo - flatten-maven-plugin - 1.8.0 - - - org.apache.maven.plugins - maven-gpg-plugin - 3.2.8 - - - org.sonatype.central - central-publishing-maven-plugin - 0.11.0 - - - - - - com.mycila - license-maven-plugin - 5.1.2 - - - ${project.organization.url} - - - -
com/mycila/maven/plugin/license/templates/APACHE-2.txt
- - src/main/java/** - src/test/java/** - -
-
-
- - - first - - format - - process-sources - - -
- - - org.apache.maven.plugins - maven-javadoc-plugin - - - attach-javadocs - package - - jar - - - - - true - none - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - package - - jar-no-fork - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 3.5.6 - - ${skipTests} - - -
-
- - -<<<<<<<< HEAD:chartjs-java-model/pom.xml - run-integration-tests - - false -======== - do-not-publish-this - - - skip-publish.marker - - - - - - org.codehaus.mojo - flatten-maven-plugin - - true - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - true - - - - org.apache.maven.plugins - maven-source-plugin - - true - - - - - maven-install-plugin - - true - - - - maven-deploy-plugin - - true - - - - - org.apache.maven.plugins - maven-gpg-plugin - - true - - - - org.sonatype.central - central-publishing-maven-plugin - - true - - - - - - - pmd - - true ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:src/pom.xml - - - - publish -<<<<<<<< HEAD:chartjs-java-model/pom.xml -======== - - true - true - ->>>>>>>> origin/update-from-template-github_com_xdev-software_standard-maven-template_master:src/pom.xml - - - - org.codehaus.mojo - flatten-maven-plugin - - ossrh - - - - flatten - process-resources - - flatten - - - - - - org.apache.maven.plugins - maven-gpg-plugin - - - sign-artifacts - verify - - sign - - - - - - --pinentry-mode - loopback - - - - - - - - - - publish-sonatype-central-portal - - - - org.sonatype.central - central-publishing-maven-plugin - true - - sonatype-central-portal - true - - - - - - - site - - true - true - - - -
diff --git a/chartjs-java-model-demo/src/main/java/software/xdev/Application.java b/demos/chartjs-java-model-demo/src/main/java/software/xdev/Application.java similarity index 100% rename from chartjs-java-model-demo/src/main/java/software/xdev/Application.java rename to demos/chartjs-java-model-demo/src/main/java/software/xdev/Application.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/EnumNameToCamelCase.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/EnumNameToCamelCase.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/EnumNameToCamelCase.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/EnumNameToCamelCase.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BarChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BarChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BarChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BarChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BubbleChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BubbleChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BubbleChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/BubbleChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/Chart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/Chart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/Chart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/Chart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/DoughnutChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/DoughnutChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/DoughnutChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/DoughnutChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/HomogeneousChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/HomogeneousChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/HomogeneousChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/HomogeneousChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/LineChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/LineChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/LineChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/LineChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/MixedChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/MixedChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/MixedChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/MixedChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PieChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PieChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PieChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PieChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PolarChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PolarChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PolarChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/PolarChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/RadarChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/RadarChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/RadarChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/RadarChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/ScatterChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/ScatterChart.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/ScatterChart.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/ScatterChart.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/HSLAColor.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/HSLAColor.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/HSLAColor.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/HSLAColor.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/RGBAColor.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/RGBAColor.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/RGBAColor.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/color/RGBAColor.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/AbstractData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/AbstractData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/AbstractData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/AbstractData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BarData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BarData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BarData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BarData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BubbleData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BubbleData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BubbleData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/BubbleData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/DoughnutData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/DoughnutData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/DoughnutData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/DoughnutData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/HomogeneousData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/HomogeneousData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/HomogeneousData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/HomogeneousData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/LineData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/LineData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/LineData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/LineData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/MixedData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/MixedData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/MixedData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/MixedData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PieData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PieData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PieData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PieData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PolarData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PolarData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PolarData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/PolarData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/RadarData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/RadarData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/RadarData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/RadarData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/ScatterData.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/ScatterData.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/ScatterData.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/data/ScatterData.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/BubbleDataPoint.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/BubbleDataPoint.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/BubbleDataPoint.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/BubbleDataPoint.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/ScatterDataPoint.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/ScatterDataPoint.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/ScatterDataPoint.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/ScatterDataPoint.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPoint.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPoint.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPoint.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPoint.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPointBase.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPointBase.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPointBase.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/datapoint/XYDataPointBase.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BackgroundBorderHoverDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BackgroundBorderHoverDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BackgroundBorderHoverDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BackgroundBorderHoverDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BarDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BarDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BarDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BarDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BubbleDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BubbleDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BubbleDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/BubbleDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/Dataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/Dataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/Dataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/Dataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDatasetBase.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDatasetBase.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDatasetBase.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/DoughnutDatasetBase.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDatasetBase.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDatasetBase.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDatasetBase.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/LineDatasetBase.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/NumberDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/NumberDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/NumberDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/NumberDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PieDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PieDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PieDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PieDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PointDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PolarDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PolarDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PolarDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/PolarDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/RadarDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/RadarDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/RadarDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/RadarDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/ScatterDataset.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/ScatterDataset.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/ScatterDataset.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/dataset/ScatterDataset.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderCapStyle.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderCapStyle.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderCapStyle.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderCapStyle.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderJoinStyle.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderJoinStyle.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderJoinStyle.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderJoinStyle.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderSkipped.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderSkipped.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderSkipped.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/BorderSkipped.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/Easing.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/Easing.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/Easing.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/Easing.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FillMode.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FillMode.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FillMode.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FillMode.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FontStyle.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FontStyle.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FontStyle.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/FontStyle.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/HoverMode.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/HoverMode.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/HoverMode.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/HoverMode.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/IndexAxis.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/IndexAxis.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/IndexAxis.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/IndexAxis.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/PointStyle.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/PointStyle.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/PointStyle.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/PointStyle.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScaleLabelAlignment.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScaleLabelAlignment.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScaleLabelAlignment.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScaleLabelAlignment.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScalesPosition.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScalesPosition.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScalesPosition.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/enums/ScalesPosition.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/javascript/JavaScriptFunction.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/javascript/JavaScriptFunction.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/javascript/JavaScriptFunction.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/javascript/JavaScriptFunction.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/objects/OptionalArray.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/objects/OptionalArray.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/objects/OptionalArray.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/objects/OptionalArray.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BarOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BarOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BarOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BarOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BubbleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BubbleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BubbleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/BubbleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/CoreInteractionOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/CoreInteractionOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/CoreInteractionOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/CoreInteractionOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptionsBase.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptionsBase.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptionsBase.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/DoughnutOptionsBase.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Font.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Font.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Font.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Font.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LegendOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LegendOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LegendOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LegendOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/LineOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Options.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Options.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Options.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Options.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PieOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PieOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PieOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PieOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Plugins.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Plugins.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Plugins.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Plugins.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PolarOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PolarOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PolarOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/PolarOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/RadarOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/RadarOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/RadarOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/RadarOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Title.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Title.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Title.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/Title.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Active.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Active.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Active.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Active.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animation.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animation.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animation.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animation.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/AnimationType.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/AnimationType.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/AnimationType.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/AnimationType.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animations.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animations.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animations.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Animations.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DefaultAnimation.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DefaultAnimation.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DefaultAnimation.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DefaultAnimation.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimation.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimation.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimation.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimation.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimationBase.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimationBase.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimationBase.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/DoughnutAnimationBase.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PieAnimation.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PieAnimation.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PieAnimation.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PieAnimation.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PolarAnimation.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PolarAnimation.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PolarAnimation.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/PolarAnimation.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Resize.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Resize.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Resize.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/animation/Resize.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Arc.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Arc.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Arc.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Arc.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/ArcElements.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/ArcElements.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/ArcElements.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/ArcElements.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Bar.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Bar.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Bar.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Bar.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BarElements.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BarElements.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BarElements.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BarElements.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BubbleElements.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BubbleElements.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BubbleElements.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/BubbleElements.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Fill.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Line.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/LineElements.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Point.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Point.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Point.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/Point.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/PointElements.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/PointElements.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/PointElements.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/PointElements.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarElements.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarElements.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarElements.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarElements.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarLine.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarLine.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarLine.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/elements/RadarLine.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Layout.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Layout.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Layout.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Layout.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Padding.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Padding.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Padding.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/layout/Padding.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/Zoom.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/Zoom.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/Zoom.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/Zoom.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/LimitOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/LimitOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/LimitOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/LimitOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/ScaleLimits.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/ScaleLimits.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/ScaleLimits.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/limits/ScaleLimits.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/package-info.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/package-info.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/package-info.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/package-info.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/pan/PanOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/pan/PanOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/pan/PanOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/pan/PanOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/DragOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/DragOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/DragOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/DragOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/PinchOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/PinchOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/PinchOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/PinchOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/WheelOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/WheelOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/WheelOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/WheelOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/ZoomOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/ZoomOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/ZoomOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/plugins/zoom/zoom/ZoomOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractCoreScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractCoreScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractCoreScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractCoreScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/AbstractTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/CoreScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/CoreScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/CoreScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/CoreScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/GridLineConfiguration.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/GridLineConfiguration.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/GridLineConfiguration.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/GridLineConfiguration.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/Scales.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/Scales.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/Scales.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/Scales.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/TickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/TickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/TickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/TickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/AbstractCartesianTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/BorderConfiguration.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/BorderConfiguration.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/BorderConfiguration.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/BorderConfiguration.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/CartesianTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/category/CategoryTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/linear/LinearTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/logarithmic/LogarithmicTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeScaleTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeSeriesScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeSeriesScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeSeriesScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/cartesian/time/TimeSeriesScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/AngleLines.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/AngleLines.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/AngleLines.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/AngleLines.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/PointLabels.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/PointLabels.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/PointLabels.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/PointLabels.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialLinearScaleOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialLinearScaleOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialLinearScaleOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialLinearScaleOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialTickOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialTickOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialTickOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/scale/radial/RadialTickOptions.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipCallbacks.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipCallbacks.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipCallbacks.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipCallbacks.java diff --git a/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipOptions.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipOptions.java similarity index 100% rename from chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipOptions.java rename to src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/options/tooltip/TooltipOptions.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BarChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BarChartTest.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/BarChartTest.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BarChartTest.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/BasicChartTest.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/ChartAxisFormatTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/ChartAxisFormatTest.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/ChartAxisFormatTest.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/ChartAxisFormatTest.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/RadialScaleTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/RadialScaleTest.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/RadialScaleTest.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/RadialScaleTest.java diff --git a/chartjs-java-model/src/test/java/software/xdev/chartjs/model/container/SeleniumBrowserWebDriverContainer.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/container/SeleniumBrowserWebDriverContainer.java similarity index 100% rename from chartjs-java-model/src/test/java/software/xdev/chartjs/model/container/SeleniumBrowserWebDriverContainer.java rename to src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/container/SeleniumBrowserWebDriverContainer.java diff --git a/chartjs-java-model/src/test/resources/log4j2-test.xml b/src/chartjs-java-model/src/test/resources/log4j2-test.xml similarity index 100% rename from chartjs-java-model/src/test/resources/log4j2-test.xml rename to src/chartjs-java-model/src/test/resources/log4j2-test.xml diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartFormat.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartFormat.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartFormat.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartFormat.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartScale.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartScale.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartScale.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartScale.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStacked.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStacked.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartStacked.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStacked.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedHorizontal.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedHorizontal.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedHorizontal.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedHorizontal.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BarChartTicked.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartTicked.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BarChartTicked.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartTicked.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/BubbleChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BubbleChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/BubbleChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/BubbleChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/DoughnutChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/DoughnutChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/DoughnutChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/DoughnutChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/LineChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/LineChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/LineChartSpanGaps.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartSpanGaps.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/LineChartSpanGaps.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartSpanGaps.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/PieChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/PieChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/PieChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/PieChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/PolarChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/PolarChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/PolarChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/PolarChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasic.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasicRadialScale.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasicRadialScale.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasicRadialScale.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/RadarChartBasicRadialScale.png diff --git a/chartjs-java-model/src/test/resources/screenshotReferences/ScatterChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/ScatterChartBasic.png similarity index 100% rename from chartjs-java-model/src/test/resources/screenshotReferences/ScatterChartBasic.png rename to src/chartjs-java-model/src/test/resources/screenshotReferences/ScatterChartBasic.png diff --git a/chartjs-java-model/src/test/resources/test-template.html b/src/chartjs-java-model/src/test/resources/test-template.html similarity index 100% rename from chartjs-java-model/src/test/resources/test-template.html rename to src/chartjs-java-model/src/test/resources/test-template.html From 76401b7505947795da28a6112141873ac1434e02 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:39:20 +0200 Subject: [PATCH 59/76] Typo --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index 57f9c0be..69d2c5f2 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -115,6 +115,6 @@ false - +
From a298386dd381cae056b666cccdffba0e87253304 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:40:06 +0200 Subject: [PATCH 60/76] Bump version --- CHANGELOG.md | 4 ++++ demos/chartjs-java-model-demo/pom.xml | 2 +- pom.xml | 2 +- src/chartjs-java-model/pom.xml | 2 +- src/pom.xml | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c066b9f..c7917b37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 3.1.0 +* Internal restructuring +* Updated dependencies + # 3.0.2 * Updated dependencies diff --git a/demos/chartjs-java-model-demo/pom.xml b/demos/chartjs-java-model-demo/pom.xml index 8b6a356c..49e0ebb0 100644 --- a/demos/chartjs-java-model-demo/pom.xml +++ b/demos/chartjs-java-model-demo/pom.xml @@ -7,7 +7,7 @@ software.xdev demos - 3.0.3-SNAPSHOT + 3.1.0-SNAPSHOT chartjs-java-model-demo diff --git a/pom.xml b/pom.xml index 668f0503..3d0a00f8 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ software.xdev root - 3.0.3-SNAPSHOT + 3.1.0-SNAPSHOT pom https://github.com/xdev-software/template-placeholder diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index 69d2c5f2..2503f034 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -7,7 +7,7 @@ software.xdev root - 3.0.3-SNAPSHOT + 3.1.0-SNAPSHOT chartjs-java-model diff --git a/src/pom.xml b/src/pom.xml index e6e3619a..8e0f0511 100644 --- a/src/pom.xml +++ b/src/pom.xml @@ -7,7 +7,7 @@ software.xdev root - 3.0.3-SNAPSHOT + 3.1.0-SNAPSHOT src From 7e6bd20bd838a9d10f09fc7faffff8be90d86ff7 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:41:53 +0200 Subject: [PATCH 61/76] Fix pom model --- demos/pom.xml | 2 +- src/chartjs-java-model/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/demos/pom.xml b/demos/pom.xml index 337361df..ae104f82 100644 --- a/demos/pom.xml +++ b/demos/pom.xml @@ -7,7 +7,7 @@ software.xdev root - 1.0.0-SNAPSHOT + 3.1.0-SNAPSHOT demos diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index 2503f034..efc21fd1 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -6,7 +6,7 @@ software.xdev - root + src 3.1.0-SNAPSHOT From 14d2f69d4547a6a8a49fb1822df9580322ff762c Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:47:59 +0200 Subject: [PATCH 62/76] Cache images --- .github/workflows/check-build.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 0d398351..c147c0dc 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -44,6 +44,17 @@ jobs: key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-mvn-build- + + - name: Docker Image Cache Restore + id: docker-image-cache-restore + uses: xdev-software/tci/.github/actions/docker-image-cache/restore@f75904872b55915e2a2f0080779a36e27c467d21 # v4.5.3 + with: + # This cache could always change however because docker images can be changed remotely if the version is not fixated + # As a compromise it utilizes the hash of the pom files because when the dependencies stay the same + # the images should also be roughly the same + key: ${{ runner.os }}-build-docker-images-${{ matrix.project }}-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-build-docker-images-${{ matrix.project }}- - name: Build with Maven run: ./mvnw -B clean package -P run-integration-tests @@ -66,6 +77,14 @@ jobs: exit 1 fi + - name: Docker Image Cache Save + uses: xdev-software/tci/.github/actions/docker-image-cache/save@f75904872b55915e2a2f0080779a36e27c467d21 # v4.5.3 + # Only save cache for one instance, otherwise they try to overwrite each other + if: ${{ matrix.java == 25 }} + with: + key: ${{ steps.docker-image-cache-restore.outputs.key }} + cache-hit: ${{ steps.docker-image-cache-restore.outputs.cache-hit }} + checkstyle: runs-on: ubuntu-latest if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }} From 82f4777c4bafe4c58ce0353aff24f28c6c352de8 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 22 Sep 2026 11:49:34 +0000 Subject: [PATCH 63/76] Update dependency org.junit.jupiter:junit-jupiter to v6.1.3 --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index efc21fd1..ce7d5e17 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -63,7 +63,7 @@ org.junit.jupiter junit-jupiter - 6.1.0 + 6.1.3 test From 0c28e63bd460c5337d9b35a08bdfce2a38e19ab2 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 22 Sep 2026 11:49:36 +0000 Subject: [PATCH 64/76] Update dependency tools.jackson.core:jackson-databind to v3.2.3 --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index efc21fd1..e4a82dba 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -29,7 +29,7 @@ tools.jackson.core jackson-databind - 3.2.0 + 3.2.3 From 779c62a24c882f19e8f95e6408bc455a593abf11 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 22 Sep 2026 11:49:44 +0000 Subject: [PATCH 65/76] Update log4j-version to v2.26.1 --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index efc21fd1..f5bd7036 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -19,7 +19,7 @@ 2.0.18 - 2.26.0 + 2.26.1 true From 50e16facdd45fae09b5c90704bc2a8729d660183 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 22 Sep 2026 11:49:46 +0000 Subject: [PATCH 66/76] Update slf4j-version to v2.0.19 --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index efc21fd1..c46191b5 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -17,7 +17,7 @@ chartjs-java-model - 2.0.18 + 2.0.19 2.26.0 From 3a5a532db17d19c825d5b88bbfda96a8e3103e40 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 22 Sep 2026 11:49:48 +0000 Subject: [PATCH 67/76] Update dependency org.seleniumhq.selenium:selenium-chrome-driver to v4.49.0 --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index efc21fd1..ae475e33 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -85,7 +85,7 @@ org.seleniumhq.selenium selenium-chrome-driver - 4.45.0 + 4.49.0 test From 739fde97a228bc801a2439fc00f7225793683a22 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 22 Sep 2026 11:49:51 +0000 Subject: [PATCH 68/76] Update dependency software.xdev:testcontainers-selenium to v2.1.1 --- src/chartjs-java-model/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index efc21fd1..731ea0a3 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -77,7 +77,7 @@ software.xdev testcontainers-selenium - 2.0.0 + 2.1.1 test From 9be12c6475349854267b33f620eca84799c425ad Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 13:58:31 +0200 Subject: [PATCH 69/76] Matrix project does not exist --- .github/workflows/check-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index c147c0dc..9e515f6a 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -52,9 +52,9 @@ jobs: # This cache could always change however because docker images can be changed remotely if the version is not fixated # As a compromise it utilizes the hash of the pom files because when the dependencies stay the same # the images should also be roughly the same - key: ${{ runner.os }}-build-docker-images-${{ matrix.project }}-${{ hashFiles('**/pom.xml') }} + key: ${{ runner.os }}-build-docker-images-${{ hashFiles('**/pom.xml') }} restore-keys: | - ${{ runner.os }}-build-docker-images-${{ matrix.project }}- + ${{ runner.os }}-build-docker-images- - name: Build with Maven run: ./mvnw -B clean package -P run-integration-tests From c4fc121b96a9e3ad09eb53eb9e235f1ea8646381 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 14:15:17 +0200 Subject: [PATCH 70/76] Wait until rendering is finished This should help with rare race conditions during GHA executed tests --- .../xdev/chartjs/model/AbstractChartTest.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java index 8054a9cf..20f56571 100644 --- a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java +++ b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java @@ -27,6 +27,7 @@ import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.remote.RemoteWebDriver; import org.slf4j.bridge.SLF4JBridgeHandler; import org.testcontainers.utility.MountableFile; @@ -77,13 +78,18 @@ protected void createScreenshotAndCompare( { try { - browserContainer.webDriver().get("file://" + CONTAINER_TEST_TEMPLATE_HTML_FILE); - browserContainer.webDriver().executeScript( + final RemoteWebDriver remoteWebDriver = browserContainer.webDriver(); + remoteWebDriver.get("file://" + CONTAINER_TEST_TEMPLATE_HTML_FILE); + remoteWebDriver.executeScript( String.format( "new Chart(document.getElementById('c').getContext('2d'), %s)", chart.toJson())); + + // Wait for render to finish + remoteWebDriver.executeAsyncScript("window.requestAnimationFrame(arguments[arguments.length - 1])"); + this.assertCurrentBrowserViewEqualsScreenshot( - browserContainer.webDriver().findElement(By.id("c")), + remoteWebDriver.findElement(By.id("c")), chart.getClass().getSimpleName() + screenshotReference); } catch(final IOException ioe) From bfec0e0d3febba87dba9c7d510947c241a3328fb Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 14:42:41 +0200 Subject: [PATCH 71/76] Don't load chartJs remotely during tests --- .../xdev/chartjs/model/AbstractChartTest.java | 8 +++++++- .../src/test/resources/chart.umd.js | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/chartjs-java-model/src/test/resources/chart.umd.js diff --git a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java index 20f56571..d6f266c9 100644 --- a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java +++ b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java @@ -45,6 +45,9 @@ public abstract class AbstractChartTest protected static final String TEST_TEMPLATE_HTML_FILE = "test-template.html"; protected static final String CONTAINER_TEST_TEMPLATE_HTML_FILE = "/home/user/" + TEST_TEMPLATE_HTML_FILE; + protected static final String TEST_CHART_JS_SOURCE = "chart.umd.js"; + protected static final String CONTAINER_TEST_CHART_JS_SOURCE = "/home/user/" + TEST_CHART_JS_SOURCE; + // One Container is started once and only the rendered HTML is changed. Improves performance. protected static final SeleniumBrowserWebDriverContainer WEB_CONTAINER = createBrowserWithTempDirectoryMounted(); @@ -61,7 +64,10 @@ private static SeleniumBrowserWebDriverContainer createBrowserWithTempDirectoryM .withRecordingMode(BrowserWebDriverContainer.RecordingMode.SKIP) .withCopyFileToContainer( MountableFile.forClasspathResource("/" + TEST_TEMPLATE_HTML_FILE), - CONTAINER_TEST_TEMPLATE_HTML_FILE); + CONTAINER_TEST_TEMPLATE_HTML_FILE) + .withCopyFileToContainer( + MountableFile.forClasspathResource("/" + TEST_CHART_JS_SOURCE), + CONTAINER_TEST_CHART_JS_SOURCE); browserContainer.start(); return browserContainer; } diff --git a/src/chartjs-java-model/src/test/resources/chart.umd.js b/src/chartjs-java-model/src/test/resources/chart.umd.js new file mode 100644 index 00000000..4cfce5c7 --- /dev/null +++ b/src/chartjs-java-model/src/test/resources/chart.umd.js @@ -0,0 +1,14 @@ +/*! + * Chart.js v4.5.1 + * https://www.chartjs.org + * (c) 2025 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Jo},get Decimation(){return ta},get Filler(){return ba},get Legend(){return Ma},get SubTitle(){return Pa},get Title(){return ka},get Tooltip(){return Na}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return nt[s][e]et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=Z(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=Z(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt; +/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Jt{constructor(t){if(t instanceof Jt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Jt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Zt(t)?t:new Jt(t)}function te(t){return Zt(t)?t:new Jt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Me(t.height*s),o=Me(t.width*s);t.height=Me(t.height),t.width=Me(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Ze(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Ze(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Ze(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Je(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Ze(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Je(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:J,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hb||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tYi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Ji(t,e){return t.filter((t=>t.pos===e))}function Zi(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=Qi(Ji(e,"left"),!0),n=Qi(Ji(e,"right")),o=Qi(Ji(e,"top"),!0),a=Qi(Ji(e,"bottom")),r=Zi(e,"x"),l=Zi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ji(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s=0&&tthis.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;io)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Js(t){return t.drawTicks?t.tickLength:0}function Zs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;rs?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Js(t.grid)-e.padding-Zs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Zs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Js(n)+o):(t.height=this.maxHeight,t.width=Js(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Js(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.5.1";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.base"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data,{labels:{pointStyle:i,textAlign:s,color:n,useBorderRadius:o,borderRadius:a}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map(((e,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:e,fillStyle:l.backgroundColor,fontColor:n,hidden:!t.getDataVisibility(r),lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:l.borderWidth,strokeStyle:l.borderColor,textAlign:s,pointStyle:i,borderRadius:o&&(a||l.borderRadius),index:r}})):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;nJ(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>J(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;dt.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter((i=>t[i].axis===e)).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[l("x"===this.chart.options.indexAxis?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;const c=this._getAxisCount();if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,d="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u,borderRadius:f}=l,g="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,g?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let p=e.endAngle;if(o){Kn(t,e,i,s,p,n);for(let e=0;en?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,p),l.selfJoin&&p-a>=C&&0===f&&"miter"!==c&&function(t,e,i){const{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=e,{borderWidth:h,borderJoinStyle:c}=l,d=Math.min(h/a,G(s-i));if(t.beginPath(),t.arc(n,o,a-h/2,s+d/2,i-d/2),r>0){const e=Math.min(h/r,G(s-i));t.arc(n,o,r+h/2,i-e/2,s+e/2,!0)}else{const e=Math.min(h/2,a*G(s-i));if("round"===c)t.arc(n,o,e,i-C/2,s+C/2,!0);else if("bevel"===c){const a=2*e*e,r=-a*Math.cos(i+C/2)+n,l=-a*Math.sin(i+C/2)+o,h=a*Math.cos(s+C/2)+n,c=a*Math.sin(s+C/2)+o;t.lineTo(r,l),t.lineTo(h,c)}}t.closePath(),t.moveTo(0,0),t.rect(0,0,t.canvas.width,t.canvas.height),t.clip("evenodd")}(t,e,p),o||(Kn(t,e,i,s,p,n),t.stroke())}function Jn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=nr&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Jn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Jn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=J(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&ts=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),Mr)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:tn?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;ot,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;ot-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Jo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(it(e,o.axis,a).lo,0,i-1)),s=h?Z(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const _a=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class ya extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=_a(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=va(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=_a(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=va(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class wa extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var ka={id:"title",_element:wa,start(t,e,i){!function(t,e){const i=new wa({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa=new WeakMap;var Pa={id:"subtitle",start(t,e,i){const s=new wa({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),Sa.set(t,s)},stop(t){ls.removeBox(t,Sa.get(t)),Sa.delete(t)},beforeUpdate(t,e,i){const s=Sa.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Da={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;et+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i-1?t.split("\n"):t}function Aa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ta(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function La(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ea(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||La(t,e,i,s),yAlign:s}}function Ra(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Ia(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function za(t){return Ca([],Oa(t))}function Fa(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Va={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=Fa(i,t);Ca(e.before,Oa(Ba(n,"beforeLabel",this,t))),Ca(e.lines,Ba(n,"label",this,t)),Ca(e.after,Oa(Ba(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return za(Ba(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Ba(i,"beforeFooter",this,t),n=Ba(i,"footer",this,t),o=Ba(i,"afterFooter",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Fa(t.callbacks,e);s.push(Ba(i,"labelColor",this,e)),n.push(Ba(i,"labelPointStyle",this,e)),o.push(Ba(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Da[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ta(this,i),a=Object.assign({},t,e),r=Ea(this.chart,i,a),l=Ra(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ia(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Da[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ta(this,t),a=Object.assign({},i,this._size),r=Ea(e,t,a),l=Ra(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Da[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Na={id:"tooltip",_element:Wa,positioners:Da,afterInit(t,e,i){i&&(t.tooltip=new Wa({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Va},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn})); +//# sourceMappingURL=chart.umd.js.map From cfd85dbbe828408a07c097b2c2c133e841237eca Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 14:43:56 +0200 Subject: [PATCH 72/76] Add XY test for line chart Fixes #489 --- .../xdev/chartjs/model/LineChartTest.java | 36 ++++++++++++++++++ .../screenshotReferences/LineChartXY.png | Bin 0 -> 21065 bytes 2 files changed, 36 insertions(+) create mode 100644 src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartXY.png diff --git a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java index 12268bc5..51c3c42a 100644 --- a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java +++ b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/LineChartTest.java @@ -19,8 +19,11 @@ import software.xdev.chartjs.model.charts.LineChart; import software.xdev.chartjs.model.data.LineData; +import software.xdev.chartjs.model.datapoint.XYDataPoint; import software.xdev.chartjs.model.dataset.LineDataset; import software.xdev.chartjs.model.options.LineOptions; +import software.xdev.chartjs.model.options.scale.Scales; +import software.xdev.chartjs.model.options.scale.cartesian.linear.LinearScaleOptions; @SuppressWarnings("java:S2699") // Done in custom method @@ -55,4 +58,37 @@ void testWithSpanGaps() "SpanGaps" ); } + + @Test + void testWithXY() + { + final LineDataset dataset1 = new LineDataset() + .setLabel("A") + .addDataUnchecked(new XYDataPoint(1, 20)) + .addDataUnchecked(new XYDataPoint(3, 20)) + .setBorderColor("blue") + .setBackgroundColor("rgba(0, 0, 255, 0.2)"); + + final LineDataset dataset2 = new LineDataset() + .setLabel("B") + .addDataUnchecked(new XYDataPoint(2, 20)) + .addDataUnchecked(new XYDataPoint(4, 234)) + .setBorderColor("gray"); + + final LineData data = new LineData() + .addDataset(dataset1) + .addDataset(dataset2); + + final LineOptions options = new LineOptions() + .setAnimation(false) + .setScales(new Scales() + .addScale(Scales.ScaleAxis.X, new LinearScaleOptions()) + .addScale(Scales.ScaleAxis.Y, new LinearScaleOptions())); + + this.createScreenshotAndCompare( + new LineChart(data, options), + this.getWebContainer(), + "XY" + ); + } } diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartXY.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartXY.png new file mode 100644 index 0000000000000000000000000000000000000000..e03ce3fe95e410a844bff1c893559306d8f6659f GIT binary patch literal 21065 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 literal 0 HcmV?d00001 From 3c6a7f3434c9c20c6ab65f0af480ffa27da0affb Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 15:02:24 +0200 Subject: [PATCH 73/76] Add missing line for loading chartJs --- .../src/test/resources/test-template.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/chartjs-java-model/src/test/resources/test-template.html b/src/chartjs-java-model/src/test/resources/test-template.html index 51f4a480..b316e360 100644 --- a/src/chartjs-java-model/src/test/resources/test-template.html +++ b/src/chartjs-java-model/src/test/resources/test-template.html @@ -2,9 +2,11 @@ - + - + +
+
From 2729168c5220ce62a414b696f56f2aa96b4cbc21 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 15:04:33 +0200 Subject: [PATCH 74/76] The default ObjectWriter is now a static field and only instantiated once --- CHANGELOG.md | 3 +++ .../chartjs/model/charts/AbstractChart.java | 23 ++++++------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7917b37..deb40205 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,7 @@ # 3.1.0 +* The default ObjectWriter is now a static field and only instantiated once + * Removed `setDefaultObjectWriter` + * Overwrite `getDefaultObjectWriter` if required * Internal restructuring * Updated dependencies diff --git a/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java index db27e69d..34b97e44 100644 --- a/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java +++ b/src/chartjs-java-model/src/main/java/software/xdev/chartjs/model/charts/AbstractChart.java @@ -28,11 +28,7 @@ public abstract class AbstractChart, D extends AbstractData> implements Chart { - protected D data; - protected O options; - - @JsonIgnore - protected ObjectWriter defaultObjectWriter = JsonMapper.builder() + protected static final ObjectWriter DEFAULT_OBJECT_WRITER = JsonMapper.builder() .changeDefaultPropertyInclusion(v -> v .withValueInclusion(JsonInclude.Include.NON_EMPTY)) .changeDefaultVisibility(vc -> vc @@ -42,8 +38,10 @@ public abstract class AbstractChart, D extends Abstra .withSetterVisibility(JsonAutoDetect.Visibility.NONE) .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)) .build() - .writer() - .forType(this.getClass()); + .writer(); + + protected D data; + protected O options; protected AbstractChart() { @@ -88,20 +86,13 @@ public T setOptions(final O options) @JsonIgnore public ObjectWriter getDefaultObjectWriter() { - return this.defaultObjectWriter; - } - - @JsonIgnore - public T setDefaultObjectWriter(final ObjectWriter defaultObjectWriter) - { - this.defaultObjectWriter = defaultObjectWriter; - return this.self(); + return DEFAULT_OBJECT_WRITER; } @Override public String toJson() { - return this.defaultObjectWriter.writeValueAsString(this); + return this.getDefaultObjectWriter().writeValueAsString(this); } @SuppressWarnings("unchecked") From b95bea526ee6e6dd3df1845a14c4f0ba8c88bcb5 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 15:05:35 +0200 Subject: [PATCH 75/76] Switch to Firefox as Chrome has apparently sometimes rendering problems --- src/chartjs-java-model/pom.xml | 2 +- .../java/software/xdev/chartjs/model/AbstractChartTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/chartjs-java-model/pom.xml b/src/chartjs-java-model/pom.xml index 8aa9167d..c107170e 100644 --- a/src/chartjs-java-model/pom.xml +++ b/src/chartjs-java-model/pom.xml @@ -84,7 +84,7 @@ org.seleniumhq.selenium - selenium-chrome-driver + selenium-firefox-driver 4.49.0 test diff --git a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java index d6f266c9..e8d7e5d9 100644 --- a/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java +++ b/src/chartjs-java-model/src/test/java/software/xdev/chartjs/model/AbstractChartTest.java @@ -26,7 +26,7 @@ import org.openqa.selenium.By; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; -import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.remote.RemoteWebDriver; import org.slf4j.bridge.SLF4JBridgeHandler; import org.testcontainers.utility.MountableFile; @@ -60,7 +60,7 @@ private static SeleniumBrowserWebDriverContainer createBrowserWithTempDirectoryM } final SeleniumBrowserWebDriverContainer browserContainer = - new SeleniumBrowserWebDriverContainer(new ChromeOptions()) + new SeleniumBrowserWebDriverContainer(new FirefoxOptions()) .withRecordingMode(BrowserWebDriverContainer.RecordingMode.SKIP) .withCopyFileToContainer( MountableFile.forClasspathResource("/" + TEST_TEMPLATE_HTML_FILE), From 89b7d99acf7f1779d33f044bbfe9edc4d64bb415 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 22 Sep 2026 15:05:43 +0200 Subject: [PATCH 76/76] Update all reference files --- .../BarChartAxisTickCallback.png | Bin 9417 -> 15275 bytes .../screenshotReferences/BarChartBasic.png | Bin 8504 -> 18366 bytes .../screenshotReferences/BarChartFormat.png | Bin 9192 -> 15031 bytes .../screenshotReferences/BarChartScale.png | Bin 10994 -> 21031 bytes .../screenshotReferences/BarChartStacked.png | Bin 11072 -> 20143 bytes .../BarChartStackedHorizontal.png | Bin 11004 -> 19263 bytes .../BarChartStackedWithGroups.png | Bin 12170 -> 21805 bytes .../screenshotReferences/BarChartTicked.png | Bin 15008 -> 24410 bytes .../screenshotReferences/BubbleChartBasic.png | Bin 13939 -> 24693 bytes .../DoughnutChartBasic.png | Bin 35899 -> 40675 bytes .../screenshotReferences/LineChartBasic.png | Bin 23075 -> 35273 bytes .../LineChartSpanGaps.png | Bin 28225 -> 41881 bytes .../screenshotReferences/LineChartXY.png | Bin 21065 -> 30398 bytes .../screenshotReferences/MixedChartBasic.png | Bin 18212 -> 27318 bytes .../screenshotReferences/PieChartBasic.png | Bin 28921 -> 33495 bytes .../screenshotReferences/PolarChartBasic.png | Bin 50068 -> 55408 bytes .../screenshotReferences/RadarChartBasic.png | Bin 29960 -> 31199 bytes .../RadarChartBasicRadialScale.png | Bin 98798 -> 94407 bytes .../ScatterChartBasic.png | Bin 10802 -> 19930 bytes 19 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartAxisTickCallback.png index b7044e4f699ad98afdf3cd273f03e55f99fa4659..322ec9f1c9b04097dede5072fef04c78512328ea 100644 GIT binary patch literal 15275 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 literal 8504 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 x5)h(QOT^*xe3$$+i_Ft{uXF>n~ diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartFormat.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartFormat.png index 56b20622b08b04397f9ab1c1d25508637b3a3926..ea6f5ee9d19530cf9384f1fcdffee11a09dabebc 100644 GIT binary patch literal 15031 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 J?m2e;{{R?hr!@co literal 9192 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 WB;D)!RZ{Q@Vq{?YYmVOKyZ-?p9{_*= diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartScale.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartScale.png index 58fca17ed45d92ebfc719fb9c04ac4646e966754..a01f0f6200310e4de3c768623cff78f86cf4112b 100644 GIT binary patch literal 21031 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 diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStacked.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStacked.png index 61292ea53074a21b8125f9cf7d95d835da339937..29a1d177b3934a05662213b05d38dc63a11c7a71 100644 GIT binary patch literal 20143 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 literal 11004 zcmdsdcUY6#ns2OZ3vf1wC`H_gARwS1AX1`Rkq*)YL_m58QF=|>U>T6!Arz&B&>=wR z*%o?}8Xypq-a=0(fn-+pe&*h}=eaXy=G=4sn9CnLp(Nk>*7vUW*WS>_I;yOvc}_zh z5LR`yhx!o6v1AD3NY_tC!Ed0V(N`dlzd+O<-Z%73Tbb~Swy;Zw(g$4Xu>swbYU;dY{8_)}?)-6BdGQ-c@m66ubGeC4=E*`o#&qej6lqM#=IiGdsr|ioW zA(zd6Qm{@Ce=TUM>%T^CBGV4Nn{7Qg-fa7=Q$*D!5UaH~cqTe?z9F+$e#d*+Z$91R z2;`oV*%pJ#`o84dAD2~A~YFyr(j`3>0ZUHVt9}XWohWD z_!({qMf&b^DW1O1j#v)~AXgFAe49Rg{FtkmbSZHC6F)yc-Uch28R*^-FJge!fw_?| zlml-3ZnG|Oe_(G|TU(nk-NJpa5G;17F$-Q+Iu_AV6+xpjb`E!L`1V#ujPi~~KYIPGzx^>B#=O_H%Gne^1XeWpDQNtB(KnCJz!+m#|Mtet8| zew}2A*i)F?>p?41FzMr$cBg-7JL(nR=DyL)4No#gG~iIFMNL9%b6f zr%#_)F8O|UfYMA|TwE@B&80X99iMdX6d&F5v)XiQ>Y}S(3Yv*g)!)%J?vWcSaZKkA z*y@%;cbb`*RlJK*qK+u6HAqi7etFBf_I{-Z#NEeAX2KO(CIdM9U$63GcqC?t-Fmh9PXA;R6#27&L z+I8m|kg;xABO>Uu3ad}S?8x0OS4Cv~mh(_<9W9xRgZU`=xn#p@+>+1I4&px~^0s?m z*n}=v_%G(R2l{=U$$=xbP%L~eeow+5%!19GFDNY0D05L9`oa!9`1XL^!uQ7;m7EbZ zZ>{rMdQ?)tns%VBX0W}vxw-csu8C57HS*3BoI!fs&jRBO(f@dW z!tbG8V`m78y6*j{)_aj6-9oMrt|_ibhC89Ufmck6MIQ!#$DlJ(pF1NC9#V6LY_=e29uSO{>vpVN=;1A(~LsCBK;%uw&YD@|@0CPWOP8 z@Qb51g~r7l4>%67rrw*9$i2=O?&w5Uyw~z@(RmIGx5U$A$+!^SojID2mVp1l$I(60 z%$z2aNdm8_d;=Ks3IZStjgw^EQ*xJ~FDI!Wx6b?}YHstV7p*28|~m$uiMeza5? z5ueEOtmmz8(CV%sh6k|?PE4~TVuMnORMM0AB;hq26A)LW#q@D6%lJ!Nw=2+?)!BQG)Mngbc!H+lEmojq9$LTDj$M(lRSYdMV^nF2BK)3A(Fg654{vyN+!)cr4X{ESR zM;-8t!!_Ltjo={b54rFp2Ec1)6JKM~#x6k-2R?Y(#PQNooI*J|DS?Rrab))?8nchP z&0mc5iL2A!7oY79e*HOZU)M|ehZNLoX*iUI@s}{Gy#8^$(~|C9;S~G)sQ+rW|K;3; zz!arKScQ3oZh!wsF6ggD(J?J{iOZ$xzAg!qm0E5GX%kvnYkM#q@AW6rOmdhP{v;GBn|vj zJDJ6@qUdqtaT#c7s_csE_rl&|z6*I>JC>WAuz^+_Hbts>a#i?W42N~c_l!IUAJSr(rKVSR}-h5GV0}op9&MJkZp6*4OPO( z@e1CXHy19OGqPhi;O6TU83$XV<$kbHp(u^yCi?#J)|D;AQ&W4Z;PAIE>+V$_y^we1 z%%G0Gjz$Kt@uTn}`eh4rM@UCzwcBqg-Z0KCPBpI1{k*~+1%MZAjL<|K?L|~?=;b*n zuK#|_;3q8}Ohkr zx0m`%2Kh)$S-;~?6z3&a1a6@wyWH9@X*w4n4(0IV zXUXjDECPWq=m&e~bZ;|n_s#7zc@O3F-`I1$qDpk}!Yt^zG|zxO6>jnc%x}~I0g#zj(%bV<IkX7U+U(~$44OR z_DSDyapuEfZB#1NZKTY)z9la&FO*Ywbwp?4EUOD*;4mRiF7pOA>aEeB`T2DPC`#H) zD=7CSCE<#aj7>{;`U=MX#ON)X7OhO>p!ycAStiVWe0RxA4{l*$p`@e~=fjx1W5-== zjw``pvDw+#StR44C*{-eY7?G5J`Plrl%0l3W3eS(`PNmeC3y9;)_q>CI{5g1!~*}_ zE&VOR_}Bl6sS^G4?c3v_AtTnahJ&UiCI)c$kXei5kN`GM+&uLpOCg;e=I=tPs~T&l z9b-*R^*1YMn)?`LK^Pzm3=xKgiN@s-)pOOMtl zSCa8|RcWk(jrNa|o>j@O4qLSDQ-)^Rhj`&1Y8O8qwm@&Y88nwHgD*0fU(W4mvn(~U zj`6c})CGbYZoNfRu+7`Ygt3e?>P$2md_r4C4rU(H6!BJl%Rdawqfi-)d`T_3-HFn; z_mMS@tDznzOi7M_mi!ZT>px-Qf4#B)oPWhs?T08GtbaiPrcpiHb~Wm0qraD~ZZCjr zWb3haZ{Nzgj@$%<6O=Ac65h?rf3Zbw#${GkR%)SSVL5g`KEH7xlxWu-PTa4?;~BrP zTw?Z5`>tf5Kz=XrBz{)QLF7+>I9)-M0r|usgSI&7nkLQ1vNb?owk-K3meM_Sd~Z84*+=vn}m>r56V+ zV+4Vey(i_%1;B)z01qk#f7Z3Mv@|g>0S_to#F)^^6r8m_~(IV@4{B5 zn&0n?xs;N5=6llX8FU)1x>~}tLQq~N#cO|iQ58_HJZ+RLoTTWtIg=fwT$h_W3pS%0 z-(JN9fvkiPK3)mfY!_Y|@%{cAi>zD2PU9MET+K>p_j?GA==!6KSqXh^b&t+NAkQrS zR!{uzHjsZ#o&SBG>RcT5ZOkm)Q(wl%O(lZ$?AfzyY}Hj&piRT!@XoR@|K-)y)rEz8 zl5cl$HIXG0AYXlwqvTt0JZ{J-& z^3^ty3D|`q*wxDcW*FpYVO~x2$ovg6;O}ceRmNWZL}I;NXCj%0Bta?ltC}Z$88USBaKQ;^|qe|z&AWR z%gWL>shb%S3PgQ`wdt-X^ zOE04qty)c>H*ZE?F7!7Oo?f|z0p{>t$yo@2muW9S!SytQO7Bci&-j-0{z{pK_4rod?-oA6^ z4q*1zG!ywiD;(mradcc5b;xW4CqmBs@6YfUz-k=^7+i~&o z>s8m*`c1b)STgnrlMMO}u;?;LHc?85-7f<6(@eYoZpdMqs`BPX_MinIH3EQ-CIDWVoNy%+{?763LQPBOqC}0W-94zW0#|8$l&zr+gZgnCkromEZQd$Cm zSP@`Ir%z0Cu8}&noa$1devQ%(HXQgE1wXn{TTYxg57s<4v4+@D+8LL=eLEf*b$2O$ zZ)?66CAU^+dAI}?l>QWzs2(RI<6J2+HCGNA!#jTOCua6NX(>d2l$u_$dv~r8KZ_jx80cw{+3j^w*Hnu@`fVD;(4ku^5oypkCBovu?eEnJV zU^5A?rOB}bp8Ct*kFc!l9s(y0*g9L=1G@0>nsPwOnrN$q%q>5Bq#|3@e+Jl9z%Z*@ zspyPV1^j>pJk~&957sVoX6}Av`dmFdJxxtbpt^*`nU*VfEZe{#dAT*$Eu7&yWj?t- zd>c@#Ld(4llYS{cn3zg&a)Tx#C%1;}Rrc!vZ}0>(<2|=z&jaQis^FWhP{YJZ@||6+ ztiJcvuPLugy)U%u6n!O^?WK91{Bo)P^!0A;NZRLXtrk)Np8)}B??@1H=t}Mz9NdPw z`2mNM##!~B8`uByyHK%_NK0gKOH?U@6#n+^-4+}i+6=U$jEs!Yy@)DYrJPaAV!nuA zTXmHYI^CGx^D&c=xWM71`8X1ZlxWRGDenzu=c_n8M;IC!8XYy&gXcBrH{3UvWGWw` zZ1wZ__@8Z2ckdS988jxwEG;cAI%O)>W|69k%#(ZvW35$SD|$wZfOjoiV#Yw57Xsj} zugA_L|C@e90K`524lec25kr`&f;d2-LE{3%;pEA;Z{PX{1c)sa?=Ucc6XCD z3adPxn-Z*7Zr6Fl%g|WwEU&IQwD72h}}{l9+1E;1d~(c;|5KEj~O>w znnlug7;QgiUJFR_t6%@o95`pV;P``}pdlH8p$oxy@QEfI9)LvtDU0Ew{rx}|1CmM{ zp)41+$AKO6v-+NJD#S$6*MK#DIB)oi!zIM}c8FL$?oSSJcsObDzohVFO_)?$nTq4` zg73k4BztC4lRxK0g6yiMFhV^#m;TfY^8Y39yHqVFN?Otf4Rm3I8qjOOGX;8!ADGlv zBMuJ_^xS~G}Ahu)Bjed^Gi>IDQBJYbECn{4u@ zEP*;>8qmP}QSbJ8@!~~ys!V$g6OV>uDTH&L%zUZbrqvh%Sr70_FO9J%f8N{@!Hd>P zsR-QL1i;>a$3ttY3kzKi_bIq>_f7yfLON+R-sCY}x0+uP#$Hahv%3JOx?_ZkF|ngAd_4~amWHi7e2MNE3;k6|*O?Ykzn zXm-tCwP&l)Xonmnall%EH+YGUPs?`#?826vhsPG6MSq}NsfS8+aWQPhy8w&dNH=4w z?P%ol*Sgfh05S=aS9@c$xxB|Joq%|E_VMv4z=E(*i@CL{UL|exC=S~lz`M>pFRfcD z0FY1F*)d^4F#W^jfbo~DKt8+8bOO%M1+F#&unbEa8|zWr>T(?z8}r{^M4NmeaA~DT z&4x?&JOPQ5gTwqM7J(Hh;1D3#k&mM%s1Hs(C#v0brvU|C`j&CySABSPZf-8q-C&Tj z|6HL9NJ_tZff(_>8m0aZMWiZYm4%g}ri}>atvMi2!8ur46M!NDRT^P{P5^VUv9U3W z1cC}I2(pZU61JTD85V@=;x}&$y=~I%A>3R1fyz{-#l=G(-x&`QADfsUb#-O@+*KM` zi_GPco2^w2!BSaSbJ2j4B>=OMFGq?7G(VgE z09tplJ;bmv*fk)41~N&UOBY{^fD@=&phJPIB@z{0PJIO*;tn>-rYre$)|Ce!e@|h~ z1puj94IHnoIdEMLEqgpDW6+|(spXVremZe!sL-crkf~Y;6aD=a7B<1IJX@V6dT>*? zZDS#NskEx9s<>F2sc}{7Fm$Oka0r$$`_hzz=dIUw6|R>Z`;Q8>?kZB4E%=R~xj~p+b{MkcTsW0@1$i-Nl>` zw!8URmyAoE?oA6YcFVr7nO8dYCEv0E{Te}p;Ti!K1>95tHck!7r_GbK}}$tJsJ%lZDoY@4HJnpklup@rPpo%$8VMlM+QV{19v2a9S%CQ z=ae33e?Xtrz3{HgIn&R5QKps8qYJc2UjCPpK|8sfK$!>b{&+X$ymv z>1@Hs0atc$d1VauVSr7z)PqOh4IoACaK0I`&`V$GeFg?fJnfK3 z2AIJ}pXvlD>kr_W&M?!~eK(>ohT?wn}ifi#{@PRx`!*W+*ARgm3HI6dQsw*W6m|{XLEIDbD23T4a~2g zxNOc-J?49~ZDiHh^Tgur29D3K#$zwai&}ttzbXzK0a#ji#|jQ8?7XOo=gdlDW~1}T z37nVZ&FqTo-tzf9coG!i>aLF{+!RZ=kRj>eY}KEm?neoB)wcDDnapwCop_TnAWb*e zf)~BoA||%9I4E8t7>8HC9!x7%p8A)o{RR=AGW`^ zabgP8QQNv7p`Mf=xV_maDa_Hss`E6;5p>9NMuRMocQ1Zi=7Egn>MpF-mc^5G)W6DQ-I&a?h_URad6WzkX zG3W3+>6<|O&w8I1lsA)6zALVGGadCY>7l}A%FW=cuL2UQJzWG(fxB+Isc8ZL@mYmOua`kNx7<{P~*3~O>W#Ffzb{I)d#ubvoql{8GB7rDpiUQ zabWto<(_7A@dZ|5knccSOn#rF$gq7&=L@3jiY!m|bGb2zX5%kGgoQkFc%zK)59ykI zpT+bTW$hbUlh>|9D&{nCjW#UYNO<)8G2-VfUVDt8oXE=I6gR#N&kQj&=1hfir`>P% zSVSNjC#(l&&pCX4+@lJoy;G5rJj>Qe4zK7EqJQts?>wF!x(b2>jhEM(329|LPE}y} zguQFikwxT-;)~hynMityL&n}nt8yY%SAH=?{-%SPbnqjIiO!0fA({?D53^&FE~(>h z*NHHMbaKR0Hy^V-aq|4VAhZy0E@ViI(cnSC^FTfKMHZUhrF6;jQh;Ybs(GD`~_E6FB z9@$)!XtiyCKr<#w01|rm`gV&`m4p1*Dtnc7p5|?KQAX`S$1lEMwB}E!Z`#h43<6VW zhiK$J8kl6Vg^`}4w_5q)Fh8mY&pN*|+a`6)MN%_TFG(E^C}hf44;nCW)JEZ8ia>;- z1d{m(4+9^7Jj`jfTLrPNrKWQ=m`4o#Iq7A*BPt_RDZu-rAqUJ^Ld>K@@%yV|X|wrJ zwxOP;Y)>v~nEEoKHxLkIDEPSTGsp23O9jWYLNE-Y@PgUSr1=}Ipb%1;9B0D5jvixI zylI4;348eIwtWqZ*A~?S=Ci~~YO)G)4X?&_lmh!r6)24lA#5G(%Y%+$OTS2e23VPN z*K%n#A`y(kr6cKkDQrxS5}@_XP-^;Gpu_Mbx~NsqQ^ek^$6S|FV5Do7zRoi|@V$U= zP&;3rL>fv{WV)JX(8@XduSwI zEJrAbT8+!Si+UX|W8Grd^N=5TuyN6@$2~l(NG#SF#D!ybjwEa_CtVyCGtS17)XNn^ zt~W{pvgK(iTMt}ADS^CB>Le0r60)L`GC=x*V)6|1mz+0!Ll+bllUnNE zNCopyeo->wBsK=fOvETVZ|lee=JTX%JmTRUuxfUTkCECu`ReW0QL?+rG+BRWUHyBD zR~K;rCb9j^!Fly=34l2JS#i2K%cmhIa*{!|pmgb!@V*nFdZiFCMnCfJq(M zBlX#3U!Qht^;u_BXX_Ko7}OFohMgn?vJ3lTr1P&i^ddn3Z^RrGrL%+4RR+T*s^9~7 fags?=k3lvT9(_K5d;^9d1fs5@^RVPstKfeHbt4dM diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartStackedWithGroups.png index 217852040b25a3e785b59348fc497392810a9622..5e7c2a22f6d8c0b116913411134179abdaedfbb4 100644 GIT binary patch literal 21805 zcmeIaXIN8fx9>ecl%jMI3r$d10*a_eClRqz1q4wEh?R~=ZxKPTfr z62t{ILdFm$*zhPo9AFbBiUzMx9oVh8^$dzY_=@T$sMo6YmY8TRGM2QF_F|&Bu~PyG<(TALc7oY{VGO_CDvG0 zaB=lT(|AxzR|bkCU>h>K*EaX-zN*~S-qh9e%x`hExbD0Q_~~15RVC&ox}}o0zU*}A z%C?MIcszb@hwBY2YZBXUOM4$j8gXMrge*l+&bRq@e_wQ=f@{hMnlMjw98LDIWoD%^ zvYKc_M8JoMJI983Q2r2k-Ty(V098ju4Qx;2xLt9Rr*sW24_x4df{ee z%Tn+Nx+emE*oAP&Sw-7>>c(hlNHFue0%BR$t)NnRGLXG!!p5bnd{;2Rn3$uOUs0@E zRYMPy2zxS;4)g|J=<;HWoj_=<^p%rWr`3A}pkf(_W52ei6k2hM#rNJm3O~xTMa_jt zqfiF!3QBPv%}Smo^d@cD$^yqNAuXiPoiAXVZ%*P1Qk}7CD*hc037x5|#hns+yIyZd zBUSm7u^A|~Q$YJ&DV!9eJwia6Aq_V7l4&SLI?8d!Vdwb1;|?~)kUzMi_+YwEh|ets z#s&wKls!OGlbAm2X|hoYg1q!uov;JE&hR0{9w;sbGl^u^6VgG8R|0fnCp?|Hb6+}N zaD=iKtRkzvKRa_zy!Xs*h{HWV1P#R}w?m8fO#)vBQJhdahT1Rm&&PV#@hX(G1=ETt z9nrzJi4~sL1K3P5c^`IV-n&_~u_Qy6a+C59wQ@Ot%CUY}#pu_4SsY1SYugw@8r83L{yFQ74irWGTY#r3;Brm~k)%O0xK`Yx4GYmBwV z-(oz5Kim7isy$9o?q8kuaYHcPAPD)@^S{&RA#8d*muXNmn~G&wG1b{4ofX28GyIVDe9}T{d4?a!#f*s^{+v*xeI2UuoErdxVBG?OvvZ{V+{?T2T zU#vz0@Kyb4ebZh$RwqMN3y5;k%U|r7Rp1`e%0ifB_4pj(Dj1U?p_Sm}xR456T2Zv* z^g_Z^cF4jy#O%8IW!6LiD|?m9W`;zdO*^H%QuLs%Aak?V^4`D8NzFyloo%E}I%IesN6l??2#>g~ zxA2mpgjzn$d;>;+)`?i{tUrXKA1Dw-1|)7lJL+e;zKIT58LsynHH-Gg%?4Hvgl;4t zR_YO(MhlqB**W>!T_-D7CpFKDUKPJ|yJP=jt1^3CJ(>X03xOLYFSq&#bm}!q1vm#Z zJ4hY$o9=S>F(??~tG)a^CZh3E#b}Cl;B-H|mhK*c53*rTtFY%)BEFs_XGoo)9=y`V z)lQoBE~BZ3EU4F0Gfy>Cu0Vw%z;P89%W!0J9-%aJ855ms7ZU8}-+E8A>M^J6U#EGm zIC9U&%A*~x7t|rwhp!XVabKc~p=)QDwFNcbcdNWKgjQKIY?hGEgcDvMXni_?H&?QQ zkd?<{rv1(>Xz~JaFhW`{kj!^fOiIxaXY3sQP*?N}`D^utw0Ujpf_D9`bK&uPwqhN$ z%u~^1Mjm;)E4~uJ8d71szT`iie)PAjCugN$13+-0*)%eXDC9e_AieZ~`yTIW!c+DP zdlf54zZrxZo$-hc*yNEO%fK}lldQyE+R`iW{B!TTr%|gDR)Xd-K~VOXsrIT@EgxE~ zW-$lL$e~2aMa3IJB;Vo3^@pr=_f3NtAu#tkR-txay~@^D?HXEXfeUu&Ayy;o9eWwU z9u?AX)XL**AC{t*52{+K%uZm+_dZ)^8eZzZ4@Wt>lU^^)a%Z-IuL|CAF@ds29dvyr zRL|NM%G&C>rp!Oj*i=Rb9&dzJ!0N(Qo`)(K6FCt)R)}?ujNDMyWIAkZ3Zh6cir(tD zi6BR&l$+QTIAKZw)lG2`cia9Lkx^lqp(JaG%uj#k#cB(h_M{+IBG~);uu$Py_&y#S z<;X;AXoshqp!OZL)nYoADaEuq%8!D^N3rG_r4eBX1i!xGUCsoN!Uvje0Yu`xc+(i3 z02MPr0I&64ldP*sYHIF-;o<^~2bP;sSDNf6(&R%NpS`L@t=6;#P)hLvG0JN9Z-0M! zLLjb6zrjVVjUzL5H0ZmW^fqsdQ)AV;-xS-sD5$x&?^Gsww1Ckzw7`v<6qn*}(w^X=aa5m?G5W;XrG6p|zTbT~4fDH6I-3 zHSw)0teMWRs+q7Pi=h>DaA7A&acYA_bdfq;V6_h6ckT*k-H1FQrl@!tcQyZ1QG#*~ z+IlpnDQ>a=8_Z)Zrmm>igM3{Q1M+9Re8Idi&JfTDFVKVSoJ;Ozd z=BzXe`psis6Heza3+o(68C2gKho~;P@3)wgLk(A<`1Kq-=-!tL&>_lJzTs{*0BA{^XpUjR0HG> zq_9^;1&K<^7AO6`9F;oYT)_J@L1$u}DP;i9WeVo^c)=HoqWtMjc=SzzYTrF^e0kpJ zC2kefxH)@Iv5jj9o#UR;ew@Q%2$-F^I>#qf=bf-Lr=!S9c(Uv*3uyIB>7U|LN7bg`pC5z$YQkMi#h%3r&_JC+n*W|1c=&@!jqFw{`lI_U`Xz)<4loIYlX)mb~xU0z6s5bk>rYxn=;lwNyFh zUCBgnR?|a5M}G3S)+Oyxv2k0*w>W{axfI@qT0L%`FbN~Q0i2l_d{_rqc>8ujmb1O0 zRy3|OEn9O^cWF|Fg>SYDo;$4)r6|!IWM!5S>uKqmnFVadi&cq0tqh5mvFA~&uZ0&g zTdg_`uyZ@Gsyg`-Wc*vRW08F8scLk?DBRgM{^}K#`CdBNL|I*kqRF#Z0$CL0xndK( zXAvu9FC6Rje}wZakq=@xK$dTFM(vNiW@wtWRq!FGD|tQU(M1e@ufSIikkrtsRx8!4 z;Nup`xgRdH4fE-$-LZI8Bzsl2QR(!#r5p#dt~sph^bAt8LL^5sSTXs@ z^$A>A_g^L0WF@l`j%T@>#pstN<$7CjHX|L+IgeTd=_pY6MYGOQ&*K4D8TRa7q zx0jiP#dBGHD%Xm43&-9BZfpjpik?^~UCfWFH`iVS>qRn4tN-i4l(|QP!P(3e?vPpT zh^ANIHb}fqIGnTJ;$ueLQOOUL0`r00=dbfOZYOw>Cf-|K$xaUoh~lu|$P7JdB+~V) zRGTzz95bW)7+Pd=r}^u2IlK)uJXT++qL^veD&_WqA{>w2jeaW z4(Oad#A)X}q5)YJW|3>H494QnT}4+F`7Fk=l51_QnQI4&ol_jMIGKqy{fczt%&0Ro z61Nb__IZ)5Q8H@R>}B{QVSm=FY3FZLFU1jyLz(H)rE=#z(xOfjkCL(+x2JpaIccSP z3prJ$y*4!p#?2j7)aW8l26UGogYpt|GH;lg%c#9ttZ86XV*9&mV}$qC)Rc|G}289l+uziM4t z;@sw9^Y!Dz?Y*km%qqQ!fOAi>)9+B1Yr0f}Sl>-pS9mnN$mgoFhO2S-{4w*doJ#P> z?z19|dVLs3xSid2nuMj6_jq1R;1i|B=b%mLKH>S5{1bC#X4&#@YU9Enix_P$ ze9D+*r$=d?e6ZrCY0XPtEgbH{KGG{h|EnZ)vx z952In4~~2FX&QOWsOyr1K1Fe|?vQxfQM$b9#3qR15CIWcDySM%<^ zBWLE2$7)~Jj9GLHpV1$Y*TF`P8yzj4(B-ReAU0bAXNOVHp)#(tPaw$ua9Icr^2zMg zZd+=$O~6{RxVqRK%*ePkTu8uQici=)qk7VUNnFRH34*7RhC|vV^?<5&G_p9Qj=1h zZ)fA>oANJJ5hl8FV)8{cHn&~>=4%*pBa0dCDUEimp8M=g?Xoh-Z||Qt75queszfeI zL@DdF@wL#3;N{5A! z7FGQHPu}nk1L>|nfws&MYLr~G&aG3zH>TIM=YjaRwsT+kKq%(w*I2Osb*g@@?Gr!M z;}3H3D;<4zV(jbhJU}bZR0lms&ae8Ut`bJq1`2Km_gKqcxxlI0uD+9(9L)l+2@u{aZS)0gW&L9e`I9x{vP6aNL-FZ9o z?D{R+lgg5RB%UjywTfDml8m6CkqL2Qs>cToZbOVJdpfA6hDeuYtuBNdi#@V-YqxQ> zYmS!WWh8eK!o`g->!5Z5hChcOoKbL-NHkXGRz{OGey9_+MQgmtJ705+BcIa33*T#C zDA0%7oI=W5IBoyZ zM9^P$Lcm}k^f;G{wKC@u$UuMt*a`<^r~rMuER5!oxdodE4`ips!L#Kdvf}WhT64*8L`uMR%n8LCL!qB!AztKnpPBRNUyIYd zcF)C*6XdCL!7Ibk4#u+Tfpejh;CT#q5BHPu9NkGi0WkbI$nS!q?kR8 zm=k*QPwPVtXQT%EGfmjz2>#Jkm_HkGcfBuw5uZe>RfgL`KBV|X_mBIpa`C#B58fO6 z)HBkOD4H*@NxRwWVj2IA!{uu60dcne<34)>BK*9DAFG2fXJoHq9UOwtnjoC?y0K{= zY(N0W&F3$1jICGkJ)%7nDMx^puN=U-yr+s91-JwAqpSLU?5oF$p{>D+0-^&DPQdX8 z2pg`YZbEiOap1VqVBY4)E#*5Pgr0ypr~;SCjP9~~rHx+AsR`Rf{>`5G>)Ov>PgcuS z%`bb*Ud%v{VD`In16(oaEj%;;u~;Fk-U8s7o%co!G^CH3BB%0T=IMtuTn**Lu3{*~`% zL5sa@Ddg$f8F?Sp zdp%XRSHnbc9w#ujH>(ZQeUDKaNmfiYR&79nx#03&2&VPLpc#Mz!##P#SJ(9CG)0WxiQ+9#06r z$m#9$KL{!PiP8QRg8tWoIygp5^|2-TH|@^56hytE-JBz-?Ol?r?SnB&Jlp~&Diza} zlY~mINdlqNNr7mGx=lK=gLq-azdp~lgiz5_?YHp#P;+sjYvoN}(pq){<5N)ctc8^o z^^;LSA9ZKk+b};O_fpVa+*2FHBQ$rdk+10rm&uK&9>OtkBTRiY%yVapfbPbxhR^+A zl{du^WSiUd>`>km-5CN#hxWD1UwG21F+t5qKEpo6ujNQW5Jj!AvzC36a$S11n9|Bk z)}*|+qUQO*X4jCJ#EFFzX zb-tVa6D<8K*zJOf&i({X*N%WPMl6@ixzlT4>Vq<%Q_atyhSR)j;A*X)dLCpadwzng zHC4|UP9de;Yv9Xn3!q=uPC=K`e}b{*P>Ab;GA}as`5HJwpNEn9ZjQ(oKf&6slm8m_ z|A_{7kbi9@37}VzN&70kKZ7eSpjgzGuKQz;$xY@Ami=AFp$aHei0mb4_M25k0h{5% z=mxauKW5CqjYybI0jUPIR|<#`%eZyNj<}F2y(r+z1;lW1+a6eg<#&o~7n@%>kqxwh zHMz-N-REOm%8moV{MWcUUgNky#JEtbf`3>M&Y&3I?1wUH2Y|8)2dj8WrP*`R(wMbn z5r`U3RM7}dYrJZ3qYI%Vi$W;PsR2yO1;`s4iNH+}1Xn%?mY5rBUX45*0?yyts!Q)1 z4CrIC=x#8F={r|ot82Kp(k{4a%50C&!@*2vkgNkME46*5CF(j)AQ&Ax^+`ZTzMfEr+^2~IZP+)du`R>U$l>6C}u67C4B|SUy zY#Wpcs^3cj$yiM1{xo!SCN4l10%q%iwN1yD1nru#R|2A^DIq zyFo!uH82_0VQ%MaH(AA*lmgA6$I`{*{H!#Xf7VA$!;&NW_nEP2Kr!oPa~7(ErFejp z$`kEUEP;A!1c14C{#jhfbp*4Q67LZ8(phCqRhpHN zLYNMwR|#gQ)GiItU>z9c(ZSZOp=}#cOLa{a^+3YALJJkIwp$7odp4nAp!VYS@{c${ z(PNxK4}a$px@ibKZ2&TIwaP1n8CpG8JFG)aG=jQl(ShIPjvmT} zEOy>7G0lb+VKq+-Z(5_yh-y8338sMk0M7Cum6b)2Z&f)AL`0Fhz-Bx6^s<-Bw5#J_ zn@+Lr+W$WW)BWpr^tT67twOw(HmG$hB#r81z|k~C1&IC#ae#i)sz-I*G+NtW zF(u6tXn^ZCGRe!ya}x^?N6Owtr1vRd0mDGZXt%;Ly6nfT z!!xxum`bXTJy6OQLR(w^EBw61k%`kV`xKY3nB_B^twsU*GEo9Oh)m~CE%>rPE5imw z9`lkJ^Y203odOy#-xHN3<(YZN9m;`y!y_RrkhUpS928G_Nu50m>~t zQ?ZnO;9>-4xXv|3WZpfF_qeMlK-v-oM&e(<-oZ}jc^YTCf}Te(^Dd%?u&-j*;P#@i z3A-^dbETyI{)zahHs9k;z?`p$HYfeF!uzjq@eXm|qo6CL`JmGSxA(l)jMp&h-|ER+ zUlkzL4QnN0Ko&uX_-CC_ITdQy`gbV2R?#jD

E2v`&V_ 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 literal 50068 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

rMwDB(nx|UOYoaaS80+r2w7OH<8 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 V$a(6uQ1A@I@Rr%lvg`Mr{S)H%nJ54N diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartTicked.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BarChartTicked.png index 070f3fdcf2982d206d98efa7aede3554de15844e..4ee1556e9cd5ebab6540e06bceb0e0680860c8f7 100644 GIT binary patch literal 24410 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 DH0@M@ literal 15008 zcmcJ0bySq=+V_ZCEJS4s3Q`ghLnz&dD5)UbAW~8TlEP3XBHbdTQqmH`(4!*KAt^DS zgmia**MPojoo{{Xd(U~_bM`;8m-8?)&wXF_@A}2{_}x*GJ#~WW1OkCLB`oz za}S7}E<}D~<#oTM6!0L9i6wkAPJUOe@z(AuAzEj?;u|z~h}HYG&B9Tp;kQ>)->!M4 zS4^&@%xX(sH_2cLMVD-P#m9&!i?5~kH7!W2c+9R1WE625l&T+s-(hYNy@y-r(j)xJ zE5T+BQ99)Ce|N9{r2{Xo$fPLXCG|$g5d^}A?W`&M#a)H}|679;*4-K9VrF^cJ2>>5 zMn%Qs-gJM7qxVj?_l~n37KPs&^WGifu2^n+e(K_g%Fe>$Pd|L=yw*3Ta*>Gjq7O*K zN9VcupH+%c95KRFz?>82=((^`mCYq z2}-d7Gpl`e(V?*dwwvQg!43`%&q*lByf?lEUX#2`h#E&?GE>cN(`SjUp+F`1s$m92OF*k4Rx3d0tXTQN=wrJc`d z#2(IvD@$xlD0^>Wy|=Jq&GCIjwtd?hOTMQrx>z@oZ*4c=wi^<+M_4Wj*o0K@^Yd41 zFE)f3neFxT^kiz~l0Lf*za}Jk%hh|$^|ZwLkBRm)a)gKf8Ph}8B+1Fi7g-}!f@|8p zeY>>M@w3WTFD=Rzt;VTh=^ERbby;=Al&4jSY5Q%jB6Qw;ZUgD zm#LMn=&W0Cz;+tCDD_Xi~rlYg7 zsExC|S11!BBA6z04t>NPfx4=6Q#}-EnvOx^c12GmE3ixPQUxm12go)qFE8Kpr{L5t zzSH~m&iEA10(oIuR>ys<9R2i^5qlvHbd(2&Wi72}A|Jc6C{BcrT|$J)#ful2 zKX2~r@>(=|;6Drv-78tfb8|zZ%U&8xMVqFdYV8fKkGH`|_>t1r{w(7C2K= z(*Qcj%C*?_dObw3l6DlA!Dg499UJ0G8OFM^J~AU+equTS-C^gQ85VX9aZR=%igUP& zfH1GfuoUpi?S<6cOHU9-HYZc`;aW@%Au4s?01r}N2XpRuBTpjcX+CAc=|)^(e#`+c zw7Ut%=^S+YQ zVh=wMex;MsX!eoZ%1tX2YIc;oYiX>-dvhY~wB+`DyRxL`&(F_VB=_`1jJ$VN!otG5 z*L}TTiKAB)xhuXTz63DxY0e?ZcO7sWYmDLLo+A|e#;;gk63Vd1NaqGlY^_>uH+pk< z0?LV*nfZ1MPc;f_?Hx!A-`m<0DJ8(oJ@+!f|2((3g@yG@TpV>>R$yRYU0q!-o#MHC zOi__00U<>cw#D;Ry*nj-q}=l!)=OAjUHytKY)(j^B`n)G>w}QUp-d*NY|cj-38~4+ za&euN`PW3uGMB&9_*VVQoMj>N)6VwjJOAeIm22Hl_d~kb5vBL->|ASD zUj>%;EFRZwU#N!qU`2>*+DT~+h%i65vbFq+=uu;1Bb4AS;H-tCV?mR-=)?IR0Kws5 zVV9NSv^6v|R8%fe3bL?_E#?l^H#N;{nIzvrx?$%|6(e%a!f#%9cr4#Xf~mS5qoBh_ zj-c7W(j%R_EE3#gr~nRI#Mk2ZyjBYm0=YGig40bvivg-R;MtqfAAW ztG(8pot*{dO^fao!Q!jh#>Q_6H69SMP795rC5T3J_4!3qZA(jTR+gC4c!-m`2^YYe zk%u`>{`Jee3~y*?DB(J*AKR2lxVVCe zG@ns6$YXD3ErrWEPdkWOn88m|gt=S+C+4*=8V#o^gYU$N6NL+8E?cuq)TGwJ+J{wxM7!ea4uqm z-IvGRmVW7Eckx?y$wjSfcqDqR>X@0CK|hte%*MthA;H3uHm8)#(AU};5*wR|82^mI zqQz*jec1?obUshLLrhFe`u?Y7XJ(?;@UC#w8JWLB!AZ`4JREi(Yd1L1*{Pwb+Sc1^ zRnYUClqQ3)HiWIIuC9jr>Z?Fw3&&a#bIJ9i0Xx6R(#4B7E4<8VQ<9fgfh&E2$d2l; z6*mW!loxQw5Dq-CJREp<{pkDxmmplWLX&)UUgldZl3q9sP9reOVQU$t;CBWY)#)-Qv zjsUUYr0{prR9C+h!*lZhsXVMd4OF1}dV6Opw`S3^C9(=1;JB;4_JoD23B0)W$%AwOB6~;K_OpvZ@xDmfTRxd`%}@Tvca@F1L(P#LEPYk z6Cj*6N7UUb7nJj^_rk60s+YyCzKp-YaCTyO!vku`wA4UC*_ffX=JdH+H@hT^0*Kxu zeUWnMc(0-wDsKPdnxWx9>s#s38K6g)v^3fL^rBk|fdb;<;u4iuEOt(*kiH?i&<9mG zaam3IQ1L3$=lW#FGW-d`?)K#5ZYcqlN1~w zoe#bSP#!%^8*!V=5eOuk-|vRuaS|VLNtzvr1QNtv=R8pE2DsVA76_y&BZIvpEZ?+_ zY`=LRAKdJ+!YKKdl((A~;Hi^fM-YtjZ_VN5f5N^0slPIvYk31;1g%(+QB<@nIr+=I zJar8XXBU@US>FJhJUD;&DwgP>?ENMt<;I0I0zF)Eb@v);roswRB zf3vlQ=+V>P^MZncMjN6PLkuuhksbG#Yuzgb`s{F?AAJrHuDWu4h~65bJL6I&27sHK zoD4)R-V3(}jJhV6&b35e+LyGcr9}%ag+25Bo>^GPcjlM}5bKMAsB-(C*Kgi@=2VKG zg)_p($44#fFhVF|C>{6%DB_nktmhPzlyY)&u{}0QX=(`yW6<${$q}EX<@mN*ecmXd z#<=RaJvFvbbcXCi<4rE_6#|GUoe(k1)zXwdLg)w6 z3F2s`S}w!#?;E}$3iGdX4D=xjh3fG18)&IS5RW<0X?F?(=Ux)18JkqRP5 z+?@LE3s}SK>?RsUa-HCs;kB(NpWb}w0s1~RI_m7?0aOqbQK(R%0T#SfwMud6n>(@*T z6ciN1M310{4cJ$m`n?|XqJX?zU0s0KZ1d;NpAWt$sH7w^S3Dd91vt@ITU)%d+LtoF zUvLDhbSN>M?Jv=CqNpYiyN~pKI4=V96_fr`n(v>gyMGjstGgs3Zi}Y2w%L3DIWhqk zj4`@TKHUYhf*k_!2CJ-~@bUlyiy8EcjBw6VT|i3xZn(_$yG?emO=RWdNH~nh(Vr1= zo$Zg})H?^i_f75>snzv`VZ&Tk&4Bia{xVlPA!;~&OA%~psIr-&7+wp7ec1rlIsvvS zJdBj}uVx4)^{p~5z+kb84m3bxY^cN@+CztO873g!o7gW>nnc!oRG!GxoE%hJvV3-S zHf^x1e-Q&GXLeqm$^k5H8*}?*tGY$zXW~(Fpd>kB(H`F{n>>uber?is(*g8C!C%kdQUU{_z4FzNsGC2W1Tn<~rxy?G4RL=avLby=!zaF8OK zL3O(I0vU*p&t8GmN4P6co2KlFJQ(_d6d5H_unhRksHR}a5I$39{&k1qpQ=_`XL_X#63?}pK~-mTS{r45g^_c=KULJ#g~ zYDN{>3d9nA>vE(}ZB$g0Rp7wDz)T;OTencIm&}5>_Sfhr8@&DT7?93>i$u@M%-_Sp z$Sk*Zb}P_p(2~$%382JJQS#i_FR;lu--^<*GS``2e!BrN->SFwT6q6GtVo` zRs?H7Si1u5Yfhz{$jJ(FyV@32Gcq#L+}yk_m)731Hu}?En|7Fv>acybu*oYYABmBE zX-$zNbLzy>=PFE;U%RNxB6f*;)Y6pX$u+GT^gU-V-4vX<>iYWqt*xzXZ9LFr*5!i7 z*jb(}k_jtU?1N*+J+rSRcoe9pcB?!YPDiaw`a|v^;jFu@e%ZY@lF|$#aG(s&M#bv3wK!qN=cnml9hhoKFI=Io zJPy0kDvNuZ#YC_|3H!otGQ zh9=mfPd=?*wp3K!wzRee9IY4{4ZV;Zaq`;HnVA{d;F?hfwpW1>$2TkeheXEKwkiyB zSFe)otSlF&WF;f;M~EJEb)nqaRf#9;LhwNM!Ct|z+rR-kXD0nNB+4i@HWoH~m{Cnt zb+b~8nzX@MO-+peS|pM5$n(nQe5_l3+SigRCPfKH`*XKHy~=b#VV?KOAXIRIs4Iae zxA$6FT0S8@B?3AbnuoQORkFhsr}5U`b*vk5PWXT5%@3_0 zNhYv#DyPgwpwD}|#=E1d%SsQAT5Iv%b^L?Zr-+~AmM_)=NhF*uubs`qM@b3(RAr^t z#^NY!InT#?dHddw5pbvTMjoNz;g0RM1%;`Dw&rkyqYm$fUThK=;$afUl+!#$kYHn-r4{b=hK5X=<@Rf* zLC-a)QjhhYzHMxy-$B99?TpKsd<}3L4ixO|>-&8G$aQ?HR6u5_s2CUYm^Z%4Gp-_@ z@R-i4iBn4Jn`v%p$_6UoJgIJGmLgD@p3X)UXqXo+cgw^ism+MhG&enu3}gJX^~a~P zPi8-cwkx^@JnpHz`Jr;|U2*fqJ+Mr9u4_fhrmG(rSK|66$nPw}0Qd-;3aBC3HRd7( zQP8r>NlKkLh!m9-)@xd$2d=}1ukYy(J8}oMRRAzk-&~$Guqi~ zFwA+?fG*TyAW*iuXV?iQ(Z5Ak|6^$%_?dMBiBf6GiC$0<&^{X)8lpM%%nN$T4d+gB zm)}uS3y+O0yI1}4Pjg^>a8uySvGV0MMaN%_ZbN=7V3V)S;*s%T*39J+JIn15A9yTO zpWiPn0^9uY>B-HTH_5ae9UN%A)_>O5E8qsbM`}Yw=gN6SMG5ZXPy6+uYX9HZsCUxJ z%Ie*>aokQH4q9B1lm_I-%xnXK$=N{K|hL&PBs=PQWu4;j;<9X_)yX??QcpimriRnZ^Y_QGX72N^{9 zHc49ZrxVmR>DK1v>NWazBw<3eV3^h%eqUapo81)`7Y91y8vPF^5e<$KE{IPgD&M?$ zGp7VZwfxJgzSASoPT?lT0VKw)27(C}1dmF-ImuaVZf?%bnEdxW<1;#D#3UC&!jl5R z*1H}b|NAnvko}vKl$-2-f$pQ0@OY@8Q2#y81Xv@RUNDX5W#&X6Nx#wPrT}o)qmt{N zxV<+TK;&OF`P%=WhNf+!Rr+)V=o?5~Ox@fzjJB(d4j^e~^U1OBd%JxN)2n6&@Om8w zRkCd4n>*YP#f^R}exg+?pRt55jSpWEJmG`%=AKIjf7v1c} z?zsO7i8=AnReI<&n$Q@#FCA3d|H>BnUB1)DWx))(MnAu2bQdd1O^O?&104|$l4HLG z10N2i7G9h#Xc385nwfyof{wq_$lKD<-L01$eWEn%-rh#yp3a|(K~L2LP%eEp2{ss* zSaDDE+MM|9cM_;)mZ@fRLkeE;Zb1(mqzx7(sSJg2t<)6eJ))6}XC*Uq&i;FG?q=s0xsr4W#j^Kjv_}`n~*l z{_#YT_qkCQQ$#o3_9m;zyx7sE5V^qUGIG&n9bi@v@6-+g2J?6dGBvGiUFN_VI&b~0 zt;)*rBIKv@LE3m)QJ_Px-EMkT6&W{)NkZ8AB|$ee`VQ`jCIL zkyi z`6V$mEiElIRfZw-*RNmK=(Er8RGj*k9uK)_wq)6`srEch!rnHtGP@Dd@HA~-3p`K`fm_-QY+?-@jYS*ukD z!RTh6I&})t^sRa;+Q`fy+(QF;2C6#xjp zkcWq1fy~;$3Hu633>#iYR7CZ$R5TF@eLaYvpo+VZ`lJLE7r=s!AQcs9`W>#}@xPoiKBO{ql zCjZq16&+Iw0v{;i!h-6jnXCQ+aCD5^9kH#x8T9Px2sL+SNR{EQB0N_Cgri7& z%2pdU?*8F%8Pf9QWhdz_s>Bu+Db1*xW>3!%j>g%mEMpnplv#jiK0A3{VsCqiVD1jk zfCf@iQ3;KR-~*Q&v^3-*`9M%VeE9JGz1%^Sd(4ePB)+(`L=ablJF~82+Jsyo9)=D= zkwPFAQ@`|+BQ<{$S!6z`@9?9ew8ih#xCR@8_f_`Ubv{Wr6}SE!fdBsr7V_7;?*ko{ zm96<;T$OA9`?a)D=#|;2tE&1Az866Q@&#N!D5&W{++K`DLTFm1W_H*%1pCRH!C(~@ zA83w2dgNKn`aBB%n`j`!TWQ{#X|M(R(&9R9Hq_SAvIio3K+a)tFn>x)Ho#@C38JyK zv)i{~E6KD>rQf!u-j0AX;`fh-A~?Z|BXxvu z24*nA?hnU@vnX@He@LV#9Hs_toW72Z@cmYL+wgPN!)}6HAY3iBmyF%>*LPO!zo#M& z*Txur2Sl!QD$otw&<(pr-@0}i(fWw`p~E_5ephYpn7@k5F=DewM<_h9d5=mTsiV8h zPyi6wrBI-^*B|6|BXwN%c6UI^yq5I#0vFGQM%cj=g+dt^7>LzEc)N=CqcAl)t>8+L zD+s&yr1mw{m7x#kd!545)0|v83v{j>b@>N zLQ$#+gS4{kV@Zr&BrD#Zg4MidlNj`g$3aMo~{gg%@8mfI=Azm zCq<&rK2jqd+&v*x5?_ZGF63vWx};HQkbHHGYcdaCsSUx%K-hr2_2d^?HH?S^@Ci)5 zK)vzJv!>qL!*tfC{0hAH*1Y!s(i8$GK0Z1Oum`sJ47iPvy6>|0H+)%E{r0rW)~l-~ z$v>S$=0M#R6%~PAkBXwOw8l~rN~d&#aW_9&Kb4RwVO-?*4KtTO-(MNN_~cDn7;vZJ7|AiM|w6lH{sUxP$f|O;7IiL ziWqxBiq7roh#bd}v6-g_fM`oDaC0P#cXvN#Nzhf_t;Ax;u z5P4RvRm>eBI+QK@F54yekxVamxx2t1v>M8y{eOoFP8Jh0&d;xVfAQ`0u?rfUJ5BlE z`^gv-&m548w)mE@sjbV1@oPbD!rLS|)+1x?6^3c;=>b318ra8xV3Bet2RoZ;f@qa`?FN}AS&0H2?ooqhN2-TFF|d8KHm_q%hb+|r5H;YNKw@A#Y*`wRsvFfrm=hDW88 zjRcLXXUqB|jC@p7P~b7m4%N-7`YFeIzjBG@)s>fcl(Hi4-GP6(`y#_H4%PhXsos;YucZ5eB5ZjMs2q?YvZfE7ex z%V2Y0aSpzd+7zVY=mS_+P<~O{x-jCQ3_A*Q3}Upw$$j9ma>5De{R7h%Eik&a0(#cg zQ$B|dqbgRq9zT8zR`T1*%H55z#N6y`8VQeLfvmDJQ7}UmdgYiH;sHMuT%%@DuB^+l z+oF%`g5tK01PV=S*j#>I_4DqP_fBIg?q>B!AOt_^2^`Y3 zE%W5kQm15EhzNh3S@rW3zqO{LjP`OrzagRlqoMSKT-B~I*ATP6eN@>k~pIt zw%X4ZP{v?$h$^l=6kA-1oE4j)E%8Z0;Oic-_*Pu94pjFTd1sa(wS>RTPeB}-c?R4S zk$Dr`wa;fMDJjuwvojMDzzA>lShlCuadV!(C1~?KBs!X<`vK?~0m!ER{K$%huNRZP zy;nD6#{G6@sa!#j!nj#-GrL71nJxae1p>0`OILk;JyK-J`UqnLfB{fo7EP}s6B2TuK=%y=S_zN!r54GS zrY24fj((gsPAsz7wy%hvkB@|kPmXK`?7UpUwVoisR6`*)>qwRlzpR`P7Zr6`O5ogy z8Bp!N8e^dF;(?6%{ms(b+q+MT3Bhu4@k0oNpoF1OmXrvyu*lxa9Gs)$F@1qYwY0P- z%gd){XKTQxLl!*92q`CfFhOmiSF^tKfXzW@W`O>-K7aLeb!q-t{!Y0aelkD(@`nq{ z6Ya2bZ9#TnE@B-ofvMl;bFXeN3vhy11&P-Y5ea)N>_n@v~;8zcls0rY2)MO~~(FzW;86ZYL5W^_O# zHK3nve+BWpv9SU1Ii0w>lYv3Jx+kRF)O2$T`lHErQnBT$8L>IS8*dx!FO0Og#n-&z z@%tU0q=@P?9M8Y<^f#@#UsGQ5X2T0}g6z#vVZX(P0V4C8f z9N>Dy!xeCsMJX;M02z_aHbJY4j<0fTH9dOa;I*Y$bhDWN1arjwE@gf?%ke;+jntUa(%rdMf&CFEX zzjU(Ox8e)XaRR{H|MqTr+QzLE?8}ah4(JA;yJ&>$e}Fqru*(JVF&KUVd@st~QdIPB zi%-GuGoP_%|A+wI=*38iCNJ|ET6j3}RBa-spn#W}^dGPrVwfza`eWkasFX1BH)X)Y zdwXs3ZbV9LlAA&Z>AWy>Q$Fw6vuB_zQX%qgX>5$RJuxwnue#|`xlR}#u0)3jo_Bj| zYLtTeZkLH*EXJeKptx1v-jREpwN0epnm`)dS+BMA2>}g*`3A^4-zxCuRZqR1<2uhv z`ZeSQ^QV?Khb31}GEraZ>;mf(#^6TB#;nC1zLr>ZW|YmAX2Ki^uy6noLTYUYBSj|& zVNI&Fk{7ErJBh;tQ@v&53SvwvV%GF#^hVA;sQ!q~f{fp55pj88%P9{}3H z^9HLBJh%O$q5}TWiIXRnmX>B#6&aa7fVCqaD5#g+1t2j2{aRjG8Tdw1LxUQukB{M| zMyPWczU_O7qXn2*g_i9=x%IiUJbY?~Eq{yBpv@Iy?mU1d7zXNh9rOgOhmj26;g#~e zN@={i>Yq^uDWe<=J<x&gZ#Wf78_{_o(Htwu%MF=H}mJ$brKY+g08fOVM z;5JPr!gI9Pq5RYUV+HXo5uJ6@l+4UbH5oZY$Gsm%(>=Qkf4sgZ(eJ%#qh*q0eAEc{ zcp92#$}htCgJ~tV*YWXqm@nVZc!`!c zTcV*i2V8mhVKhiIi<-YR5l`z}wiNI_#$yG}$HHi|5v`E@-O>6;2%B`3A!7hH(b;(g z_6e|rStAi5-Rhb?8!fk^p@L=;xN`eUBx9GuM{Sof110{z*G{z6{AWC{a>CHLDfx#- zYA&-Ne~7|tGrqtgIJpyC1Mjv31&tLymV{yumC3iZ{EfEX6&J6E%F^atRCfgJ`O#H# z2;tss;EH#j%3es*{lw46C@lisG^a%(?D8Mjj3sNwO0w+_TFS_6ujs+1|JR^p+nls6 zZDk#KYiRpK`J~nhL@`CcwmIz&(OYTsFyLA^_vXl(;N)Z`|3`zJ%fu7ufx%RN^`|KM-!caF<+{f=h17) zDJe~H!fNKDFU~STLm1ux`$QDRRUrBj0%IU^b`qY(fFz^1{0mG>>MI}1A9Q|njUG-R zWW(QhGOO=}a#&;gKs>={@!obXxF?A)kwAZPxwEY;AEs%*+!}x-l}NOMDIhR;+#!|f zz+7TUG0cV0N3BEa^^cF7G;ewh3Ks*10tT#MCR96H6F116r$Nh2$97T&>@W^*BWxx- zh~egUi|^SKi4;Y&gbh+h0GiBznt_4m^0aDkm$oH#J)iJKKv@FW0Rze2D+d+0MYL*!Cse!i-eTpQ!)yUk7a3EWb%D2#mFFsyLL z#HrS2MX3Ir`1&YU+K#2F&M?zk1?e&-hH%B9=}%9N5}xOYi3G_QHWlLR>>P$7jJASo zY1k&%ubkNau*AeY$k}UoSWZ#Wt7!k+tP;;JehCwYk-EYw5k$d!z*EJb!+FfgvTGQLnl7oEISkIb!YL&k&uksqDHyp6bmSrI$*(cB|UcXFaQbnaC2FtI$IIjox?w zhKOE~O(=T{1Ss4rf%$$8(<^@MuJ4Cyg7=yRw*$MBU?%b8)#zxgC77rSq++bjX;kBQmgfL+V+8D$gh}f1CtqN6}AoqzAQ{aiJ)(`=f$e@@NAO^#H zZf+&|N}-ml7Ljd92qp$K`O882WH9p)o~HV^Vmnx;RxHv#M71VV?M}=Cs5^%e>1N^M z`Q0p!In*KcKYUv33=VTmQ>~=v9R`EbUj57YEs zucEVZ&8>u(8@JJ9=e6K(1oM7GtE z=EXk|ej*p=%Y;{%sLs?Jv3i{e7%ok_9ZQ%im3ueZe{P*FPSRWA0*S(ede?OwBEq0~ zk3}L(Tq&?uz!N>@EeYAD!ef|?)wx{nE2r=gk+6$)=K4AK0@7Q z6g`!VWs1zut|zFpr%ExRk&%&L(5mHSw7_98Q!=x#fKda>crdxbdb3Hw6>OcIF)xn{ zm6nQ>5cjUh%H4=M`NrWMTSIoTaZe=C{Hai3*7HoGi!UO~A#qK`rv*)&A=g><&%%In ztoj0vv5xNWg@;sR11Gjou=cysmVanW7;A=2Et6fa-ork~K1{IWq5ksr}BcZXhDy`ZFpfRQ+tN7d+8T z>90Q@hE;qv$6kVBNMRJ7EBEkvZeseaGbiKz+Kgqq?(r_#qzX+#R@<1R6Cce?U23Vn zN%$};-t~BWKbj45lBze*wbvpA<9`u_6&*<8HzlgKHp?7QpP`_)R6G_Hsw+*KeYLH4 zn->WiQ2EyrDZNH=`XBv5oZHSM2gPm2Tu*zx(+A E09&PgiU0rr diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/BubbleChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/BubbleChartBasic.png index 10c90e13bf3cdcd6cae64d6a5f41913f2f38ad94..5a0ff50d43de374b348da60252550f58ff31ffcf 100644 GIT binary patch literal 24693 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≷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 N+ghEpEH@{{{tsKBW_17n literal 35899 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 Q!~g&Q07*qoM6N<$g4x~ha{vGU diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartBasic.png index 3e5d9cb164596c28e207cf356c7858b4bf1d90bd..098e40b878d455a2da09a1c9d3d8024c80c63eb0 100644 GIT binary patch literal 35273 zcma&OXIPWj_ca_vK|sZk5eBKwjPxQPy^5kk??w=Uh!Bbtsge+iVnsov_uflTK%@lh zNbdwfQxFnrfFuM6=d%8eclXc9IPOfgI8M=Ylx| zav%%>*{^+w83KV&p7HlXAVLtm3+F6v!xqL^o~1z@cDE-mUA}E=jU`sZ*OCUWN4-D% z!F%(`zL*AO9-Tz(u;1laSx*P`oqBsi=eYhMy+d0(>s`;3a>HcbT)R1Sr(Uwm)I%5KR<6$!EYU}8ArH_g0}#FV#^{}wRb7@ zyH>B8&i(kGu#E+1$Takj_K$x-rk_9#{P>&c%zyvo6!riAzl?|MXsfDnOA?3RO|G4F zPDb}^#Euga<4PWf4PnX~~I+-F5!+3xfUP5)zBez@T=^ z@aah7BS((d)CZJln0;iW?;`u(UBn?Fat_lU1a~Ud7DozXLRKO-=b%l+7$kKrWnwE| zb7v*G{PPcv4nuC-=?HA1*`ZcrGAwm<@9k`4>{@f%dWVm14%XmyH;lXx zF^V^bt~qw~>?2&!>RMi|*x4cO!kV^6n#yz|xn|c!ylN)!N+DB9e$D)WgynA^HajM^ zjE)>VitE#zX%_ln47!m05Qs?WC{yqTtKjho*$TA_{CO?Z+x|Cu==#F-qhG^)q=Je32PEiHOu!K9A0?KH1Y+Q^zw zT9Q(j;lrY`vg#&m(izf};OV?9qO}t#e^G>Ya$E^AfJ0%QvB?Sgu zymYDB``h~|=1j+JbrTIrECPw7lz^SAjYNLRR#jD9V9k*U-Dq2*mBTQ&5SmBL*k@k4 zN#`C5gFxQ0Mj{~yLe>NF`c(9MUOIkbV)r8RL;0PF8@ zxNfevWZ|mT3@sUQL#MA~TYcu_aAlXKyJNJ9Ue)zaY&6Ft`wZ)Sw09gK*U+dW3Fib` zpGT@{YLrGQrfcU92n2$@_v5ud&>-BO=Bb9N>5HarZw;?aVN{Or!I=dhkZX;9{xI4A zKZuPrzEC{Q^iSD9wzj2r+4)<&Xv)8l2jgTup!p-|74O3HW1X_q$B+L_Lmz7^yo2^J|V}U>tYko%KB`c<9 z_@IE!{xdNJvwoY2(dx|St~GUTjosp-`GZ}6KZ$BlJYnz8^lwuq&<_MduGHEZM{>&y zA}44tV4@u%9Z$IJgUxEj0#ZJI{#=EixQ!v^%ZiJOleg9X{esSNN9N3^sG}%KiTyyc z*3PYg{(eIJ#CExPQLN^2I7fTPQwQUnt!ew6JP?qnv#GwFJ%NoRe&Ck#{KVVM3)p|Z zN65xG=Yx7*qN%9TMk}vv^I`2S4QlGz(pX6#X5Mbi4Lj43LIF29%dxx60dM*|^wROc z4mETadr`=7q7en+Ok*D1Ap7jW8G%1xqCw$R)!4qq-%P5DBFbT@myI^3e&&=bY&NMa3^XTA@A?hkBMJA{@3%VsLZlCz~4Ie&! zq@^{Sfkm;9*2pHO{`tZO*(6&HxP1|ZH!Z!{=R#c?+XNPq`TY5BsO7tYRbE?si|NQE zGZT~O@!cKjNHl5!dr5243^grbZ>E@%wj=)U_g?t6rlB(S5}jF1(X+~n@j2f6u18x% zrXN0WrHrk{?>KnpFAa;1TurvvYC*5zSD#>%%`Lo^*7k|h(dw%Ye+02XukHBl+t;t_ zgl;v5ZawDIo-vz+I+iCU#mPdngFCj6J6GJFL&9pKL!+6rw+=WI-jP8q?3g|MuEWp6 zQT1|Q;C_7UQ|*ZnmAu{C@Vhn=1|8Fh`v{G+rAo6IoIAQYG*PJ_Sd*00HS{2>qn~D2 zHC*kU0K9=X+qJXMwNR51y*s6~b3S8-TmTO(4c0_wWn~RVhnhj52`J^05aWcTL$?~% zpY*xkzJ2Ayi4(0i6Yrhc$7dmHm$8AHmAXO+@!1nS3t*Ut#$YpgPmJ?NS3?WF6Oc(Q_(P zk}R^Eh($k%>E5N?cXNskJlOtbcZWtHhBA zy@r0suNiy=;u+mtwk%9ZBZ0}#J_5I%%m2 z*{*=TBRH4Nq_W)=8MMf|_It!Dc6(QmteM9V6regeI_X!huw7D)5@>J zKBuvFNpXgOI7fet$)_OL`QBw!=lrD2RI5#0kRe<``pl)UEhwNZ<+6%ntFk)>)Sz(x zsmIWZ=}SwV)z#JfzNz#Od3)@?_fW2H5bD2RHkW>g41(ksMy8-gXVw8uiZ}6B&GI)Y z_q0wMh>Pq+AJUQsOTzy74Qyf@{LMQcky6fTqIza>_CY;qtu7&m)cmE++z8imn%x|r z#*4fK__62*;8_oU|L zO61*2{B9moFLQ!-iEU%cQqicS0)E;OO8amW;6*I&tOwutkE0gdBoa z{A5lZz52Eb#Q1%XKLMBtyZskr-`iRE{%BS$CX4V8gpe0E1|e(^37h#1Kj+sABg#d> zyzG-u0}s+n=vm^J*ngH`Ea;opmbx~3lEV+*n7V{Z>HA^^mZ36yJF>CKr6AnJBVS+} zqV}E(dZIm+mL+SiH6ByxyCfrpIBl7xPsmo}3=yv?TCC>A7$4mG6uWW5TJH0UJga^q zOAR68&ub*?XZGRQM6%}m-lvl{LOYAPTUDDi*ZEHDJ;jDm@`ui=h{ts(6WCQGn>e#` zk3<$5G@xg`F3)wl7gx$fLqJ*7uD<<#H zBHqh4C`;AW3O72nDJpDxUNcJO(0QYvUQ_A*Z5H3Pk6q7Kv_t;DiBW-JzELeox$FcC zv(&8*uDI2{_kk~mbm!h3>#fPfetA#J#4x^AmlLWB;xya7!S`O6K3llT3a1;@)J$tM zt*=Wha_uEN=e=QV0Vm=-QlAKm8K@J+!giAl_89+6eUdJ^43q9Tq2aU(TRxxE;3yDK zZXiO=&*R|@iSJikdxx)m$Y}f5G*uBj^UsZaC*k___k)q!ZAs}qUPV5B+r3qu))v6& zdq2`_F9K+FfsU+Jz~9bfte-3Fxzn%qZ9XgN&Jr%ef_lNFX-s{=Hbc+FwJc{o!D+$X zxyL;!FvEI}(UZ=}9#VM0F`ytoXuKP=P1c4nS^V&qN>(lRleS|Of95Dj=}E{#i9!4< zj5nsOBJZ_vc=|j)AB7Tw3exaX)~Y8sIgj$b(kt`w@$V}xmG(5~09&^>$M~YAQSCI% z^R=eP`x;{}mC((qq*hwqgsV~A?;+CG&wACsMH}bHWT8gz=6|GULwN-)u<-!(FiHf>Bs8;6? zbP+4nCOY+TG4QtA9#ffo-!Ls7OY(QAIy=4dHmkvIT@LzIydxH=nB@;H&xvlA*Hxx> z5Oi?)9AH!J1`uM~{Q=PM*6dF|WkTf>CE)pkXhW3_`J=p*dUjPpc{S+vAw6oW#eI&g zRLGvgscpR=K&l{BZa0R!k|~hF=ZDvda-G{P8>R9uF1L>SANP4{dyNb8nJo(;g3`cQ zS8=Eb@*VkpFl#i|GC|MnmXSGDQg8nLw6y~C?^wh3t`ZpfKBG^3y(t$C|68yaDc61e z0f?@cn5-?Ks%T}bQ;dz-JfY6X72{-malkdZtAx%v{0z;?ypO|!CPezb$xcWk#zHIT zwLn2yWz<3}4R;Z$RQhGERadNj_1+W+;|!}}oVhS-N06H>I}HL$qV3WMD`Odihs!O> z>k~Y7L-FPT>Hi;7lm7<%#)P`iH9IRnEYwBk&Q-G7)d}SVmP<<^@?NB_tL*hWGmseW zT7)YGa{E&o8(@Ek79aZ}jYwMVvx(~mNwls-8gY91c!)6%qu0Hiop~U<88Me~m`r$n z2ZSzcmYIEsXxf z%{(3t7k_K=<3IMiWy?vK2v8?fqSBYN68q#)AioX3kGqxl_^sTD9j{aWkd5WJ!04vl z+4o7|2oWZa`4w`^cF^Ld&->rIT}nt=uKY7ccOYu?`$FI+9_>9V)j=A} zvK8A>AGWd~MS#A?=UWVo4Be&F*=A-`aT=};h;vZS+`48 z6~W4b3nLz*if$RGHju9?l*$v&AI0-A-oTkA5Pipsv}MT1&Ec$u*W}+98|uvx^l;0* z4k;xy(rtv)i%@Iht@b^3c`f8sB#bjW&AVy$8cdB@-(t!6O^IfTywIE-D_YQs-mVDvhYNJTonDY0t7? zU`+c#?pe&no`1l;Hr1OA)sc$RD=QAXNv?G>Yi-=PyS~SYr<T~M)Ek9SJjh9{eU@Ia)7cKV* zfXAPxQz(7Q^kgDizwC^=FVu`9;Jd%~#|#+x1!kri0CE72>Gp&xi3ylxpN?d-ijR@p z|7dVF9(}TjC@v{{pvE?rd?pf>CFiNb-u|KUNR+f!7u}o`DhUc+jOilm_7_@KoydNW z2+0?qX3_qQRRrLvp6Gz8{C5D$_y-~Nt0fT~YK+Hy%`-(3SZU;4U5#Gr?x{Kp8k@qLG`KkvZ>G zeIl*Y-6zgJXae52C-(ZbnM#}DZ)d`3;3ExZz7AVx&ulxB(xX*Yd~aRV_p(Xud93^};iPnwupN{!z5GTmZ$957ehoEqeb*1@yGNjD%q&J6s&%91|MDa`xD5WivZ) zt$V7JHivGRd zJ%99k5x{}a)7AO!26(yh7m7iJ!*W}S@d&@RC#~v7!s;KWYp7xfPUBm$#UK_!lXPV+ zL8UthlZsG(!`i98_godBLlS{eCJc*Fr8LqnlJb@v|LmGf&K*=L@EgdkQmi^N9c8fx zv}DVtatz4M&DQR-=Me04zZ7Z~lfIA*JwF&Bc!|5J4$=4G$z`k>c#i*`Bw3JPO+MLv za7`9prU7&9aUZhiWS{=qz+%b3o!{<8{%FFDsw&~4*rd(TVFv+iM#|U%Y&RZ;>2iXUwv@rju{Eoo9WHJ1G zO(bl1Ru?@$0aZp>8+U%cdD8D=EM|LPd%yj$TvZnvs)o|erx;Hw4|>snPSCr&8;wP$lB z0C8es8rP!N5&76kC}xcV*-8T;)gvyCijux*F#A~7RjSCjhaJwr7;bK#ma&{gWt=j( zieLjl)CE4)kqyP^xj6Wn0~oG0?I{qb$e~e5xK~Lpsto>BM?_uqNGaUS?xq#YfZPhOWOv=tSw+408 z_arZG%J!SaM%esdS<3c$_06$5E6^ZG-u?q}ObZw>y{tC1A*-s-&3`&)VnV%*sH@Lx zY|)-^#V7lj10yMO_o2tQ6dSvNmxOyNgj^=mEYt4j5b|F}hK57Y9TR{Dw8d<6c%|<= zP6%G|&9LzGt?Zqx+P>ZL;xuCZ>V)d{Fcw@}*g6OWbWnRH8lt7*C6*V#6a>QGBu@BD00d3K%f{-AS(e&%i^hpOu?uN7nS7R5keHvPB#hG3_* zEtx_Yu1PXchTL-~l)C!bg|@Z`HrzJ=wfC6Vzo{!fZx0ymHR6mGWQT0BYiYkV$qncJ z@c7f@f@5#cq;Kyp-VT7ZyrZg%)xE;9)@Z(LDCe7~}4!MmQ%`P#fEbp{d?pN0*| z*Sv`b?BI>nxIpe`o-jk%%^9VpB6l?Aa)MpJ@Iv6(-4}8q2*YlAlcylCT`UU_o1HuF zcJFb+x@(%Y7oqB0D0SO?OkwL&2k2~}NSLWKD3CC?YTvhgF=Gck7K1?D*#26kNDp^f z#uo>7WVcun)e=D+TzJPKSOu;1Y}}X`_L47uGs*TeDhk)tG;c?IC|cZ*|t`yf&PLYE6sP z3Gf^XaP#d8G|*E~qpdu#r&Zhcefjcm>CMzp%HK@oN>GCWrxi_7`wT8^lB1!;4z3m@A98&kzBV1?&%K;nB%;i@hxC~VB(!T@YwGqK=iakcex#znBj7#)VHOsBs+ z8@uyc*L^`>9DaB_`~GU)gEaSE*0R#T>c*A^BB0I!teUgAz4aMi@nNf}bT^FVckc)$1Ft&M@Fm7g*hp{dsssso4mZpd27 zodOI*_3NI2&+)O+uxGu%>P|?1V^QX3e4sLadp4AMVfJG*fUmwa@CjNAEh{yGZl$$G zQAe~u(si{?E3x!ht7lR^!npFb1^|KSpiIoKA%BjxCd-`@UHoEPgLd~>jHT&%h)I2az6bTP zJ9+v7?3xs#36PQ%rCi)%l(c_u9UbyqP@fK?4{rc_(>{iKRM$tXF0@H+u0BFEFb& z;0sh*6N_XZ@Dq$kN&fMq!NW%cn#8+!r z%jCOoQO0y%q68~T)6XHjsa z+VO2)eENH^1blkV&%Dh&CZH8%;ob_Px)pzY!*M2ou|SvsN!#gi!|S9zO;maS2O?m6 z%%xqpy1b?O9o#Xp1X!fo74rV;;S4bDY$#wJ@SBfu|yY*1e$gu3=fO#Rd5#t#Uw*A`2>$^6xps@XKiG~?DR1%QjCJD7AO zQ&EUWMB_x?HR+0`+G0x`iFtlxM_cN;Y#U4xv2U8O%kjGxAZ*oG3O<-*6xiL>efk}+ zP1t-+I@@$`<`#Z1w$s(yG6MjyOk2kHn=A^I>n1UQaAUYWthC@dStu6h+X{DXMFCNe zTmESHE4m2eKhFFy2f$tOzY#VqG9Kbi+z|EArufuPlv#x&!R(L2=%ng`(QzJa>9 z%rzKf2jE#pz*#G^i7=2iotnON&8e$NplA+t=y6X=^6~PgLxKMps`p`rK$KaTQ$?6| zZw}Mi{%q0%((w2;$kk^R+vZpy&lDN$y*-Ey>N_Kg2*^ioS2%J)eK_yUrp( z#?9Tttcyy+X?*XHMhrOVbEw((&*1trOHT3)z?GMnzET)(F%1Tqr(J+aa~1UMaNm6h zdL9Fo&#Sy>wnH;>4Z@^~$`Us&3?x;U@kv;jLwQTAl`~d|DeyjXf3U}rbilfs?@iqG z>6rrM3lL3=zjKosB$bPCp#?m?KI#bzZq%-VL#?TsIQ!)d`nnJ;%oiD#W8?wsywhF$ zUdHcA7|4YPhH&Dyx*7sV#_;qxaYE8~cEFL1xwK_qrAasK&13pMvG)cH%#R8~*^BwW zt6reX{r;;b{U$*>x}FY&?D{LW(*e+M=EjJRM$p?9H_qAc+SrzPcn_E-RYBiEz8W$X z=NQGxaX|DGNNLQV1Wl0O{OPgMQU?zr+hr)Pjk!%9p;)#}14MHHhGAMi#vAqcq~_!L{UsB;QbnZVP-OoEt;W+Tuk&aEw$L zr6Y<9tK6Ds0(r~#t8Jw?!Su|Id~$_i36P~OsI>>=0fQqvVnj%?Cfi_Bd+!uSm;)oe zcJvn|m4e>q^6C#aVg#(a;iTn1Xxl5JtN3}cUQJ&)3Pdx7*vcm-n!|c2Zo9gV)L ziKwBCw}t2x(3Qv60g@wU|vT{3$%|vSN3!6&93F5BCe!9f---h>9m4ia^!y&iZu`}hsh1FQp{f!PN9?DCN z;Ib02w;{XvR9E1hr#zwV?m({n%G+0gaxRtIZK9%}0I3ed6LX*TnV>AfG5h0hfewv1 zZYa4IcM%KPCNbI&Q{!KOdXg^;R8n@Uh*$N6{M+ek(YH^wB#cvKy*5(&zJp5MwahEP z9(HY>U+iO~BLpx2xL%8X3%i4heB{MyG$;mfe&)dN?QrSh8Vk1gLd6fjtfuLu z)W2RMCB5&9Egp1as%q;qJH~WD3t~WJ4S;#a!3JVXZyviowjq8{6*N}5*xzn3SQVD( z88;wrm^6BvxG;}F04hQP{>+sd^P(aYi2kYTs=DM6%O~)SK%(pu`dM1Uic9 zBjwWeiM<;g<$#$05Xb=zQ9k+esz-*8YJb=;y;{ePD6TK$W>)7HpeVp3!QsUi53y2} zsuBRBh^;Md^X_1WM9~!{{~qMx%>zR91cehWfCvY*4S6!NpmXIKFfGlPifC2PX7x?6 zl`6VrnI^midAsr}U!=7_zCQqP6);7QadO}!O1`!Mi=YP68_J(Ngtv05-h4Lu{D`V$ z4^g)GwY|;@5OL<-cfXl{)-WLnW`ewrq8P6$9!mNqEk72r@xDs2y4I%eYcU3A_E;q3 zed-5 zb4}~}3X}lu__2ME0`6azRm3br3iBo2xb~rIFg+W_2aI=SSXU+{5Y#EI^>d&SdTFs_ zov_RVG5eJW)rLVFcqI}nKokf0^BnSiFz9x#-s#r-dXuZ6T|q{Ex-q}U3Tb8T3JYKk z`|`_r(_A2}v@AL~T3T7?fzbu%x?joKhU^p5J9+Ywmy5};g;oi#ZS`g0#Tq6^=MxJy zZ59rJeohnhtd}ok6%-ZclHJSAEG+sK@NhDjO!)Rd@U?wS@P-d&<*8Tfd|hQmsMOUO z&w+fS6lX1F$VWQII=NWAzx#qLsAcRs5E*oNRqNSHhk@U~uF=*`W|s*r62?Io+mE@0Ji=?ZVuFr{21Be<7Y zkn{1Ackj+^18Miu#;s`?lh9A@bkcSUT(VHQVL!;-flEpKH^wc*)6C?4Yvs5xu{oPY z2JoZjnb8~wHFmY4IaZV?(9fY0_J)jS!)$2aR z_6OkqKyh(x2^2di^^u5$f6Qc#B2?vO+;1X!+Klu&h5?aU%ce8TLp8Cx+)>O8`Pi;! zzptLQRKIBNjxA5yR-B@bEHE=OlgEf5SZNffk7iB|?QGK)r@GVev!8jr`rqGUhc|V( zgK+f2>aH!FY`urbl}C$2{a%gyf*j6<8mVT*Kh6d6LGiJOISE@Sw87k%`zsqPxp$o% zA|zm}3P~!lb!J`Q_86)-2jtTAfyBYjPk9#~Wfm2Qsc{l%jeupYzR~i+ap%Gh9mi&pIFEu}Jar?uQa1ye8IViR)EXpp|9j7SQ8< zE-t6)uct;cXV0h>&3r~!71(chi-MQ`FM)kskc(MDK0s;Qev|2;q3i!-gWkf^5L8O) zriW77)WJ_4x{^xJEnG1;R17_bX36txQJY@gvNGxO{3vlY5Um0X?6=6dH#_0 zdaVMw=HeH1VVsdIIQKOXox$JkZU9)mX6#!_QLV#Hn^CM9UbZg=ofdhdN{oujwUei zgK}!ZGLwa4n&JXCW4Wk)l&0LND=m$@h8R=;{@WuR+*!qe|xRaYz1e+Ysv z!+L3skL16b)c{1g-9WbqWUz)*&~!h+YFDZ3C>RL4JYQV$+AYD(2Wx*nOEE0Os1_;7=*_o&a+N9#=(l{{&!fCdV%zi9%RWK&xE}j{ z6OQlI+kZsDBm1dJ|`>$gd=JikVk`d1A2%VtGo=j~GJLF$u9T=wnHhJMx?Vo5{W zCj;#Qv@9-aP7eNZlaG!^f11JDV7M_=z1O<``~wnbJC}ILbS^P~uz}u3VQ4Qj%dgJ>DC5d)&w|b@5itI({iAIE$4=Wtgtz>F%Iw5q z9rl`ZEO*2je+H1wU?l;&^25$R>QGgw*<}Su_Ls3Fanv zKe7XCiG#1zo%#%v*}|ZWBNyf8;BEtClY<)_V%3(ymhxD^b(MX4Zgo=na2`+=K2T*t zyvfPj2HagM^qtIhCkW&~(>~~L&$;2b;Y(QK_OBfd2kvt#AC$8$b*fUtmK0kvXD;a^jY8vDLKcxACv7N=)d zf3~cI8(x+B*$k-bmiRJ!LN)fTyk||usSswPFhL%(Vs75z-4Wb?hj)I3vi2|sB1pQn zu==uUv7X4yW8#5(_Bm50CIhNW-RGA$O9({>6=2Rc-X~?P&ZH;g0$M@0Ol+(|E(Zvd<|@Gu%8c2+ z8f%7?A8qj`+wav8uNiBp*>-<3vj;Tmr%ZCm+2?pr5|6$46VT^#@~pgfXXN(;d*5)N zo=89BN8L#k(6lwBMxdYTh=wA1N>0Ue)757o))#>Y068FG^_fF0)@Ttpc?!-3q-pfODn*(6<~)K zPMi@rg>1#=$MMi%Wc=d@H~E&Jm;cxLQuS0!0BP1gM$4~q?8bJ-qV>>ZiHbtm%AlCEAMt4i%%ARY2Yv9Dxz8qyc>{U0+7C$LmM z&=tCx0QX<)1sXB_0jJ}@d71av84NT>)(#^#SJG3{7o^=>#JjJ^N`j#QP8&c48c9^v z`8e3nGfF-uSbA~KQscOwHn=;wpq@HSzL`<*&i0xhQW0eRIp#n_>zE`MJcuy{)~<}% z`)? zK~PZIvq93;P7cb~tcInbtKH?Nx;o#a{Ba}qMen^b*RfZ^IgvPX#jP7bLqVN;(9%o+ z2rm3cQk}cK@q_05M!z%Bdqurgk$rVe{`UqIRTa0ED@ddC@s*!hpsFVo8HD zTsRW2KD}CZA6x1uNp}(WODb(_EZDTv7u2bHQqXi4hmL;~%jUQA1_9;RK2zx`k+AmO zgrKI{qCdgZhO-}-+Q1dRP~58cE+EKgUD_LR&^o$d(uaE%C5Pxe8<6arYuz2Jz(HDM zDaja(9Qv3IRp0x(X7$O2yym_|WPVi{RuXZLK0QzXTA=`FOSy~tbxg(<_p(|kOCmne zb<;m%pQ&d1ql`;n1`FI9Mp+rODmS+QwFkyM)TTpP_5<-JE91wHg$i$t*2)wJF1E~e zU%6(o)o`=N{dtlPyr+cTar%{lR}@mg^bQyz8P9-X-=OtOR_XTl%2P)PB>E@u*g8o> zoa|4_quSIs{-*^1<4Qs>FvFk`(+EWKRBagO&c@RGsAe9jS%Kx9b70)a#?&sE{>X;C zkG%GS{@bmWD0pxbzev-J>5GItiU2b1s&DxFCtMZa{8stL>3UImY5ddt5=XX7LDRWV zaH$h$9f91yR0Zuf+I%40$v?`|I&Of{Ccjo?lGm1v4F+9g2D>lRA27s{IPZ1gPU_XTkLQVsHh`6!V@{}+q;H~lk(M8=G z9iVT~?%0($v3He2?yqrx6U+Id^U-r}^`yAhl^xd4WQ{g{Ju_B+IP~UPC42Unkk_aZ=oU31+&a-^6 ze3!2JWY|;4UmMyri=DGz29;uRZ|!LYpoERqWjWM#=W63@E~i+w>J3?Fzb)ERj2UzI zRulyGVnZ>BeI{$u3O0wV4(ZSqFM6mJ1(tRaK)vi%q7Q%u5BdG<9{ku40;*1w7d{q@ zAB29&h8iel*{h0_1eUfIOM@6OGZNmn2Sh9TcdebEVA52;*oWzOC>R*@eFe8J%emTB z*8Q}tFQ6k*SLVXc73;gh^+cii&i6aJ8OW|$CnRxhApZNG!_3?_Z{B=(^jR zY=85JoMJs~f9(&Uq{Gg_f1f{e<3&4_WBuUjG`G-MwX;+ACE}$FUf*abuE*JV5U1mP zJGVPXqXYV{ZtsO%dZh$okgRU&SEu^5yX3JU!2 z=u_3p9>dy%`OT;Uk+3&Hz+#Ub0hXby_gh$4A9d=k^)}X^QuWMIhZN$(MBtRH-AH;j za zE}K0brE>7>?y0YL=vH(Vtc08fG1}PkZ%%?*y?h-}`=VnKR2mUi+dBfyqogFn7gei! z5~&V7?A+`id}Y%c@1kJ7a9Ll&qH)I;Uy2%SD-BArLg%-75yT`nHeyr#egJ^6L za_S}@OITW1$nTD?G_J;>UBLV{39aNgT1Xc>lF%kjBd?Cey7*DL5h^N@ZPGEE9Xk#htG5*o>;KTWM{ zP`l`Ax%bhKh)*{@OGqQOso=JZH`byurnoVlSJQiGO0ll~WjP1Fv77?@`;V`UZJYl6 zK)B}itjWBiAZxRuaqx>K#aUSnJHEzrbN_Y;^8Wgn zcqzh2J)DxW?HdUTId`ev1SoCdW8U6v}32U}MfUjXH0UvDv?cPo>XQ(%)TFO?`HL7j^5h)@Xvtw>Ds3L`;7~ zhMbkK@fNR?kmQfkKFzL;Rs=saLOieuX3m>8kYVj!!ZX`gxie=nXJ%$Lun_O^sGaLj zQ9i06v%Xt!u&tAmlfG~aiMY?9CRDE6OYq73>^n|DUoR;Mf?XTa*!Z`uCYFdKm2E9G zHCplq8Rgw|+6hSB88D1r?T$?+C#U#wAX0x4=KtqU4j+OgjI>BrKL4v}k8@e2%e zr_2rD8d3EaN!;jfH+CRDei|h`T>!QIK`@;*UO-O)%YQ*mu`Nwx41_ME_Pkr+G@&%S zl**bIvn(&U$_e&k26SlPD$)DCjM7MS(%pW04mw>|E)cwYj@Gf2?_j)tn?9lsm_d9a zwTSKuTZgm{NdSr!lOVr2Xi#}Fk=1xzF2uu0Kh)d0_VS=I{aeAb68P2vh@~3{9EZS& z)O(;}-^Q2opaM-UT5Leax#N9u1Ivu&0~O;-YPUY(@!_KMIQ^gd>s;YWk_K|PIT67I zxvl=(>j52Y!6nA&>s}pUqIBZ@zYo6Gsqt#ZV(n80@1_L>q1k?T@Zf!)v1(xtlU+z8 zy@CESLU0uqM1LoD*ztI1yolLtUCN~jzWH@P@5u94GIYAMQRpfzKhF#^pekMOotm*RdKV^LNCAHF~* zn@j;W43 zCn3CZlr<72HT_A9YHxovUmu8p`shaC0wOI$|1l(j{aaFFLu0M);10gzLsxO~WGs!p zq}OMPA+E{4j8^VCb ztx3>jN)V>d609l+2UA5DzfIX5)QC&gD0o-t#a9RUl?b4>2TIhuiQ$hxi8c0zLgO5MX-fj1N7v z!CP%7Q#o?C9UFIu<<=U(>q7un3!k1eznYg*kInbT&w=Qm{b1P5nO5gD<(eJ6~{cQOoGDW4TVGtu@M}kQ-{iw0>6O^eh4<~qY;1EWN6B|FJY!8-j$qazmevCr{k6JiD!3v^QO1{x zOsV}iJi6k0Z4?_wZJ!J8OqCmdNe8FNZPyW0a1b%NGS|*Ax~xsA;ZzH)m&6o=3Z#~% zYrd%D*5Li5i%z`Uue?dAb{%^uS5{T89GV_>hB49G*fwOY7hStv_fpwtqIK?r^Mx$C(Y#hYZ2q2 zu1Sgt!V5^qdpa=qZ~LNk?FTz&=t8v3m7OPzHA*?*Nsf^)R?d*rL{Gc)UZjjvU+c+c z&7Ffnwv2!$8w}8G9OOlYRLJBAE~X4zF#e<~t>5`Cabr|P_5&M#5)wf8I}$d1Yphm04=DPqG9Hfz9S|C2e9U|F8-i7L)VZ#4 zBFWMVHeAad5+#k0LI;2&kQ-|hFOo}`W4b`E*8cNy)7$(&Pn#`L;6>~te9GeF#waS* z)ge7>l%$QsrX#5C2bXbso*?4&KH9#!i({I+s3EUPZtH%3LtsVj8@~HOrr<)_z z4%;1J)1HQlaZw>2R{DXZ`X!1yjy>#Ge*9>~e^8W*t8(1weOJ`GhL9?m5_`%_Y)bvm zu=EYV<2IWa&6>(qK4~X->%k*1GWT|sDT5mZ)b_wj%oU0CP&*0FS@iTGyGasZ;1huY8 zQBind${yma&S<6VU6O$v-*n(dem|LQ_(!OxB zgg}0Dvi}SDne3oKowd#Ut1ld|WF;8_?QSl@6(Zs7J_)RVhM(^+umI1DwUMAp*;0=) zTE*=2-8;^!=HU00XjC|v)LEME0}S!HxUZ9AmxqLTouiY!5fBM0Gcg`Xp08hzJN8)t zjpGKz(#u$W!_i{t#G^OyP_;UgmA=>2=ayD4*h3(xjA<#8Li> z@9{UdU0RMBHkXorS}#t1`si0aMjJ^Jym#lUyYbd{woRu%IzSs}G^6`&E?D=)H`Y>lHqd=DGt)HDo(yt@e_wCzl1)r+uUi6WO`qO# z*UqaU=j36xdgdFqD-mB!jV*k+)zoB*)PJ)u2(qn_Hksuw=>xJd(LIOJ2b=_uga&^F zje*c2f+Qs;0b>MO@W|8zz_`ST0Us_a{yREo-vfPT^SkCb}7WC1=fstwHF{NierYZStdmq1J(#|$TQc0uF{c)AiC?2pZ+0xdaxIGrB?`8Mg+`@X)xPj@d&JWc2!@JyMnKPe=Jaq=sd@GBt z86wCiquLZ2%B}ZSS!sY@+pF9oS~HD;kSm41j!h~ba>JPV#EGf?JEiX~4=rP+Q!uCf zX_4ZIzRk^u@jAJ@d9~vKIDQD1>Mw6J9>{xoSM*;Svb1D+HmfGQb+{c&d5fSk1iloy%h8R<@S{~q)NFBl z#Q00qG6P<^Cr148#G=B3LSP2@xkMol8|FNyL}bbr?96I6g3mfK&!MljI7cQsmb&w<-heGhcs;4BsrH^@P@mWoN z{-Q6dG^Qn@$u#|Tp;|4!+p8OT+JJs|1t)Tz)16^H`jxEhzdU+xBVr1Zs=LnHNwA{2 zwwzQ^5lpW@Lt+p36{WFPk(hiWnX;#wUQTq)9Jgs8!mbv)I@Olk)glVxb7P;L8XlB% zfGJ_TjoSQ8E5+A`KbaUJaVT~3zs3BE_6pDx9O)*jX51X@YErSaA*^81S~)@uA;q?% zuJb8D0#>(zZqGQh1TH@dT8=RMHL6sQ#?LH!p3Wb)bhL!+AaQKQ*K_dI z>FM@->s1s)e7CPH#{Iv%VaRnmJtqCJ9J6!yiRr=AeZ*hZsZR$U_$NTc(z@ibV*$DP zW}RszAWk6fQzf10mM=a12%VV#u^*}JV)vml3@osA(xANWRobzM!e zaHdBXI>2QfCh_qf(k~5Aw84_POxM1W0U2?E@O+CKz$}uBzl|?GEHTO@YlZk*DJiL= zr(CU@j#UT?1{qx;SpIuF8oWmFl9#wqp}i!xiK!cXcl+f$V~quGi3PagH1qNjPsX;r zSiy1nL0>Z2cb?kzu#_3gG$NlX2}uSUt6N=O0luQzrr zY*6lO<_dJ-&R8)e;8zGriL}ZLo)Gy!)_VRZIrmJu61#p!KL4weCmB97BkRkL%45hZ z9UyUzXxzmQRSkTqe6z!UzHF9mULr)YqfUPp97Kv8d1sQDP|`rr>{`7wsb&u#7 z_SY7?)qygSGIu1BI+KeEM!w!iQB<_u>z{6|LTTK4A}!@HpH*T3g7k5$nW6}T+)6@t zN2W0_!U!^PV0Gvm-l@<1}k~k;LK+Y2Xn1#3Z@<4W8`U z8wUvhpY;KQrswq$A&G+?7zZ%mBDxh{fpQxJDieX^oSQBU4XO(JeT$2W<7d>MWn^t< zr+vnAZaKwyeS<3B5CPl!C-W|tat>dr?IzcGJn#)*mo@sxCCAWI=!(G{)r*-1iA3iZ zj~--hle>RbJ~J~D?Zr5?*?s`!JI^JPQul?i(rlB`9dzwZTab+UWKw_kJXx+9x`(_7A}+*k~`f;qUN7!put)qY<3EY%Y*%8 z*2|-BVESfjtx6d+HRhb8;Hg7>q3(CAH5{_FzGlBV9eXV#DJ!oLT9(MZo#^&{(WQ%t zN5yCd;yD+|ikqtA17uf3YBzDtczf7-_RM@!kc}hU>E%oEVBQI4^!fYOX#3%Ct)E$h zqUqBTHp6qzGYpM6X|Pc_6b+%1$<9tc^k-H+pBw%BbKhyJH!+_v=G;3^{5dZ(FBM%i zfa)Dmdj-98lQqiKX_tJpe5zwGOuKv4dB*k=pfBy+iZ@e4j1j?w-16|%ho6Nta!m93+ zY>A0?%#Gyc;psCf)B`oemnW}@Ewdq&4K+rC6=qWsg^7-Lx0ut~a{Bit$q3=pN(W`+ z9ba`M`y9#`G}sqPcZ%hoisYEWrGY}U7gln_7o^A83PPyPO7j-*jGgWz&UjMS)kaIXtmzd1-w0ig#1h*r`(2qkqZnCsuLPD`= z*FI245%%v1KRhtk-rxND+O>#-ZsbEKnhw=$U2N`$jHc+bsp^z+=%~mLFmllGU;}=a zT5iltPnv3Ru(PQk)=tIMnxM+7^Jrj7%gWYD@%V*h8t>|rJStKHnVV}WOhA0Ke>tu5`X!nz=Lz7~^>uM#kxV5EhGiWXP%!>Fhq4B9ZlJ*MP z*E7EUZH^>FkfSfTvq-sQs75ty5a(zPl!GQkiSWd29ete-$8bF_f~0tR9DCF&L!{_0 zHfS0owmzYLp1FY_7OQ!8e&T*Y%n^-(DL)Wt5l@2Shwb~G=!wgcLZ^dEhdgAPvW}to zcX)XZ47GP{i3Leql~VVL?Ne)m zsp9W>aJCVtCF4z=`62L3_iBtL`B^Z6^G$v>HVnY^WkH_qT0E)|_B5IJxn>U3o^VHT zT1scL`&oF78lh>)>XSu>Er!R00&tVc`;yu@Wg_c3|E}tsH__xV(bF5UKKD<&xS*2N zxqnihe0|JXN<>k|KB&IrN-^#mq&v(OKG`6-i!2G`x+tx_^A0uT?L8VH{%z%v1WQ#= zm+UO^?W#Nj`kGKW^wX=LF9LFl? zE78>Q^Pf!0`@#(v)$~t!!~>@mDa*zS#f^FWTLR$Kh?QtgC^%s z%C^%%Bln(Lk_V6>sOQxTt0wyf&8i-_CX@qHE*UrZ;Jpv@^j`PlK>P{iqO85{5nK5d zO4N4hueTPgM8g9WHd030F{IsnQ(G~)M}kfCr%{oL1U@ipX%fMH>hn4Aqz%D z)mo(~d?Mn#hJjB~6Vruod3MI5{MKvr}5~agMjN2fGs6XurnO6>B zp*>D#2-3F3sNT4y7Sv7Fe$Nfb!Wb}o`qE7w$&=^pRbi?u!|=PrBt_8IMpx^mT@7Ed zR(AUCS2Ckm+70V|$n;=8C1NTYTE}%nSDBi?OdimCxLt9fG8KrO4dHJC+)gGtR>D~L zf4%WAX}1N7=afGn`FWBo{C|szeIN%rCcNCHU}Mced?%9(WtFu+VNt1vDq2IV+Lzo` zWk^3y7=0uq0=2Ko>afernsVh_0>K4m>#hzSp=lI%fsl!w*bCz2;|Wmi93G zYn)m>9BIflC5ojQyH5A6pJXf1XoE1xitHRrQf$zq@`1w!*b+N5)eqJBq#yP1uvS z6D|;_zIFV_f4Tr0e{I)c074kB6gV^YWoQ3Hef~jTVmrvexW9^5V$-*^QzeJLPau+8 z&d}}?+wiRgPGxrDEZgfU4;d9oy?}qH^|ahTVHG4F&_vSt!0iM+&t%3pa-&aV!vc5F zp89BTB=hbLm6=wdXH6PJN#dDbRwaB(pMY~Z&X!3Iu7>0+@6C5D6<(kJv!e`QjFAt` zX@@u`vOT!KFLpe2Et`AsU3${Y0s3}X$u$i)4#hNr%g~9K<0wvL)oicOg4d2`yVN&L zV0k?Acs5Co4SzM|9MCfuAU`4bbT+@N=N0L-liex5;b&GJ!Db}6lzj+rk!g!=f`UtI z^IqueSPKMLsYF373v>ThS`N9_^IK-OZ!iZ5W{4xx2?UuV1@9|Wa;pU0a)q*WB=mGf zER~ebHf3?wYxny&{%<3apf@Lig^sXIQB#k&5>MT}S(DoCmmJTVuEe%GFR!?v!B+9~ zgFFA{F~%cMIh1%1PlbM9l`a%Dg}z8*h$i&6Q#cG-pH-i>WiY52OcC2Vd}12AaW_O~ z@85f1&L|~1Y*iYQ#FK|@#e5)})hFK2(;cujiBGj@+ud3n`Us-JMyI^BjbvQarEDzd z+}UUk-6f~n!dE)QeGSo?GApB`rdI{J5I&9d$AX+mh4XP}<+18xU8jF9+?(@f#HdaE zt{3O{CV0tC-&(*WD=}T7*VDkgR(8s)vy=}FpsU_>J6M+xga0lk7~tmiUNFgG?#!eb z>&o$#t^GASz4Ig}w;iiD?Em)ohlfQZI+0k70!5Kf=se`{Ac_w5haGXXR-uxsbM#4fUoEKT!AWSA znVKis-KV@^&wXET?g5i9K?_S8Bg1(G53>q73=CTbC@ih@WNWOi4Nu39eCbNGb+GoT z*SFQfjK)>mLn#*?@Lwi4+i(2%pH9T8&0vqR>C^fci;Vb9NkBMX6UbPR-)JP zeq% zeUOro=tG>Ke}&d8tLEWjc;(px^Gy&I`tO5C)x0AJtDRXggLx$MMXWUfZAPYrTo&sS zwqjUU2GD;F=$(3oT<*~@Y-j~V(tzKCpj$CIOGb;g5b7jAM=vnDSY&R>-I0Zqx`?8HV$1R}1z$jkcl z_eozvMwCps_6@m0|BbH)PYAflw1qU?6*AH-2`Vc;<0?%mdJj*Cngq6TC|&`xpcSttWh*XIG#IfAYqh;~52T*4Z?@ zP3oJ+Iyb;kcIC>m_MCe4gH7CkbF6;Z=mRHDe!%F4KrZka1|CsxWHI$lF334ldfZCP zA)BdAW$A>&Bro048BI2AgZ+Pz_Mh@Wl?qmW+%0)!(zYq#z9{GwaS;s8;V+6no{E2D zr5ha2jL9ZU1dVs^AGpM@v2SXYG zs~JI(B)s16MJuIIv8|zjVi0{<@tI^B;Vb5LWkgwyri<={0jcE?`ry}E&%5Bs4bD~> z0fWsECu6m_Pi1ziWQ`NQ}dzAAzF+p9m>~rHQ0n-~coU^@ zt^kG%QMtfK2I?4A z*m$-Hmp$jC@bm)2w|ukgJ1p3ZSz5es2&3n%!y62FZ-%G*Ls+^_!@+#) zDMCSi5q>jNUN#rTJUOxNG7YFH4#8bdIP-U`f2t^aavPkWs2arM=%|12Ti}POt12s{ z{F-2uw!i7rVA%hbe7|nJQ+r>q<7KrRc}*C?2DlBeO`Vp4CK}k{g~@jp2uw`=dc2Vr zmP8(itaobf3uVf=g`)bA4&vRV6?tkTST>zwCVJN_1aJbd7>ei4PFf95e`;C3S4D?+ z?@8#^73nq1uXmk~u}EsSfCfB|No&34Q&|X%H#euK?()2a@)TC9h__o|!S3$&5}5l9 zf;1X^K1q>+#U?-@PW1C*FlhWup)@9FH{@NONMNl*bz)Y_vh$%~H%G##lljD-rFFjl zxJnP%-FwC!ketk)SPrQY36^K?X@BDAeu?Py@7pP_YXs}p;v4nj1M5S;Y}ti=ch2m> zT~Io!BX%q+wx*`mT1TLR{@8{U+!|Iv*D9kQ>FDKfoIs36-Fe=lHa#m(EH+ioz@U?C z?Q!nxkKVDZ9+UqLGX4}vJ84Y9ie!If|A?I0Uop^?0|o{C%l;Q`I@k1kT^8OX;~K79 zocVMgMLzxs!rsrIX?HI3Zj{5%#%M@)!4?R*Bh7J5;Qs~u@ahpO!gn_M{BBgeVf>Nsfu`tI{S`-hm`c3HsdiFXQSJXAis!4B| zaC7}y*L4$`Rxm|YN;zN)Df&qU_a-&>;4g8k`}VBv9t!+|dzRn^5=j*`wNxU}0J<&D z2l6I3F_hSc2Wz{!x)uiBzZdJc-2;uQb(lM2p|G;O&|ZYrN2G(7>rujUfK-HPYnI}0 z*VJ`Hk7d2D{9Eb12`9~_eQaxQd%7aq=(W`6mGb6|G7g7p{a_yr_y0)Qwq{u^Vg2XY z`(!OPsY*q?Cq#sY!$m*_o4NQe_O!?eZiiW%d=-8vOv0|l#-Ib-B^#H{rc3=yyOv}| zLU-zCcdF51itIu+b82ktC;WIzrbPf?`tY+=LV)^1$-N#+6VW=tVOb+#m`l*7-%QNbPM(yr=^$oviCn(1ApV&kAU7CGWUZLSqS1mTrUZ zN~!4eT2tAsUk4bCX6`LP$MpKJ$P>5+huTu*sSVdpB_$>%4qC;g5(@NyIXe-J<=xD6 zJ}S4g?^_nZb`kJGArEA5YFo{@`@$sN+yv})O%s#&VYu`p zw@L!QjByZ7rj?-so)4fKtLe9(Y?2?t#lwBN5QG3Au?w0-cAj0$Ilt_u=bHG|6npL= zmELQVehLS-RneeS;W9pfdw94n41kmRJ_}fUu5watQ%Ep4Qj33{KbPnWD$dH*Cj~7v4CL7dO!BfiwG_1U z1;nL~{N5^eb$i9nOJVN2{{yUr$`g9aL!znH_`oe(Sl&M1<~JHGHW;-uLGyiXzHr&y zW6akma{lSz3Czug?`J{&9#OAA%Y?dfid)Fg}++!Q7|^NE=^x~lD?SH(QsNL4FRbtWF} zKkJz47i3Rynyk(gL^Cp=Ur+UX1hL?5I@bK`E;j}sQ-@g*5pjbZ<+yvhdl zw%vL8l2%FWy416K)&h;i!q(8)52Wc1muL^C)VR3MhO{1aD&j2)*(kkvam34rbEb$M zZhDJ@&bI4^rj?}P6mUPAd*7|#&NgWn}S@IZ0yQB z&Y7IOrlp|)eC+h^WQ$rI+2erji1xR^Dt-2B zYYwe`LdmHml~@?B5P$xpA4R$_Z{omjr&c_Ve9!FGDx$AX9cO&O0+|Rp41tPHiG8=8 zcJFZqwV|N{HOALj=kAF(=E4y7TCCIE=ln6`G^j$8fsXvwW#N*8F`r%*N}h zjIKQupqWxJ0BAvHW_MK9LB!=9)=bzgB)_xzWp!eS4~($^M_{-it>yvl&lU?>=q9T| zS18+}UVrewaT@`&HIp0)hD>2fOK+^|7=h@2%W>7Y0rn{256ru$@kvvA)v9UtR%ueQ zJ?|CS4lAElZ?dy^R&U+qmrSw{NQ zCyKVg4ggcHfB7<@u~E`G^%387S)?my)p!7%xi1^)dYLbH{BXHVss7AeXY+ics~O)nxK&P@*Fp@zn4B{?15eCU-P@D98I{vDby`l|G0@ zQ|mVl^(e5hal`9^ll5baCVM9MT*yu6^z&1E8le zZk<$XUyWfz0425k$@6@w!^>E+(l7)gj_)>2S2{uN{x={O5{wB?BbXKA)%}P-}QksT$sXp|XuHOg7&zk9=Gv){&h$NZ#;?n#I_lpoE9&FJ8 zA^Q4W6$YGUiB<^6d2eN0zZbqGzoVYF$f-?|r~qPwHUY3b!cVg<1LO!2Q_v&#h)VV6 zRnP*jja>_;JH2mx0*usMNQ6m~)aQ{qK+_>~Y>0>R4duvdXB3Ep z=vN9hYsi9Ly!ExhBz*F(xDZJO)0ZDB;tc?o*H3v55lz}U{gLk`jGWW@P#C1#C`f+Q z4M=JKyZLU3w0`Ea^Y0Q^06eN7ep02?-BWq9wP_9GBUIaW)kr4uV&R%o{I1&H<#Z zHMoH=HxAMqElq}3A{_~Wz5}gOK7g#VHXx=pKFLvs6Aba)vEH=ykKMbM$Gu6WJ*)vR zfO$!Gn11X@YLB|AtkNsgks}IOL5Pl|*uv4Rn4&ne&GM%txTWWKH_M{AF1`bH32sL_ z6839R*6s}Sog9d+R_G*TsJN1Qa~RiVWW7NW_kkU^bZq@$6J4lIo+K$A|aw})@cFj8iKoy`Zx zbHp_&?{UsOgK;_l1hQ$<0Krs0228L&iZn?2XPw!eyum%{R%4ghFwORIcUsa)_Rfqvxm2feCM z9M7Qu(u+pIecjSo?t(wv~ERW z9zmWOCKuq`i<&#kR@lNBf+l^tliL0I^8h&nU~5WiPIwuI)=`PEO>DkMb986SYAvwM!fHhnwBK5aUDZn}&>!Sob(to~c%2 zHm6p!qwXXQ(B&X^oBQzqgK;{ipgt5Vbh`P3%kT`%+qdgYj;`oTt=UTyG*QEN4$p)E z=Tq*|HRNcrE!W6PKVl{5EXLzami-r>`R6bYJ$mqGJtT|0SIdN2!g$R%rx5Ly#=% z5)wqZ*YAM9&On!oBHRn6Ly_)qQ%h`%oFq1LqCIF{MJW(PaA`Mvg(U*jY`K~BKWaC0 zI}{Q(p_Gd+Fs71cX#qanjXc0_g8SJhYUyX6fE;SUh2Fb*y(=8Mv5&X|IOa74x-tzB zO_uLtz7O&N5zi>BHX>xNpmVxnaqq1zdb!Q(-!;L{xhD&Bn**55VJJ!HZs`$p_O}8w zytFoCd_Khb79Y+$=6@Mfe~OX5$GTLv41l&CsIaVhO{i&+%LK%8ghC!b+No1oCjg@I zx`4m3xDwgNw9en0{43%OF_NJTn;tp>7u1Hohi`xt^YW<@$k|aiQq}VkK1I$vPLA}A zqTv@_zwrD3!hySm-gr73PpxDy>dCz~J^?iSljZ6FHZPMM2V`SgFkpIQ4dUshD(a|+R;|EN;Me{ z-hnYc&dfoJCt3DCpyq!qz-osIj!I^n*<|1*T^QL9#v6vAXZ@un(#wQSAbz0d)mOD+ z-Smj+`n;zF)cYaw^!Gi?poDK1eaR36XOH8rT0f;1Zhe$2Xo&*MJ=i&ZjE55u*u1)L z*K4+*xa2eJWS)l^Zf`Sl$fsX2{iZL*yxaRYUSrtmBtZbGo?kUHfjbb^HO$FdGVL?T zraF=S0fl*Cx8JuaJ4Z}lum#e=uT18$_gYE!cIxfYu|;*>Bv@BB`%4^y9QSCby9Y`U zNOGTG`>{v#Ip4u)AsvYiIwg~pHUn7*!eFd;US4ym0dBGj18UXZOehd=-I(w>vmA*x z+IGb2Ou!VB3Y40wbhrOGu`xz0TXbrvfpdU zA`5^Xm$+{iLyuGilreE;N}s{SpBtBPAeT{=(7&-HkfC3xe)xIl@=Ws0 zw)ZL#;`Vqik06*oN>lnjx|;(yrV~clp9B8Zr#d<{wFbc{tZu-Y_{6lmfEmddUH8#+ zF@`KzRDr3rf)Nj942t^r6BXJ{#!&}s z%AM*m5@d!nNMD^^5EzkLG;5&=7`JeVNu7AX7!zDh9i5TnX?SPsf;$_z4lZ6^=*!1@ zwTQ(J8GNy}e^bY)uWcvjv@{Z80moyVX2B`1cbOgtL1C+MJ*g+%D>EmfBp6H zK5zW(Ukqrg4{lWVx?!ZIs@nP&wQ6~x3L8DvDmz#0!yD+J62N3rkycj}l=M_krEim~ z{1_I%;Y=J19mI6yfdSuco?O|<{RZ3JpnsN#NzbIQ+verg#EP{xf;4* zofQtco_C)fZh&o+pLcV1)onD46Kr7E4I z&buceXPcYJxr-kf)KY{vnprUExij?0+nCt`d#?^mi@m6vX6UjPYsJsE2ylW6ZHK3w z4)EMF;z0NhlA6YVja(@n))S?HwB}-yJb@@oK?&v_9W5=%Uh^Nk>HuLon_E@AV9#AT zAHkD2^mM+KS0TP9(CsZIc5gNVlk)uB^arivGN!@%RfzYkQ?ZyR)xzO^H7*FdkAx=# zZGW7I0i^D6uP|h%>$!91tZi(h`wK&5k`PnR_?bZqOe$tB9#i{dFCX=Xy{ATRZ||Jn z&l$hjD#@_)?{d+ePWspMUThQA*rpzgYD|eYCIPbrEQAK=djnU2$2aJjZa7fOgml^&WAC6lgQaT+n zM7`P?SwOO`%O}3v+aX6J60Pldpf41UbhS3EZrVe>~DePm{ zi|+|U#vSlkAi3$Er>UvwGeXadgo?|`rb9dZzAHUkDJ9X*ydBwja6xYe(p^gEMRs}; zrfp^~6mDiiR{l`T!pgrqLNBO5|Kz?JWFex!KDYN6xF&UbG)78FiVD|483A*C*K+?B zZ_8G=1s!^?^{uUC7pjq+!vFm9j~hAmA+=UXu!V7vkV|4irz@9VsUMoZj2MqeIgy_g zzy&y|g@r%g2c!4Tr)sCEpE(%4te9&_L$)!R4=*b($CYxpkZTk;wJa=>R^}U=e<8-* zjQ8Xe{14Pj7fj0-xb_B5ak91wktG=SA>&BLX_ojQ&NUW=36 zvu6?GT_Rp;o_|8o115GVwN9;EFjt;k9k9o3g z6mMf6Q`zY@{+;Kvj7%DO@j2r>Y{T0MLI>&DkB73D7u4%D+2&J@qOW>k3$FWZm!8zlRFk?_Xc|8)4(;BKLBas1r>?A;%9zwpy71!D16 zAQFD zydG{TvY(!u)RMKZun>}z+>ga#X}P?g-0}2$8S<`WE||tso7Rj=^vsz9zP`SDqZs5y z%F=#jRwot~V(@tUuerIrtZ6%2+u%uJ+7X&7Q;8g$oTZ(ehFGro`T18IH_goxXLoo@ zMMg$`oteo&w#KN>j*c!Y=$q3J3kypD&Hwc2Q%yH9gm|K9Bww(wurL57Mpv(1eFS&j zlS;{#kf3vqGv@lbx?&`s@vD@{SF^CN{BS|)<&n)-2mt{BIYi<~tYjt|#^TcNs}G!C z$s#yQ9a`A$;_mM2H|_09$z;n+yvtFf%vZS*DNBj|^y$;g(vrZJ$Ii~qgPXTpIYhHl zE^1u9n?&MHPfx!*DsuX?mflt$3^IB9&K-Um*UH}q{`%{2Yj5(kjbdDq@CRTQz-g|DVH$tI~j_yoK zN*Wssq7i~r_rmXhKLgeO|3AZ#*X30#@IS;PEz%*cpZ9Z~{W}7EK=Fd=`Si2K G_x=YL0h|{A literal 23075 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 K)xw)rA^!)H!gxmj diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartSpanGaps.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartSpanGaps.png index 598e4bc0a22ad5367d6b7cad3509fe5fb3294628..9ead1db7e0c710298b09e12c3b377dd3085a6f23 100644 GIT binary patch literal 41881 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 diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartXY.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/LineChartXY.png index e03ce3fe95e410a844bff1c893559306d8f6659f..4f93a9ee32265468936b1249ac912ef6a03a2ec6 100644 GIT binary patch literal 30398 zcmeFacT`hZ7d9S>f+7MIM7pA)qDB-%r37^Z6#*R!0uls7K)Q4S2^PRYv16erDk?%m zsz5+NilT(xL!?O$oe&7gZ(o?1cO;oVe*b)HeQSNL^{&@3H}{@<&OUoT``OPvxpB-u zS9r1HViXD`eE85Gf1*(Q0Vou&w%|e(3N?OPrW%EkM;-oS-$`$5KV^~oN?RZHu)qi6 zwJqzeiSn+wCX>J8`;zaLn%msorEP0BNz^oR(DZaoIMo!^xZ2~wJH7Be=`_}iTzH~M zM0A)(V*9&(^)>yXp9B}}erF*5lMtQJJT2mKnAh!I4n1P9OS(r<@hG|G)ndkcf4hsJFU6 z)?CGwvZ~pfl0CSqw9J4SGye1Q)mGj9qHsB9VPWCZ=H_zKaw}1&KY~y&g8r(QUDHFs zKcfA2vDAvFGf@rx^v9iD@q^^4daLjTG=WjtQI-6ytSmj7mQ{M%X8|7ymC3^|53{*4 zfR@L`<0cwx1`6a@?^mu|Dcs|%R>fET^`7Fu%pifVdrilO4<8(QtKUpKsmm#nl#)W{ zJw&0-ZBan+paPV5%dafBpcnC^^H~{N=3$!2@@6Ws`+gZL9Ay zXZt=?bH-j@bG1hZM>o|^tC9`aOefXgw2J*!r>eX7MZP#>kvz!(Ju3q z)AQIfqDPxQx^?CAMK!Ov|Bl6D`}OYn^lG6q>ohJn*1!Lp?$EHK1LZ#4c2M1S?6v>M zy_nQsIsEP%X%tGLNl+Vw(%yh#*hOUIjwi11_M^GQq=?{$uAbJocK4-t0F%F5gfMxa zufIPvgEZjywQe~I6=F6!m0|%C15Gy6=@xoFnmvNvibkU&gM51Q%rC+eNV_jNx&}3# z$5&#wkJ0o~X3#rWRaMmtzm*5|>5LAF7lm5J)2&WrglP_cS^m{Ep30iYu(;p%!x=vs zYjtih&ug~eqwvtQ^z_EMJeCKJo=tUx?|-cW8wk-y9)Ek7r{rp}Kb>Mj7*Qlxj*pMG zuKP~Jk1I`ox6!g9u;~Qn_3PL3v9=~GkngfOXFi#~s{f&>Q}P2PBP?DY8O1?l6szR| z8XFt?o2aaG5}h=d#>8hFnBF{zqkUA2xpbvj=}W#Pjfo^G`~hQ0((pWMeIdU^x2 z?7?*P!JM584HRm-C$d>St>o$UAnu%Q$AsAnGubnF7tCjRf7<_aKFvl|S5_{=e|b(M zl6N^ao(H?grb&9EPywGs=e}r5JDXB?>&L>~+jq95JML`CY3R=nY!%VQTU_$+7{8tu zR@dHswm3{CrM)AEed9gmc`SZA1GAY)MOvA&Fq6~dyz2~i=B+0 z9&je$7)CQ_Ojy5?(M;XM*x0qw#WU(BSsH9b_#*t#G5m(=SW{dV%IZ+WB-_OJ*KSr) z8mJ-S)AVDsG~cbANywX0Djmp>>{vZ7@z5Z16OCdbuk}8rPLaOwZ@*kzcMx&!_M*l$tQP+<%{9D z|KNeOIkRomfgzuUQmptcI|tbQEsQd+4Tei$HsH^>j+aZcWpTCdjI9X6s|aGzT3)nB zQkUjnGGZ6$Gt=}YGJ)lWYieo{H(2a5Ib5Ypp-?80yhx?8enb0|wryLg7|65+E75wo z+qJEe`j`7v*lLX$dDQNOS}86bL`a7{L0}dWt}WNj-7vl?Z}Q-z2cBx^=H@0LGJ0sN z{D4SryZbyFKl71m6HNzj)ahsvIHQaOLgMvR zh8P*zqz|LiToxZ1epNqeZ;jK(PVwoHh&%^6mB8+dNEf|E``8sdbZPER5;Aqd+IYsO zSMI0`;vMQpG>=_YMIl3e7_knosdeeNL@a6VS@D5(OIbgrZd;igMtSUEM$UT1hqB_L zg?H=a7rs86Gw7x$zG9dq?7`A1D|X)4)~;4PthLmd#qw8}SqE=@4->=eP%P-KO~8)7 zbs-z(2MJ5Pd-ba5qP=|q-x?8ZE%6C8!l>Fr24OnGqCX)uRVCyOY0!T#1)NsFE{ptY z9i{B4x;z7x#)Gi1rMrUnRXP)0B4~wr}qoK9hINmTO9X9&V?ghu(daF0tU%V)JiT}vz0GQ2H zy9hqjJ;WC;zT{3*1{)z56i~ESm`bC(sZ*wzF3(6qf#_7C|A75zEY=C_TX8G@b$wZs z`T#ga-I31V{5o<*YU;X}g(oMkDiLlM@@?5T1-@{(?3vE4E~Q-GfSF#Syv0-|Z?y)! z*{xN1v7Tw{x4grh)Y!GCeRt&Eze!4x9of_gHl4@n%j>tnOdF5%TnqQ_w`x@>2Y1fb zlx(Hz-Ew!mUVft&A=jLLCe+zaLF3TdckfccMg1^}WUXGzD|%8aAT|WW@4+ws8tyB@ zBlxXyS%A)R9>KSQ+Q)QISN6_b5{BZp=9icMlV5(L!t7;rh$9-O@katVCwG5Y|XJ1`cw z3vvm33}b)?1RR>X3taN|PzANMU(DX+{|)p1&^)sw{owY8@apVQKUEd`M0)>YPE=0&jvFvq7O&nvop|9mr0?W;`` zQY5_6e|iClI-5?sx>metdSW2Oh}3)PVMK%%#pp4LKSXrC?cRu)Wc*UgTb)mCA>k6= zyxA1V{QC84GB_JT3TCDXlXmy+-M-v!{PO3n&3~uG+psydHsokwI*U0Jj9D^RCwq0V zkkEj>v+oH(?QpHB*E1DzGj~?5T4hc@wE@MWaBbdpC~@y1$7DbR!~J?}<3OiTJX`Yv zMXxb+jg22ue7d4Me|>*EbaBc~K5u!qFSm)>@gQbskN;GvBgCm%qPbjdv^xOJHO$G^ z5kvyL3d3p-MEkV{3>U+065Bs--<^NLYR4L4W>RI;J-0M7+Ffn(uPxd|VELKm`uR+% z;zf=*Iyz>G`Z6bnVZFIcz~gnww6qI9B<=0(g_KJQ!l->GjEro&nq7lW85t=Wkr2O} z+tveUhRf4=<>({y8poz|vz@e4#>T4+nBSw+>j0Q1d3$i#=hq&M%h7$?ZYbvW#GGu$ z9z1w(lesV#XSC*Y?#G0G1E0}pdm#u1jh(0 z)1uXsm%CK8W8c6MakyKBm)Y4(29dkPib&~Bl#5`iB5XT3`V$SG4_i&szeC;>oJz5O z&Fx98@T8H_s5+v#b5vARYqg=1Q_`uEC$G5@U+P7e;PLno>&ieBKSzL&*oKcMH>B9y zYscockcdQdv<3oRce<@m7gWDk8dohUlK6y`3f-ivy7Lmlanyg623D>=eVR8M2#J9}4n=6&_ zGwUXY+wY;(nz>!oRf;i~%B+LbN!NqB-Lzg{WJX|$DA``l^|Ve59kH974o~78Y5Eav z(~^07rkDf}#700wHpjBrz9?ihqT#!=?9F zKHcT`p&(c!IGX^Qr!H$c(@0NGFLTspT?S4VA~{E}chN+QgQqY92kD%NmsbWL>}}1X zCrnMHws|`_I4n`#c$y2E$glCm;R;N=PiBmE1;=X& z76Mw~u#-bW16bB0)tXGBQ>RWz&`ol@T~q(Vipz>geu>%PxPj)6qc>fNSy@>CGX4EY z);2aa)l%GUZe_}LB_cV(n-lT*hhxD@3W;wKG_+aE#RG)u-{k&W+x|UXw6n0^0F_;8 zF4d3RUGeJZcFGI^*#srltiV>?ft0!noUr{!9iAF;8)l z_waKhA8{puJNx<{TW{-)0qnrQz#69Xo=fYRXYNHsIX-ysptidD{H;~!^ba3)eB|zo zUcg38b8Om$#16T<$l_?o(ce?-r^b3(X)(!HxUBhO=U7+b;d>hbkE7)nBk{$dQV|T| zkT4f#cb5FH-!CbiHks*aBI7nu>enq=&gUAvT z6eNoG>n|N-eSW}YY%7R>)m$ozi%G~bXV!tceV3V8kML8o;lmL&*l_N$IBs@7+=HQY z(wW|0GF@7E+p%hwxh#U~VO5$co;msc8!0z8+Lb8v2d6uZ-91?>8NL!X(f{#6bLk*` z*p+CUa={q9zBJ+Il6_phP|?|rg*cH;VB?W2=9?=qP-s=-wMEP8X&%eDyrqgStbi;Y zA*Ud{4#Bwubc9Bd)MuJ8Qy%S2yaxE+h2MGn8$69Mr;5wC#)F!V&rKkG*f2Gh)d zbshrZXFg^)Hs#&j)7||Z!b}rbQ3Guy50^1&5^lJnsmNYT7nPZsnv$U3L~)s_=os*W zxs=kpS3P+Y`-zu(T-A>qSi zTCnTbpyGM%%kezj z>v8eXj2m7l(`Y|N_E%mlb>HH}i}UlO-U8qN{H8Zzr@dfaUc1nX#q#m!Sz}qd-X5IJ++zWQ{W1VLBKGrJs-H4noumm<#Ad}v`e!Y>Y zt1*!?RYOc)w0uK-mPelhc%RlTmO)j0y=}tj#4Kj^Qen=N+}&TRv6IJwn(H5evwoe* zFOQ*&J|OxPwhV`Pow2rliKGFn87iA1>;01lHd62mLZfBm%?vzz@L(mL(pGqDV4}%6 zBb>l&pJ-c^SC0gYmdhF|5I#j{^vVIqy*JNGkX}AK)0b;sm$ZGNFw^M55mVI2N@vI^ zgbJ#P!{su<@ndll2p{E@H%)Pw>gq%jd?vl}n4M@xaA>C@s#o?sCvFV>?N$G7Lr zG#xOov57}$%T}3o5%!SCfS&o(-5*cY(0dxwJo-*g4~G*R5KgRrXAC1mbMoia2*N5M z#UMWo2e{+cE@3DyoSMgKOquhA;`ATyCWm*%-;bttEElegtO8$saS7YQr%7d^QK%x9ieiZql zMyfQy&`n86YP3!P4UM(uZEOy*NIgWwL0Fx!lhCYj8IUH+kq0RiUGG<7f08+3Ru#MyCW{52HHd9A@si zhlG3)*w6kF+=}oiga8i(g#qnX@~BV^*_e--FW^0Le}3L3q4Huo{*YRj<~OSD z2r~witx>-H$;JJ;n5p9<%ewi)HSl)T2+MU$NE5}_v?i~sI3th|SdM>oUtkSp^MIm^ zp9eGa9RHHH5U&1T?kh2T1rph+|^JVW8W=sQ`>3l*KJie2Q<78oqcuycGkrkq)%jj#E3M?p9L!R8w{ zKVl0_6-ZN;#e#deGHnJh;E`8hVPP)C;f7t4hmNsb(J{>y*%43}nn$&r5Y~n~z;AEY zP-}rjb1Bhoc=;N9qYc<~2<`@F04PMMlxIem3-;5QlbF@?N?ne~dxXb!V>=e#8=so$ zUgDK6pTZHJqV}VX0A@K&1U{ySbel8UKb8%E9044z2NhCT@5ZagtgWpxyNcB=)z#Dh z@gF^9zWz@RjFxp&SR3~ESa$`yHFdmQ5pI$Y8~X{0FZmaUMMXMFn>RzAvxMWNvW^OA zMuWAb?uzF~;rA?%Z7ccIg9F_xqsMQB4dClVqx838t9quKw+eIE;#+MFJ z*~iD{QgZ@=VbJS1-r8&fKLYz@2~5{hmd&MC4QDsUHCOamPE2IER2#7%6EDp8iBqSn z8yXsV38yj_am2Y*_NcvXzm8tYt^-)|${^|@gTd$}9Q2mu9BewOx~j@bH%vO2grf&R zrqea*O3csC-%jgn4R%E@;Y`5_mjy80$;0i%1(^}SFO3)DP5`%vC{B9HBQ<2bJYLYKsmGknflyD3OgIW?D_y! z!hmD&YRx>?UC|*MI7eKDatA-N{Z|d4xfJ+@`jFK-CFuF@InAh55V60>p;l2mQy0>` zSy-)s03NG?|kJ$$%XUo#;>YdTfSkp*}f}Q4ofzG!-`n zL{PX4q?I2j3GkY*b47|sqDueF*x$31jYVvEpfOG9Bc;@k7uFD|^r@<;HKp2B%5Pz9%*K&d@;7V!_q!^AOt<(G5JSCnpyUc|P* zds<*nLq9*?2NH@ryDGPjbF9jD1#+(cv;%C1+Ljh4NO?kV`xeiC{gdm9NJz!HyCSaD zpHfWPp#S8&zP^5|Ks&a?ox{l5!$10GN0^WJjf1bJ^|xbB#2Z*Q3oYY#cD_P5;oSrd z&+H%rAkNP;^7QnCY@*c$Sms@>ZGWWW_AQ)0loiO5R)>QtDW=?TB?7BnAGyaZ|BW16 z3;^}_W!up(mvH4HnG|~K)-)hAZ{W1n zFyZDKBAJ^uZY=p?v{FKp;|cm;#`XQ3tzGrWR;~W^#faZWa9wM34D2h>tC8Ws04M=@ z{hm2JZi5URvP+gI!LPp$loXylmFu5wx7aT+J|YKBu=Pc_z%za>Ri`zc{{H^0mNp_7 z*#M?;Fb1urR`<#v4ma<@N0XjJAmpfHnMRwrRLu5oF#zV;fH@id z1#TD(*<|ogyFEofYL@cgDC9{vg585B9wYZu#RJv)ftdZI= z$DC|GNg|OvyUW)An0_jw8DK%^z`_y)J*$B&P3w-Vd_BM$UN-~$5Mu@IggLV!qi28h7%E}{BeWl+JT-NM`_4_%F(Zj=I z_X3sEbCufP?|T(09|KshN2$4b7snRen8N6hW%Ig>{`!Fsk?J13_aP$%de1YHY6FB9 zNVHUxHf>r&mb%4d2=_lS|Fn@Czv$?g22mk6Pfra(Dk2L3n>6+D`PkXnX-!jlypW6A z`KAHr$@Ax@%kL?DAY=lw+LI0NI*AisE96g?5lbf`Zc`+vxP^(~-nK)^Qo&3ONyRs5aKt7G)YqavPtl7A?)0 znhPn8oEtc4*icYp%kdeNpl3lY1tOH+=}k$0aON5)FcHv=wqxzM*lKKr>U~$@&6|r$ zfBcZ4U~Ct1QL2=84`pP>Of-O1v||gvX>-I%g;I!Q?O%WWcv|2~2id|-nkqN1p>j!M zqQCj$&d8}@aIRww$~4s+F4LgG)EJZ2@ZNrQ#BZ$oxH@iPOA|>4U=D`^4I)E5hsl4; z*%>N?s$hAhskV0z$rcdWTa=WP7?%#AVJ%*2q8uAjH#KXSpFJxbJt1;FhBX#H05a4F zLg1`m0!m3Khtv&7$qqmOPgJr1<8Ne>@B?5GM@JiD%QfI7CdHK7?G zWw_rsm39gkD5Q|{>(>PktUU)lY^=+@fXLruuY`@VFKe-e z!<*!opXJW79$WxD-qOBBpkEzqf^y!0C5^fMxZSkLAhnz|jJ_bK^87}{^+4K&?0{CO z4wmp(e*S*QbCx7f;*UPIgtEl}))is02+UQbc!0()NKHyS2O6!}li_Sz(2ce-pdyp5 zE9YO$nj*5NMu;j>7`)%^vPl*_kJ>Vxd~EbmflP9OTcE08+ngiDULxH)~~3s$@cIjs1f#i;k&%{cMRX#kH7B< za>R+3X#cNTQx)M@{9&Ou%e?9AJp0iuvZ0pq_Br{~KkBM1A8^W5Vyy8}2y*#Wn(V0( zLk2(+#j_)4fxiG=_Hx9N|C{gZE)uqGE@k(uDN$6|o(1!^tDom}V&Yb519RIRYA62+sN-mS6y-bC7Jr8M^dz3dx3DX@IDQS(ehD-^$Q_%= zx+H{Nnu+Igq_+)!Eg4BTa>>oDpzd{mBzt$qs_!DIyQo7TN%mt9zL=L|-usUym~DuWPv7h`A*Va4Lbl4I>sBg}ogBJX2M z217>&-A8^de!F+?-u$~l+M$H2-{j&ZeJ`Dj$qUs00EK1;r3de1FFfJu>I$USlelft2*Kr%k+y zNIQh!-ycqhZ6|zckBC?wrtI4@!M?$~7s$?m8ikMCZ9>3N2a!?pLF(bm3f18GhNQ)Q z0;%&reX;^mqs9|0Hy~%*EEE?GPSj3BTLHq#Z-!nsQtSXe9;$0f={U%6nOTd|an?(@ z1e6&9lsO>fXw772MnKdqjf#Le#lsrVX{2xo9o+%jb)=S!WOt zmqp(Y5OJ&Nk_sFF;NlkkSn#H^+EGs;pTN?3@QMvI)gX@BJ%Dlnn&sbY5A?i|1O07M z5|Er1$|ApdqFp({;Y-N?rmK-#t01=nkDoSI_6~%4VvsyP$oc1mP!Rq@m_1Fz zItDM5`2dL;loX!X%n3_&Jl$b^699`C9;s^11D}7wdwwh#WI$CH5bYUrbMxyOAi_ZC za8L?>(=Pq??a!IMKNfR7QZ#`1XBUW@MG1S=)e|!^)b`NQ&VA-J&GAk~^bwaXT{_8@ zROZAO-#Snoihh3CbwIuoVY8H1m6wYe%s}yV2TipIT+i>>)~QzuW1+HMKQ-Rx2rwD& z)JLTv(nGYl6C}DJxHaTtOee{3HlcVOIflVr;UK$G6!zzCM$B_EGM z&MhEKf1-&?U%6t%dy3E|&YOMb*$94pxOk9hk-f?ZxR!ZQzfc0PO~C5qzP`RdTY{K> zp0xJuBi?f0Sdf+(aEcbq32)v&F4sIKYW%l=>n4zG{dRywp^ypsx-^&8{q}Zt$xv-P zV_*>0YrY_85y#_0Jy9^TEiJOJH)CL$D4gb-%6mJ8*3;Yj!K1IXA;~N|e^D$nf^4S+ zrg9FoLQoqr3y{%lC?-j_VW9H10wU6O+7w5YJo^OJOe*XzY+|1w`WcT{nTp zx3hb*)g*PJ!=z>Qsvyo(RM-e!%I)VT9z`Br%@m#zg>dtJX7vd}W2og{N}LAmS0X6Xow5hgMFTYW#qisKZJU?NZ;s+A zDMoa2lBcs{wEXu*PPuBerGcCftlhPKtW#M~ViU&>c@T!GuB)>_cBEpA-w60J&=Z3G zFny)cX_)2Xb7ixCXJlkW6!=mA0L!=e!X{qYj@4>Z^%>~^A7x*=1wU zbVUaQA%8`DRcr77_Btpo=2cHkFpyK*e(H@TS9jEp9*`Xu$gCpQ_ITi)cZmgh(uZu)((2RSqp z>Ez;{bmxUO0XMJBp9a}|90yN_E_1b_<3ryW$nBMl%ml%VhR>_0P7Q$i+Z0G>C^a<>!2+)y0~ zkc8)3`=LODm$DU`bA~Y}Xmwv8Hac1sDAIfhek>&~oFK09p=~f&f?-Ky$rp(#D|w1ix648zzy>Y-hrr z3(9#poJRCd44v&l^zSpJ9?^1BVQjbp(Yu1FfGW7MT>DtjBKgkxnO?SR)*47nEwNIVSP~ z4B4FDd-9`ib3#&587*hj;Hk2e&Nng8%5YwN8r-e<08Lr(Gt^;I>cF-Z=EMNf@tD8B z*Y%y9i38L;Djxc6g7m&EUnn_Cm2zGf2xjf!5jcQNOiWZ$nWgZ0=Nq5s)jmi1W?k}kPbWR(ub6x|GKCLawCLqJ%K?|^oj4$noYFK z_OPdOTrtN4NI1a?d@iob8f;AKd*VujeoiGIpMYuQn1=0AIO9=o^q_yTZuG=Zdd8Bt>APu^daJ_Hh9YF8Z>I0lkN^|pB zgbh8FaN795fdjy(N^*I3m$+?bGevWU#*QN~HApDN?DXk}2x>xb&DO13AKts?##pZ- zz~!skPa=eGbA#bbq=wH94Gh3EkcV@0^IZFU9*ROxUf`I+d~LAax36CdHj%`)o!#9# zM_zKw&YQ{1I;2T8vu-C@!wqDSAgpxk{PqB8(kexZ$#L0G&+?#Pk!P*}9im8iW{CL+ z)Ysg4g>L_B$HFQlLsVM_R>hp0t>9Px$4CGIgZeNTVrV6zUvJr{MLTu&tOEjzO`S=q zAWq{p0V32H7&mniqL>zR1zyd%u;o}?uJ-=}*_WRCyBuA{R>0p)`hUd(dDU`YnhYbo#RIZ!N%IeQ~akZ-KOT z`)t=p5h)tv8XR7*5Ybe-bs6BMdg2FQ^RQ0k#Iawb*%dbTlzGR$hY|Gci~)S+sz??db92cYx$F!@qgfkZN}?ZLXtn zE`9ajkFB^@PlL=v6{=iU76>JI=iGeu*W)W8N4+-y%0nyDkC$G8<5Jcjhf`S0E)3Ev z5M)>aY*j`??$}FkWL7dVG853LPlYtGfXF6Mr!}D?p|O+dXbXO8uFwE4uM-?IHSD|% z5=uw|kIs3t52*{}&0{`#4I-x(~%Wu8jU>C#*?{|myz-njz_Z}=u)P9W$)8jFYlluo}Bqvpo{xbE!C5Fx|ISsP7eq~&NRLePpkL+&^mRm~p zVviZJ&m$VcM5K54cfq1ChP^P(d29rtMn{8gUL;k~7+Pv*lOJJg7X*?I{pHCW>iNo% zHdLrO7*F!|Gw+QdrwWMr%KCJO;eK8gxa(|=5gz*xLE6&1{Ql3FW&ubWPeVz>;(xN* zF1j>Su8n7Eq*vm5ixsZvri0Jkv4_@4{V`^(0PZFIV$Iv_6MwXq|SNGB&G+5&RQ(gp5En=7r6&XcB^tXyQ zU1RE^!?FR8Upqjv+g+l0$TB&>nOj0j&;*xG^VbX!?K>F!@UX%Q5Rp!hZ{Y`DI8QXD z*cfJxHDElaHSgsf`(ijVdH7NhDJWb(o_!o*u%B$us&GS{hlG$}vC1#ME^6PvEQ|r? zcpGEb;)0s$F(gQ?{qdB_{5ABsbdZ09U0-U>8gVgBrSf%%+-4F~ZGg1ZmyZE=D0a_ZNlXug#K?1R*rT zMeerTy$P#qqF<+ybN5&{EE7a;z&(I2eDTW=9$i4qpBaXQ=#n4< zM^FaxfJ6WOPL>Z~Mg->PT68m`@YWX`3V9lG`UzDzivL!4}YJn zcCF%m@v(~sWa!Yf9${j>}J1@D5wMUfdZ2D^YHwP}kc#6%uh6ug-%by*9ikf9J z6ng*<1CJBxN?ZbEE{^*t!Hhv%f@aNDA7EUbJduP3&W})b1a-|mjwx|^ClCv>2KB5} zU{|8ozH{CZC{RRJ0400qiP+9DcT)B|CA!(n`{4j9%=1`4Qh+q^eOZ(%TA1T~)E@F8 zC9KR2pnZR&L$*A`D219G)I*W7u8E0>1brE27`0l1Vt5jvuxx@Th-b#C;7}DYmdWxa zguw3yoSgy+>G3?8GW5#Li`Dmm1n^{Zy)G*&gMxfxqogI!308a@QUA?Ckh^rY7RSL` z_$+aO6vUq5pIry%R&2#!%x8$+-~Z~4{}+T$Lv=t+?$-0G0wM?tk(iL6#9TRrlvQJP zIl`L&LO#Y$kQwEea|6(>XGQ?@5s{erLIwumF68XDZWX+VfkIs)xa$1TSfI`4y~+yS zV^EFX-QzZ%X#_f2kirKcjT(iSb@iNU_EVO&jJ#9hcwjdIO9?y9@YugFla?msYNxaK{%Dsr> zvVg-*O0Ug{F==V|nJN1s5(p=Oow07s1@YK349DfS_8?3a(r60D>ZBtb=XDi?>-AJTXP zIWxpokf(t5{+sxgGv{uJZ?$X|Ixu%2!u@~A2jgTAk~YyeWdpMr(uFk3!ka^GKaqOC z@3@^}yFeaiqUl)1XGRaj!g~-tJKsam2YTaVIhct zT`7ctD%d?V-wV!7f{>@ccl6QPu~NGn1kGP(_V+sgL3S7FtqssjlKAdj|A-!{httdT zECqROC!0F?CI(@kp`rq62uN~;T8rzl`3itUpEtdO?0-MdlmRLpqmw5Q z5?GqUY+ouMGF+g(qN0FT)u0w5iY^BT8eph!Jk|Vl7+s_djewW%8RY6WCmee!UjmX$ z?HIj$hjSCDNd*99rYQf8uywohc57^TtEj=KiJ=67>C?DXG)OS@kKQ0jfkz zvswsl7saAFoi-@T{Yaz&qC%(2BrQTHPvfWhqG z`0isU!<{B7=!OA5x`$&kR1=!*e>_obZO;S_I~l}g4N#)~i}(HAMcw_Jj;pDw3m)3( z(R=cxk(3pjMDn|%J30BXOcoDx9m3ttsVSbSdnNsNyb}?Yoy1y)KuPWQ%~;|N=G$rm z)jZfU=`MreAixJn;u#N*G$fS<5yp<0Qwx%Srv5D)UpoqQOQbIf2@!~7gl|(eh2FZ~z18`crpBcTa{hLKN!K_6oG_5Zp6&P3RYXJ!HkjcFdeCqb9Q;B)k! zsB8lG9X3aRaV(PiDE$por9mo-r;=xPKNNEv5XC0YX+z|9@7}>#3W%;3{ z7WAhg22jSXg`>Fus?|BrP2Qio48TrjH6E!Ta?I*U=FD?;rV$`$Z#*db;gk-}$(V`4 z5L%YXX+eKCvlyXY-^5(G!V9e-;dt(^{TYERz!LRA9T&t1zy?2g^2DW>3~KebxdSCQ zR_PG5SJWpX=e{KZLdiJ}R3boFkR#X`!?78RBAA=`q-}Y<2lzB5(+_E~g?%oS3y3!^ zx5MWzJ<@MGQ4+_zW~i%MtO~n4-v*)$95c4$=}wz4#9l)JtifAyEOF>oSsZj0fl~*a z@iRbgh*OCO_XmkuNsa}V*;LsDHZgk?1fw`D0sJFt#mbe|f0Yg9uWse8+Id?tpKU*A z5YV@!Zz7ys`9hzr=~%ViY`;;Xv0Hxo?j1|_2CTiZW$E|rYfA&9 zdexI&%b&4!wGb0c+qgA0-NEr0&VDQ9T-J+6sdj8Pic1;B?C`V0G`G&_$6r%##NX}w zx`#aKPh0SKE$Z`Xo)SdzUj$ zOiat9%LYy%vP+BsT29=HUU^6^bh09y=07!-Tu({(2u}brg;H81fa0TK0Y5`f9hZBs z(}0vgblp7r5B%q0%i8eAR;EMRr}9Hj9j6*adr8UB36pN1y}}JZ=SULV2P9@Yc|~u- zabj?f}G!!R#_?ub z2Zy8Pf8d&adzUnC6o4MRvu;0BU7@d3JTDvsBq0Zu?pYV@H}X}*&kxkO$&kiK>^Ohu zXw=@c$;@B!v*UtUe|fbB>kQe|U$2xRE}{)7S2$9~La4Y^dEwBce&|3EF^@I1o6&L4 z3hcWlsV&N@Wwp^+*MsgLPnoRG05l5o2NN-p0f=Kvvdo>B5sczD;+M~a^) z%#BP3^{ok#)~e9ep_Mh%$25 zQ|7bDnVRddAaYa%m4p$q-gItF;N5*TAEo>Dyo|5}T-~$Zu%6QQ2`m6s--};eBChNeP@oOlx#o9osR3sRoGtgU2 zfnn}(t7;p!HQxIXvE7r<2960zkCRdXsCjr;mzbarmRUj(Q_y))XW~h}sO67ID_ZkY z=V@lQ^h>Y77AJF)^xYUcGhgBAB`c%iQBH6ilqdihJLBkIyW2x{K6ijNL3Nw&kB&2c zvTVCEJtr$E2Yi4wZ?Djm3l&1=Y~Q-nze->2Ajq$(7DUvtKXyOAWeMF~&MbRg(MB}y zvA%ZxgmKY;k=Q!y0PW>aoET;*J3rjki>Pc>^kNb^K_6I(K7oj5#2;H*%sAW!TMb#n zVp-f4O*^~Bh|N_qbZU&wc%)m|p2AJ$Cd&^g#$-_OI1_>E2V*avTP*QTdBM8@yNI%U zcOoE~mtE2ep1p#7(W^`R8hA@YMef9>pEoz1b17c29VU9yIhftEP-<0o98Ss(h9d-y zC?8UM2!-Dx2Y#e=r_lEHl7X~l1>{oS@$ehL|6qHj$5BY9lg>W&q*tyb@2%K+lrE{| z=N%%extF9&>5KY(Vlo(IcKhJI}KVpk~O2&hcy&Y9Fs zm>s2~^ov>95tg@YZ${`$caIxay@!@w6ZUcy0KZ`9h@*H{$ahQ+j2pH$m{MZG`|OB( z!>S%Ev^9hxTl@G&Ab{;Y>%GFsNW(Um@2oD$NVc9h)1^z;%n#mCXVNyS4!XjsO5_H1 z)i+b*%Qd)t$5@gQw+Xu#W71~>GE}<+FK}&v3!=xp2EN?5I=fu6`wfcYC6GtJu(s+p z)rpIH*IJSrKN#|xF8yO4Q0?oQ14pC9<=s_sN(N>&x0&3uGk2^YXGzA2IeBa-W z>3;)aH&NZufpP=1QzuR=hdiyHb_z}wMdv-$AC$)^6K+Kf{ zH*R>x20WKCi2o&&E&muBq+&p&5Jl)1;53l5VAPBHxS_Z^7~f>ay%aqKyvm48$?Y{T z=ac{Q2Y=gT7pmGls}4@Ar~(sVo&^)7kYJsfa#FG*pgUpS`nWC8c2=eIfz(^SDU04$ zhXw!>NyxblffPD`X)x`7-!}u5YEclh0uM@;9C8o#rZ%L!o~-2Oi*z`)Mg;1G&>F`c zY<+E14|d~RO#aucQvMXthN<3a{9&EHW@u=roqh}yonIZt0Pk=<%SfFQwY-!Lm{6nW z^)bPn#O}Ka+q{f(9XBnE1O{$EqhTR>ZZe?vf=z@-sfAHUE|99vGxja*IF(#||D091Z8&8o=T48uubE zuoVj3^IT!$W)#$n3nA*>e&vT8DQs3^n`H#2cvhZ7hfb~5@OE(@XjFxqBa*;xYr(nk z8hKuCr}Q=0#OM>8T5|Sy_SfH8OTI3qUi`5Y8u#{$_zw_qU_rC1sWDYFY^iL00xN4>$C-RtFK|_wRL;dzwxMv4B%}j5B zJn8i}`=2f-l(+@*8v&YZ=BQm(9f)6VR*_O4WapC~DO*)m6M>^3G0*`Ip_KAhYz0N) zEC?4+N3DE?>(S4~A^*oVuRsp@RCez^=1Je5z_FuKuC7F^AF*e<8k?P;xx~ps@W4C(YceB@6LYQF+hX$yT6QM{hG{CmRYN$IoxeS3vW3@T@SF% zqA;1Ko|Bed==+QR_x1HM0jz22bqJkB$8|}i44Z47NMZyztG-1%6lszH>7V&<{;O6z z4oP%p8UX&nx_kvUR`ct}_;8~=QCDBzxehHh05o{nkzFW?ul<+)hC8&i>_PU#4ZUry zEahjK02uD*jD3frz!C@Jta1RN95*+Q!G?_aB}uG#t8zUW*JP~Iywza*uw>C_(wl#sj z1-R7|Xq?$;qtonZ`i0S@J2oKY+GxiPoti4EC>K3`qJ4H4o3>|dgmdwnoz3@#0I|OZ zPOQ*dwOm+uyrMi-3<9n7v$D8$vl9h-y=coiJ7q%hmb=6UP~ng{I(qp)$*&(`QoH_G zB9*T2%D^$C%5YGEtg$>9@BgJULU*jcAuMnE_Yf43e?aps#u5VR!8ss~KA5d}ZsTsz^Wg z7pH}Je7daD=-ez}_u|5-ny}rp%%a`X{b6?cv5ZlLq|CL?bwz@SE5L9}zk<`41O@Jw zwn8yoX)$HDUrNb-jMzteRof=p6?WHM5pqmFTzZ<)z;fh;IF!C6QyoN6#%vg!xA(t8$L{V z52Q`KPNJ=@sc9rt3@aVP%`U01_5wI%^ail{E2sizVQ=@R)nS2jNd2My^E$+dC(o1I z?rZr^W#VtxcKr*S%;he>13Pea2neZ1r4q}ET6EJ70WFC(aZ#nTPyuMp^>egyO@!V4gxni$4+o2A{;`hQbR|1vP+ zrwd{s8Wmbcn296&(aBS%URG$=VR4QKCsqMkj0*(vqFED%46zxe^KX(TWfrVYg4#|z zqxq5^{FcJY!Q?hF9ACalK_|p^f*v_*#gLvMT;pFxp0Z0w+l1aFfSKHPQ+t70i?@~E zSe#ra)cICoCQi?7C64F3U=P8OYm#ad_Y=d@IEqJI;bWWV)o`}jCcFcj{!^GY_yf|f z=TOswIk5!P)}z-`{_JXL#C^?B9Y|npCSu~R78Mn_JFL`yF~ zHrZ+YX6S7Go+EufrKQWpnl+)ca>3jx+O=r)aj4#nMeV%seItHopq#>&$nyeK4ME*q z*#)Stq8cM}84#r^X&J~-V`>tNiXqV69OT7lPHzlIxcw2PwS@_`LeWr=MY?%QGz(OEfDlSW?#Lu=tT}6CF25 zQll)Qf#W^;bl29Pr82(SRA+I@3tFr`ES-npRfG$r$yq34+E6x6&VA+aPwRG_M3hDlWYImLq70BRibSHJVX(6 zY~xcGoX+>rXCZ z%ak-gW1&^e+f&M5BBX6oIRO7N;dcmr@oT^kx}lHklK1I)~r zgogK!Y)r3X21Ok5#Lc+`P&pPcx?;@z^<`2I*uj;BMvm;nm(=WpL$3{NAtpQXByHG8D30XFn# z=ydhy%hhe*IixPUk){DZQ{!47thNI4_|@3+(RMlZ?xtSUPKx&V_1GJJ z+pGO`T-cFpVGTIovuEx8%kf4;Y@wm)<JoKl*R zDqK6`(`XmJQjV`fNAZLRhUv2S5upBXSQ)Qy)QdweP;bpkQp)z)hhGxv=!K4b!`3e7 zXgsRW#DcRCilHcQqS?;Z>x`mB)6yijRO)bpxzDoW!~&bgClusXdXjD|fOGjpQ~ri*X48 z@)h?{r;LT4wHTrPY^W3p-L_?{^zHJUB$qdyJRd78R*%~JA>DfF)MxZGgj)KDjRUB}~ile8}MmSs?qw9>W-D05@>e#!WoEzO#$ zOBX_2Y*!>Q8XV-nnZyj`?H9dSA3b*QgGplPy05DPs&o}tefJmTI}Tvjih=>oE~~z= z)gNSB%4bQq{s7ns>6%HW#QowYj}pqTkZtlG`b}UE4WN3xW`Vye$jE4#CN0-}n6tvt zo}(SDgzb}Gcm(9r>YfZpmR>HF-xD=ZbY7ZfG*bfxovU@FPeXpTT=k9=?{r zFtD|`+uKybmofM0VP=x5CPD>WVprH7DxaZD5{%$~45bIpUL}N`Ri9AtJ|`fv7c_{C zH|5Z`M36)pmV)_-ae#~Q+Ss5Il%+PE-4IyAx0wTIe?8|W`a;&0YQsPEneHQZ1b*EY z+tIzcU1_=TxdK62k1u=%)fDKG81yyeQTBEW|4;k5Sbef?WrFwEQsbTn`mGF3WdXK- z0{Y`)tlJdZWFUo?%hvUm!_TLR$UaZ)k!p(4kK^kG^+XmNq&OLY3koZljgbBAS_XaB z!t*vqjSmacuS3>GK!1^SJ0ve6$280I?xPN3*AzA_G}oIp11s~G%f1bP+ElS4-i_c% zV?6)CHlO9h09%I`*HKj8Sfus=Vun`JbgkZeNPZQ$z4Lj=UAJmaxR|l?jRkS5`JK8u z7u6l-S!QY=xDB=|B4H7D*ElR<#y3ACiSV(<<8FDUzGWb?Q9?(dw2OAyYWtfkQ&|3$V zy!7sU{qWt`Y_I!pn=}+qs^~oMxL;w)?6T>3<_i$h&NDc?nsC&Gsb|IkkP(2KTD(7D z7Tf@MX=o$VSsk9=s!8(ve3_#zq+H||>}V_|Z8@vN<}l1W>?mU=YyMu5aaQOhY!W~H z*r9LiDx#8?BAo2&mUX+F7j9Ic1uh)p!djXlS`RIRMkzMwA%+-NDRtT~h#2|Kevq`l zq@Nlf?_ZJd`8%Fa)FVk6hB<7?P&GxM|EJ|6RpfvD7Qb6ygm$2px=&C7F&;{ z`URV5yQ|NHZ4G@n-$4^s?&2N`8TZyNUDU5=4 zO-cs${d`jI$qG_hLV^jkN*R+i*k zW(sNE)=D@n^cUtNI0e`Eyvpac5%Hx7T6fex6y{EbnW-Thj=>E&mkB>3XE@DEG^Sz& z)Ja0_MTwKAz2&IzYpbv(YI?GKa;XQsXVb(DkMGn1mCSFb8>($GN8jG&;E#`X!9WrL ze;iA!Mz5199S+R09qkFB^E6U!p{8sa%!o5mfmDGJyqIQO1aGZ-}O$%>T$qqr&Sx}X#XUxct=+M!@%q)7)$aHFhEDomM z3>b*8&%gi9*}rm8!Ia}4oz%`UeivlNt8Y$7yK%Y7@5jEfjuG>w&awQ%<4q64`Xr4( zmAB;e^Or7PxZ~v_N>$a<&k**LFkSRB>uoP^b*y&jd}+$u=>^w(ZUq5;FJ5;rO)3l% zXqP3Qh~F*s(2Wu~4jE0w`0fJFLeIP{xFs?2wTqIaAV8AL)so>osHWv2h)g)ftFih6bw9A~S{Z{|m z)izTsx{;Rg$f7)H8UOFX#kP8N(&4|a$p!1-+1Iza)YKIOS#BJO!u(4R`Q@em04ulJ AL;wH) literal 21065 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 diff --git a/src/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png b/src/chartjs-java-model/src/test/resources/screenshotReferences/MixedChartBasic.png index 6bcb7f9e028b92e88aeef205de38a0b134c186e7..e96a293de90c127775fcf19e203bc0b9344fe5f5 100644 GIT binary patch literal 27318 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 literal 28921 zcma%ic|4R|`1ehzCq1Z;Qm90hD8>@mTC5p^v1MzKVF-nho%Se8S!e8F#u!Vo?-86-u zec|Ar*FWswFLym32Sd;iNdM+FGvDOd9jEA&Cq9#Yy9MRbGF@kQ(b0!I4n^;;b$WkM zlxT336I1Au9WfXg(Hj{VVf^rkcm4bm-eO)}xlRYg{7yZj6w$z3+e7QvdA6?s3+i3f zN$WVjUFB>4c;7v@f}8Z4-{37zKhG~^dR~vYoXk>bX04>LY{4!<)i?85%;ki7KJdf% zVf|*)rJB9nJ$&xFx9wABQ^BtWoi_yV~Q$NWHLF^Y`S+#S;_ z$jOQ3eISobQuf%Le^Or^xaE2Nn4jv;v88`PNkr#OjcQQ zLR0<85e9>yv9n4^xD)KRwfwh!XU-$)w9037d^wnte%jao{-(i5c@lK>b)l0 z@30s>A?r>d>*=i2)prLpJ4;#m9Aj^DCsazAZ#|gvfByWb4cPd8zo?%1v%X}v{&%Ts z!rGc>l-fC{K*vi&>(A+{K6w{N85w_wgw!g}zXs>tN8hjt>9fc^{Q8?GPV3B~Zpf;x zot>SdqoZq2K`H&c=No5*s(asFO{Rs^RaI3L6cm(|`P{v$1r0>fB}2a!eSXPrxD&kM zAxz5GR8UY*wru!3)pgOP%#iy*=~q&5ULlegYYw@i(eH0q4gc%y?QM0((9qCoxZmmv zBRj$V7*sBr$}W-I(xRW%q0I8ReBxgt1cE?8XPn7<=)XL!Ptx2iWUbZ5XIh!BvsTk~ zk@DD*&qVWm$N%@l)1(uqxLcE=(`{|<;*3Q`g)YQ5wBoln7DBe?%2~_~R$$!+`WZJj zH`eYjYx~A)ZlNoW&K&ti4crs^h)W|9dWkeKk&~B~AO5wlun?t_xe^gPP754d{ds9m zgv?trg_X&o@AYh}eeyql{#;b_n1Y9QcO)MckUfH6>&bLyOMg`Mu-9{qPV4M6A%*%c zj(nk!EStw3pG}j;wvCL86b7%6>NnrkKeA9VUvHTfxD&WEU%g;GOtZQ(T;o@qk#P-( zvWjC*lud{b2Bmz+f2KR%#)511y{_=q(|l8(Wf9g`NXh3?{=6s=&0WioHOmkNA%p>R zr$1zyXs)X6Gy8k4znn#`-%?(wZ+4ltsa>|ZDBe#Zkpk#M!tS~UYkhd9I>Zu*EC$9Q zVDG!Pq%UWBdS8D(i&oFD^h^)g_F(0o{;{y3nI?8{*}oR30PBw?^B|jqn8F4dfD6&o zG!}ERp859@2QWgu{!772hjafw&GP?YvHxdi=`dtqA?~)*94KG4-DJsnyS?j#y2dge zidGYbcep%N>t*>))UOB5HG8m(APF&Waq}N46Xaocf_5T?ne>^}tPi{fVxKjQ9)u*D zi4(oMn9drKjuUl^uZ$fp9>$o@j?LCNMj^}S@IA-&M|yuo1`(Ijovkuvd%C0EZ;9OC zs?5qm2tE0)u&CThJ@F--K7>{xrACz-@MTF7ty0gYM0y|t{K=><{?`*0Y z(-%)9w$HkyMCGpVTR^^gK;;fEtsO)A8^l;D`Wb~Co`?~g>~)_0TxWSQ<=3C$35TWa zlDzNZ)OB$g596THEp>cuD-41TYpZcALete^rZX_*^p?Z8D;~kgb@$pO*@oi{r>)br z0(}~psPkFf2TCu&L}uQ$ey-+$CPel@4Nt(XEAIGA2Qlo!R>KcvhCMtFk2E>gbR!AZ z*-M(poYjV;Q+>*FN!rpl@;-~bxLof$ao!e4ONC(5u?q^A-izN4dWxlV z{z|M7~uHXylXWN zUw}Tho$S5*;iND7=`W1$E*I~Wk*w1~J06;qdeU=!N|kV&(qpX90N}I}DlH{aF4t~% zJ{Q!CpBsdE^IS-}HQnmA;^$O8x*|sNL7L{v*4vo=jguNV*NAN3Z~Mx8Cm`Kg1K)y~ML~ta(^yR$L9JsBKGMKFC^P6hmJ z8n)XO;l|12&Zv^L%pI{?@cJ~GS!fCnRJHueu9Mk#1&q09fTGVEw!ph`cqh#0$1STb zB_wkjfB3Mbu(`ye@+{5<6u64P2eCN0FI1O-C=uGC#!7>k_u^BrVo&3B>ta}G+_Qs_zYW2L7x z6GMfLAfDd;c^+O#Rg+OK>gB{FPli}dJ6xS6IyyEvHs!ye_6;YhalWoaQns05+!JL}6GM*WC|}O;+v0AxO^ajj zWXfU!>cp@?4m5iyuA9uZLm~Kw6rwjg>>Sq#LrJR#qm>(xXFMi)raK}M#dm+n!tL;3 zJXgAyuUOxl$RpHl8mg6D6V2sPW&|L@Ehp~)y?U0R z$UL&cGX`00&EIhx>4)VU=Ud|Ykuj^YLwzwl#uJ330QDeWqea0s1SYmOTkb^&D}C{%3qDDO5{ko#S{hM$&y?)25b0 zKjwI#NJxUXk(9QGh{Qcgv8t!h1=-x}p%+w|wAoR@7|%uSB|cxhCmzw<=vn8osE{V_ zb+(2NhSSS3E5!WE#mFQJ+y-$4w#$cn$^n?;VbrtfEI&)t&pjo}lLt7UVf0<;!_7)bFk;vE{8G^Y<)`5XE!%tT?`8;{|t`+%_}qcY54U z{=c`S7QekAG;I8Q&;|v|-xE&co~LdeYL903buQLVsmk-}p_aA1pqkG~y~Vi^Uzm*q zfb%aX)LUz2guw)V6T^_LZT~>WWw2c@XR5rBGMK(1lNnVr;f{jU3t8;L04M93-i=4O zj+PwIFdfa4FJ=!-)+1onA`5B>2$$7O|KhItT*EJC&hl4?Eb&!bsFrqdZ+jRfSn_Pz z4|bRXQb}l;nh4$fBO2td7ga#R3wu40I(;sSeFd0S9VcE?P}6-V(a8RRC0}UGPraaT zj5*mLpGHHVW+{W$9ZR=w$Az2fs%fK(T~1gm1iSyfC|7E|g|y5YN`lg(UwvO~7oJnO zcb&ejnA=fcko_V2n2wq@u{8^RIYp@J_dOU>AxOri6$(9f@?=lI9T%1)Wj^FVsf#o} zxBOsK*G)C;=}G}Z-3`|f2lBxAMD|aINgo*90w^20!wg(6U(zykIym<9sH8zlpma#t zoy>!Zn_>9E!_Y(LyJq$M+4~434$rakg%=$-_zgIh_{2n0f*f2pC{KBc^8=wz?5_TpXBsRxSPcmSg$Evy)4)_{3Kc$8w;_o9y6KwnyODX_fQCLU7p?-HNvhZYI-Z0uE(19e1}JaiPQFuiYm z=QL$ny01*f#-ChC)U&G5eQ9$9@#pyT^lapgs37x705i-S4-L3G8!pUucY2{%)G8yI zS)vy*bmb`GPatX+eUq2aX5JN6Y-#`*pOf$1L9#ZBxKlb~lBoUougtC-UE<@8#dWp8xk8A4F15Whg&Ney z4h02jImyn1Mf6pen)g1>3C#q@lE6M#zdU`9D=?k-lN|~q*gR*fHLC`jAUwKS|AuRi zXZG+kpGp0CcA^|BE{oeD6g^jiafFIQ8%|Tj?CN9Y)(R<~Rkg2QOnW8@-nM`Gc5x$> zKEV_Gu~&l)I_?~3Dk7qA$~3KQok9AEoq4^pzZof)k8;HjT*N zA5K0M?EG!QRa4mVmK_>z{GFxo+sQMRHZ%MyKi6|Bi2WgenIt(;Vrw18A|2HBp6n+iZK4(`Se`AkMF|IiKc$ck(c!1aJd-3;j;Vzg0$sS zGd9+zzGBpCZ<8z~gtNgz=TblVnj&#^r~)mnkT3u6L43DW9jch+2ip3GLNheud}CuR zxg!XZfAP+$@iMr&<{=5_)B7;Vpb~_DM`FfqX^Pa_mPvkNt41WBt-l3Dxy{dXrOW#| z1lhFcCAibuqh*J?cu$q)#rNb$TppF=l+1r{-JzMvNW^wL^es_(RXsG142KoEE z?e>;99-kmD#reWF{JPv#_;#CL*Ow^r6+Wn8B2Vz^%NfBF-K7}+z}k~^o@1ws|6!`# zU;}J~x`_r$&PrT`vo+}J@B%+uFw|XaLo2rJ{G|5pnrQtS!jIzBWDtAR^yfw5<^-UI z$6e@@s)zQO8bx2))&M`y3f2-{q8#>%X_0{ChaDE&G|t?P#qvT8l>j8W1*-g;YjoT^ zTH{SP#`i7pZQbLCI~_EX5*i>*C$U2nTJqVzX@?P;d(c0nXqGJtywR?W$Z=bp7Jay# zf~c|R_V02Y$ep5@SN>$iKP`12haVoUy?@V9t2nODMLB!dS8^y~ZbOhIE`{(2L0IV_?Dl2#p>0gjdaLzpZJOuuCs(|2Q4p(#b84y^jJb-m+m&%w%%N4?xBU6)LoM|1gqGsLp$$l=^>V|^8HZg=Z);h zWaMykuS%(7oYc?p%+9FSI%-Ydex4`ecQO!)pOC~uY|x{6fDnUDy*jJ|iZm%czQxOL z2)=qmNwM}M$(;8=-5&oyp&lR_y71cDNe|)Co$I45YOB@s^(dm~(Mhpp1y8+w3+Ux% z5ab(bs6&u-bvFE#R2&g3&L}blr+?QgOe17;w4o@K_t>CMM=aRZHqu<3Z4nQRZWG|ww$6pi6CG=qVn zU%W1#9dv=bMR8Jgg%d_kCwzT=1hKRuk0x`WH*ay(kg!+Tp}UgpcPPJK=!mcC`AqU5 zOqSH&5H^LeD#hw9iw<1DAIIX^N3UUZyfq3W-v3a%12KhV=(DMi>s8j*S-FhV<+kkheL?K)8YTlm?%%qIiYYr$h=$&}mm5}?^ zSG!3C;Xh5q-uPPk%S)2iv98%c3sUN05HySOv*3r_3z{RvyMJ=HZ}ejkbAJf&VuVKu%%Cx@4T5G#hnxsGuP}U z)+G)0EtNbt-%O4UW(DBXE*O6^DD1$1>dLRTTIxXk()cB{tLHaj74k+bkAeC)khI_ zrh@!4H`)%zB_ zvf+)8MF+HrbTqI*#)3xnrmAk?#9FuW zW>3KIb$^Sn!}Rjc(+TWQIyJfOez3x!QoDP{a>tG$QaW1kyiPP$ybce5k*)_~)Gb*S zo&UTUK{Qp>)?bI$iMkR0o%;|JYU;C2ACzU`xR2##f_ZJN_%Q-?1OGh=)F_hc-GfW6 z=f)Xl-ur@mLx_ySb!{G68S-XUfWn2EbcQ$*B}cE4ZPLq$ys3u4Q?tHDCZ-0D=7G^2 z;0yx-Vhzw^22JOlQH~&lezf8<4`L>t;HoY{(4w2=!c^@g^2a9ld9%s0sj6JPd{F4i ziq1lwb=)Pr9HTM*)8`eli!!TL0zQMvh~}(++7Qe1b%&Ik%$0*nR25Sg?h1PTI^6CU z1X=w)!y#) zrsEjHor~^ZX7&|7efy{_?=p!KM`pu)T^uZwQtC45o+y;u0&7l3-ihsyF0_=!@t^1D z-#CP_61qBwza@CifG{qYZuEtMK^H^gjB@m>= zEmXhQVYdt2{^7G}b6*o%f^sLZg1EqFEEsJUQunZCYNYigyf>bE)e=-)^ckJT(EK%G zBne~{eL=UKp1D)iN#Khx2soSC7e-9tb{@I0((+051QZ(Bs&^1EGxoenJ?CEsVWsP8 zrBUxbd=q2>cOw1mk0JyucjP9`t7q7~R=jL*y_9E^2!EiU{PAfN0Lv~U5X?)tBwbIv>CctbhlJUS_0}uoT#SL;E5i6umGDi?^+v(F$uA5$Kwb|4}u=PI? z2$xB=IZfgr|HLL;HJLJMtj-2;!A(pTq~60Fo!kCh7SSNJpfhsb5VYe`J2xK>`q>ok zfHyZ`0)CvQ#v~|^cauRn%{NU+etz^_pVOPhC>wuT5!t z-;-o6*F9I|Vw4Eht!~jfXf#8)A$a1RUC5uKh{Lif85x(T9cT$que*qqPcp8*lKcM9 zF_))cOj;4$t+!U6Nqqt8e<|<|TmWI)Na{;2@fp~$v5U1svy~`7X@_@WZP$pIlM33` zWloQxGah`v)iel#yE{G69<8B~Q{1DFz{mN_*ZPQflD(p9mbekH#w$OYPT^nqZ^ipX zhcg|D%yu2SdKFDYKIwolf~wE8qBrNx%8(psW_3$F${q42#fn|CUilRLH~cyH+Hgph zp#fLaAwL~8axt~ym4+qjVC$n=0SE%wLiC1Qv71Zm+SM&>H8O#krL#_oQUpcSim&4( zy|j?2ye)RW8*1dF)pxf=0VGX;Yy>oL&$;cLeo9?lugY1?H-xSC`cjWgc07vr7A&vy zX{H(%4q1d>+pW3lsVO3lt8~y=yI^z(yt5e zAhyMMSTe}(dYJy%o;QR_RBEztcZ05l0l?}-3ISX$89sKT)^Vf&hYrWs<=DgKWvy0v0V(u)s z>=8p~{>fH+?~6XoHc@KR*;H8r7sKaQ6+a`u$gt1Uze&ad5x$JYE~Ma)>nKs855Urb zd;&0S%;-5V_SBaV-Q|V5;*gq*Khe4m%<*_Ipmx2sRg?qbbb`8o5Sa^6Rss2!V?*SECzTff8as?w^jp zyinn+ac%PAKbVX+gu`AQG1LJ-l%V4vA&_>uYfU4&>nr;agn+nWK?Xu$kAOlvGXv&x z8u-pb_t?OU=+w?B6RyDf{3hUii=XoL7cIns>;zx4QOJp<)z=S9aaFmyPYl_B^4xuV z49UQnf1LcET)=9yibPW?QRKQ>P`aT`%Tcab>bT$DhMVI08O%3+;o%3*rD_#8NlTrUpl?X1%Ka^#gcq=tq9$WGRb}kX6UCv|63zqzGbp z5ee7@Aku-)s@rKIoxRdHF?8U;(dlxa(9@KLZ5&95LRuRCzQZ{X$`8g(#8Q=yBI?By z3%*1t_}m2h-14G(uE&~P-&7r)?#XsCye!n`7zDI6l&POxx{=jxD>ufh0Ly7iXi*i{ zYDwp}J=q|w-3X&Zb)?1HG|AoVBZ!5TM6=eX0N{-ECJUxV&=H-ZET=|FVIq2GOt4o5 zyzE(#H8UV`<|~H$Ifo@XI$cwOn$KYcWp56FtKjP%nX-J#;5dp{Fc5D$w%e!z1j{!> z{Hf}#bLjZmsYWEpQs%pmiz8nXWT04OqIGLjHfeR8Mx`>HjbiQtZ$?_|7X*)3tjLz z&HTn#1AWORWbxEqrv%XNP*E!kMZMX3%R-;57iXkKc6K-0S&&jW2NofmI87_~CYWN} zB7ybArP8L@B1Cw>l;YFX>A;`DNL|L~mJ~93+1Bcv7~5b%yZluGf(Pwuo1LLBiuSku zR;?HW2Y-*G*b?R~Ub2hHe_cqJaqPm?0IdVk9k~eViVIzRM)~#`WdDHUDoIQ4)CTjEwSgs6xFo zy-~FoFgQTE+N`*-CS@~xXmEh=;}+-5zozpM1nj#Boi^cJL*m6l001M$S8!Vwq!SC~ z%mxTHX)}z3svs-m4b<1|Q(a!F+wt@sqRUIQdD}1JqrSMoZ)p{0z`6VB4?Fv~^A{{` zywqu@Z@SwJXD*#G2w{C*|8uyCfxVC6jQbg3D~QPVP((3+BAZ=5=mH344Am^rz0O?O zuE>z0j9C|@l!{y-jgRv%MXXgOziwNX-NumquC-vmOtSFqC50e6u$B++AvDDx-};^) zV;60={p(^xm6sVM6ZI+JY~C_GJIZV*Pp{OrIbw;*h`-N>f2CnJHGCH+!q>&A`N$xW zv-MH4VG~MgJw}W7Nvz+G_=Pw-7eB+FO05F1)fIB7pI?grO*VFY-g~0-UUs~>>uinD zY&UtIV5RpHH1!)!kh=B6toC}RYUSIRQM79H>ySisCWr-;a$DzRBdmLKD}(Je^WA5W zETV^Ogum5`G4qEB?dOaGUDJaj%3u@D3<5hHBjHFW2{yNKxRRe&@<{ z#^|!qWR?`vNkyW#DqyXlUu`M}{?)ua$YjWKrFL%(R+ZjyP&Ry04!vr}{Uvr6yAJsbbx4#WPx@F{vgRh?x}vm(sm#fRQse!OoTFr1C!k7VBvdY=X% zRmqbiZm_L@K>HYj{3vr}nHADPdO-*}UI)JZcLO`UuT8)>!OeokNvPMt1gnv)vMHb> zdmc<-cfNx!O~EG(n`OUWQQdv%x1r*Xc@GZny!o+Gl%HgIS@wdL|9^HVxT%E&kqxw* zTQ!i?wKhn9*ghm4gzVW!tTpnA`Mi(xC}3Az(aqfab>^LPRW*PY6Nc1r4siG5h$}f5 zJL~=o^SKG7>A4QW%e7u+G0)d=ZNjzpcN<5!IOAK2P75Pqc+s!}ShYx*`k`6!sc&A}9pE113<*7ZMx302#t_h(hg zv)D`hl3FvDuM~#T+kivm(@&-}O702k=8d&MC%hXMt}X*6GBu&Wm5TH)-2uLAcw z!by_1zr|QHa08$CGzyj0oo^%@!plXu&v%wyGQ6B3=-mdR96X`sz?t*jh2yk^7Ur%R z9FBduqmYdRQ}%<73hOObRkKq)za&#wZSQ!oZum%l6axYo%dY{}WnsQJCu~;bQN{m! z?^~p0c0Q@?7NuJiZcia9lbMu7ZGr|YDD)|eu6d6$XZKU`H#CqE@o9=dzpnt`)SvR5 zt!x5H%aAED%i`W!ZiAbqJA~qXL!s@qRW?%?>P3BU?Pw!Kt;l6Bxb!gu2j^*;ky}BW zs-jZx^7Zqlf6*>cpO}ROC*0Ak_p*IXfV0sAqHkQ0PBlVL!Ll#xo&1p-s0DS^DC8IZ z`f*!mhuZdUgq>yX{^L0p2!?E>_c8gt=TX;_U0+v^FMCg!iNJ9@Gc8Y%ClXL%Mt_N#%1?xy_3o5pFbtKe(uqyZabF4>?s zjL}t9x70l(PQ)}z_j?(r!IRXPuySyOMF?JsPpU7t1*aL<(pv0*8x^&*tx%w67;;ZB z62g@wj>OHWoKMA1Qd!qp;zrq^hOcqWCB$Ym*qn2`4rU4NmE^r>=!53Vdb>axyFH4I z1dO#N??3Jrm^AEUI{iJ4ZeNh-y?xkjFn@Op|6uAFP}ci#(F>=|`zgyDjvkS32>M*} zruh99n&8Z@X@f4$rs@2-Z(TRvMb3NnyLH*NWO>gEDY}WJPJA8sgzY^D;=VgK%*&F7 z^W#3Lcw_~fFpumAll*WXNOdv`zs$T75OlGbNb{Hufj|J&Q2)uYjq z;xJzi$4U42kTwXM-{)%XwN5N4WH0gJ{tJcp;e92huBueyjLsF+vRmcc@vUIrSmEx{ zOJ>~B|#Y^Mca2X-Di6iImkx;@XU<9rU!=kR!Lw> z@CA~Ofi0##c=;T4d6+)&q*USx>C{zBQ2EIvtl$K8`dq}|uelrH7C!|($n*lx+R*=x zKpI5rqU>Vh-~s*SC%YQt>~?I+qa+^dPMg-kai`EJA(k>xk|6Yv*kd^4wmlMl&4PEB z6YqMpG|zxH0dsD<&3iQ$tKQtjmE5_g{Zi?-*SA==F;I_Ig>wTh9UHrxSXLkpJjkgy zLF&t4`gedOl-Y`CY2rz{t&7$7at+rVe)_t^8Re($HW&d$({*$)iO7Vj)7_Bgvu)C_ zCs*otae|{t==s|rZavImB18wi^O9CN)LctgPWFb58+9D=9c&jfYi6jd0d%F z<@zg*pF3KE2jlSx8e1a8~!FH-G@59oLo6*LyU6t*L|C{Wp!TapWY|9r=SsZc1ky zzxm>*i}u-DuRs*HvFu0g$|2X%-OaVNf?j*C70`-C8&2;PHcgdmte!1-)^Le&rq#&q(rU?_sQnT-UH8_g44g>vxfP+6u!*Ldqsf?0t z>0W|Yz0$4B3b^%6i%Q1&(I&c^;u*(cUmT7yLKu($J#%g!@43y(4Kn{mEMM@Rvn&4X zyqJvozKN;-(OysJZr*#GJv_w-f9Qh@~DpP3G5vig>zBtaVom(gBIwN7qcPJ;NW%^;8pCl;nn8%J@dGtryEmN2$*Ybrl1;;auu_kQ+Yi$l{eXW z@!fY1DYLVM2yMsbzBnT^Gv|W?h+-m*EzuKcc~xkKQhdQoV7ti>)UZFIJ|!Bat= z;1evZ=VC-(osJM$YJ;>8EgOva((UYQQy`_V>(=zi z>NXDwO`YN=dnQq{3+6g;cVZu@k+a}7A&hwN?BI*%z}bc4f1cvUQ6f@M=vaWeZ7`(r zt%1%4w07=W-)p%QO9}x$Vlkla`geE_DfRCJ7H#=f>bl^S3|$1uRW7By$Jish}>)xuZgjZGF;Nk~vt0)SXkEgrvFWaxDugH8j_niU&)Y(T1s35o0 zXx~7lOfBeHL0L_PkY=hY;nv~e2NivdI<5WoNxd3vLc)qe68E&bNr2PYjnG>%Je1{Z zt*i;_H$2$k?DD2ROH9(?z=)tSF6~5$sm@aC%7FoKA=PZyRm^0L z`23@!lB~hs1TL287kNK5sfu$=$QhfW=^0$5C}8XtBWU0=iIW{3IbBq)l+6hD`JUex zGMrP)-4jHw{Q2>Oe>kZ3n<%m0BlS*W0sfz8{Ro;(K>tMPwV^|H{>YxXA4B3o{C6Mh z(TgAx#&%OUK|kX35dh?u>k+Q1ZAz3#@uu3U+77U(D{-~(Rv2<%^1FRLE9T?uixJF z@wsZtjf=B=s&5-ayjXv%@E;|~;D)tJrR!1r??|6Gg%PlmV!Dcc*FdtYutpeD3VMs^ z4=v1p4~VO;r!o*yogN0-4LpMN#7=2W%T}9TjaHignt$KRR(W>-B*RLnGhtlTwbyBn zBkpu%JR!T8mSIOTtcJhaZksBqbI7J2*GRQa2|}&2K|hjO<=t%DjI?N$k}ByG4{WxH zgR(Cwys4td(lzAI{2u9QR@ig7XC}X1D|TQlak&tY62zISn57%VWN-giC%jeG(ka3E zY`r)&4Ss`rV`$avr5Mo32mO$X(jCnAcggfaSsz#EFpR1p?728IRmr=Zd1;#6h%CAh z$49ByuiufXAk8vvi_FJ{Soafg@?r(pyZ&Bj$ASz@d9KS2Xk-;644y(zkhm*nLG;1< zSI!I2CP76rX;|)mPU3q3+UL4fffbEX`C@uOz~Jl{+8~T#uq1m53KcuNNp|bHpzPxJ z{408p*|rCEs8%=A@%T9S!44^lOLvSpOd0_6xV+fY^;_MY4^y!|rMdEXAd1*coj=_< z4s{s5zog8Qizb~K1BkP<2T*SG#u2>Zu7@}C>DOJseO zuu_A&GO8wYfa^YfR=9J*UcE{Oj#)nMy|l51P*X6N_?h8jL4wr*T)b3Kir$%0TebM~K)bX58z;O(w4p&zvsu5W$JvRE!~6)?$`a5k zwST2QXjGc0yXA(vtUlweb1h>Ua!V*mr$@UBb+syU7Tf3ErBP0bwF8K_XbgW@mfsm~ zPqTC>LtJ3#_iQ*b@e|@4e5vN2(u6FtOqV4(IC&8iT-AekQ0WI`o72VZb!sn=3xk09 zt8TYzC7STL!_ZIs^*MbbA}e+@f+KPGlAap;g5q~2;H`q+^f<)ps26Js!KHX|7jk54 z2)i*jLHUmH(9tT4aeh>#SgJMa=HrW;AXV;~*U5XzaIge#8`FcCg2x;Hw@&`&)ARn< zhl}l{SW5~qCh{3XS0M6Xq8e%_(H(SYxj26J-c_#pd@IwETq@k4A%3v!!yvOTK}u^) zA-e_Edim}@P(%6t9qZD)s{XCob0-HGUqOS6DuH+uR>}6;Ks^5`C3pUV^2fmcraa!$ zzrd6W)e3a14B$OSy^>ZNtE;>e0+PIqLeg`m;_|nOkN| z_p9y#oaZaozZVj8f%B7>^6-*^gGDL%-+w?E_Wn^fYtTwXJ`?-IG+~JP7Xbj?J?86C z`~k(_8}Ft3Rua#yoJLS2;mL9x2sTLKad4V{{LHkBi>q-Pq5q)wA3Ls8vTVdCR`T>$ zMrB`!wW4&&X+-{A)h{wgNUOy)U-=6)oB*PHZLr<$v&9PGPWVU3yS(&ZvBDlWcr{Ev zA`N7X#Ynkr58wGeh@(p>_7uj{)7AzD#9u!D%i2O~j1kRuL8W#)XOHo|kM4ewjBuBt(P1J8YfM>)^>`)s4@?mw^}LrdAH{!P<@w8EDBXuThu%5#FSt?YEo+?9pI zm+xbqg9$5+ZT`eQ`^oP}C7?Y9hRFQXfh^iwt|VoXUntm8nMdL=0h;j*WuLxEj4Pa6 z*xLnQiebf|Y=6_Nu@nx!f>m)kVDf zJj`|755?JYN-d#2zjo{4`~_KX!zp1VT*lpb$E024SBx&$%4g-6xWR9pLqY;)to9D^W$BMDnh#{^QXJ1mpcqiJmt|`cg)}kYLz@OTW<+!Y8+67 zo;kJ`Rpk~ZHHMp~be4OsdBM3Q;+oe~L-V;(kc_Rsi<1|?RV-?ONH1UERwkV^p3>E% zjQJB3G5kX|g5BWvhzjxs`8l%@`5oZ4?8pi(+oVt}xBGy$T2+viQ;3uJb=3FeRg(P3 zc?+-Me;0IPUAMvru=3c9Ua;HG-vwc;l3csLMa$KUS}^kIGkEfX6&nU5Wxocx-1vzyaEr(afjE;X9&{e&K`x&~$ml z7-X_i{CAHkcDHI~{#=;;S}j=n-OY5Q8iZi2v9V+QCT75FqHF9i3e$geX?2DsX^cqv ztcT*GKJOK9TY(}oY45$~S!^vg)Zn1y^A+If;S87BPv)+w<|k>5ib9(y?z12$pnyJ5 zVdv3!ln(#92R-bQhQg!MR7b}TpiN~L@Qga0t4cX#*NI0{f{_V6Qjc}L!1Kq?q)-<* zn&_U@I|@8Y-p_#VXjp$13`ja^C4nZD*tLeh%){Md*m>L*lX2yegykcM3s`Wh--*qc zf4Ths%3&0wg@28pi^;3)MYDUzz|Mo-yx%_TgjDB%Vn6g5s8`=UWsxh7C)%ho@db0; z)O1rA`=@`tCB(KbZD1-R30^mFr$9*V!^@3!D7POds4{RA_nud-TFvzwc46#J$TPOM%;a>!2`2%3(h5}egWEwN$zTNGsjH0_-YcCV!`#KOWfbX z^_GYUCA7aSfn}ed0pj&aI49rtMQ!u4pD{^yvHiaOpm4xvdO6*E4)_5@PDhYUgn78c z_Gf9`yS-F0hxT(jfgpqt081?Ddqc+f&mF=j5HIFr!1`EGbj=nw)AWB{d8yQ-_0y+8 zBZe^qQW6dmoMsn+^R)i5N}ohsPIJR+nf#kv>ZnFOPj&`qqPBOq1)k?7q{0lbpLS{~l}#!D_=PzFtt)Lc{j9kZInQH)5{!0RAHq_S zfSWLWcrs$xti)*O^gv{*otooA5zzc%p@Oe$-%n{rz1$I0b$vFSB8p47nb^x5c{QLn9*k z^D8@kYk>BlkN4DT^*bI~+&1%aP-QAt)ll+!5oFF#a`t3ff0CA&aACZ-?ow<~5Y%A0 zpJ`3WNK?!1GuVo$V%8b$_RSLYjSht(t#)?8|CWUj-p%cUjyr+fiKrKr>Ab83@svXd z;VA`o>yrZKqr}r|8(!w>VgN3M?X_(^)H1jR!(Yc$WY^Yrm3I8+z}bx+_}uz?*H_Mx zhMf2avZJEMx*TR!nWDMxq*Hzo@6cy$_VPHABX?2du|c^682Fm7;p=8`xqis{J30wu zO8&4eCl&e)F9qfG$^lVUxOx(+v%y!Jp)U_H0M!YOt%cK56wCDytQhw6$<^ipNZO>=1D{PQJJLORS)mw1x3Y1CU2;S($$RY+tzA|SGNE+7+rJr%iL{> zqFRaG(J5b_`NhiXl55Igkn>}l%ZegJ_l*>OU&j62fHy|3@4*@-90x(WRYoq##) z@rlF7Ij36Sj82E}S8)bYzlX8?S+Fr+ThXxpM(<-*t|qO81lcM6UB-KFiGr&iRRXX! ze!>Gx*36SH&~PzjRa~f7I?pPfyEh~G@8Rq+jrF`%+B_ zto~CjIUw_ybP%%`@@vXGUWZL$|4jeLXsx;sKh)rU{~jP@Rq&^wm2m&fkj{u8Kv;~8 zTO>KgtYgI*DSNrCveAv{wF|3l$F-l~l74+*nLCAe1i!zF<_l#{N-;Yx6J^QcacC*_ zH37OSVqe&ep(E@q{0xUmz#GRs6cm4SNkC2Sle_QBoK0O`0RevrS|$oSW1q zw%e=#uCz&T*Y|Nr@)Q$c8Fm03$rt&k^}gn(s`&nuc-#+)@eJ$-i_4B+$&a`s+tq+4 zxNT^}P$MmM@S#2K)eQp#5IrF{v-c2SCZAqXV~@Y3OF~y7dNNa$cBZ9s3!)KKB}m;} zz)aYF{|xjBG090~56v`-o4FL6x9$iW@5t>r7DDg}$bUd(Fw5A^9O@`52NY6{FV58a zn%G!M^Zi;)=Vm(DG4+Tifrvk4j+@C1rJ^dr4niD%R_H|-MlUQ}`+wE+<$+MI-~W^1 zUVPeTbW>4WVJNo+(O4psvd%)pXhHTOHFmm5jcQs{r1`$(t8QoxfF1gUXqOCh;`5!SHIesPI)J9J{GW7GOT!WC_b$GSAjQNmVqOXVR zve76@;{bV7Puer{l_B|L>8vMTVoDdQKmDV*CUR?*+jEG=K@~=&kykz#{8fH(sBPY2 zVsR4GJJjX;tJGRsRKLAJxOst|@BO&FIaj|I1pbQOxmUcO@}qVo#9KAP=In>Hky&TH zuvY4Pb5}bcoqxuhS2QhQx&5WaPX506<#EFHv6-%>~xvc+{i$#XH zeyX)suXPAV*;lm6Eae&yTzf*pf^ue;uV-JCLiy5%Csa|NNjUb(^vGU@!>v|0poW2U z_2>I9Fiuv4NKvoom~+AQ27`Hn(eY%lNLxc88s+U?7rfMdOLk7i zZ?ekk;GYKv$H=2g!z=j@Pl=(_qwHdb&zL_KM`09U5@LEGff@tY0+ zlS85AEo)hf;QxN^@2jnA&mvfDTQP%tk;#da(YExDz$cJ0RQ#%}SXi+Gwfph!7yoefqEB^^1 zcOkopZ=Vqk@mfL6ml@iaX26LOeuu^zW~#J=t#*zZYmi=>4uT$3KQ-6}|0O;)I1Mxn zT&d`0u8s4)B#p9vlE9XM>QVoL?*33GKvF=Mkp#Cc)O@9(4LfH*gp8A`L@0`rTii0} z0XM>^$i-+i8NF>;O7~3f{7`{}(56r9oKvwmtC%KJ>k;k^&?f)yPc4VB@ZSIn)POe+ z!_6Ox`;56t!|-eWX&@pnE7&xTdZZb_ubL$V{6#;%!AThuSr23- z%@bLSh36M_cHV1ji$D@~*6pz7=qtA@?Q}J#r6Nlh`H7y<%Jn}p{T*3v!v=5xEq25W z{rAs7$1MMkU3RUe8S3ALU_uN%8rweMhYqglh$xjan0>P$A+nxetb@8$G)ayI+~#lr zuQB_z1Q0?R@1`2&?#Sqbhh;q7zZ>b_I$}XH@drWYe$Mz4s88h>QO*AktAGWEI1oE1 zL&@R+miBKWr$>gg7zZKB1!Wz~*8Sda2G`;dVDMZ$Cc+Kcxr~Z9E_i>o#YDAE5ce$% zhG2_NY>LTgyn@5D+du}T_su3l#Sx4#O5;^%)bJ#$@rv+p=XJ)L(_m6V#cesX&2@w# z>$nH<#{FJEru*phV6%F(=Zx=7*TO||r0u5iV)6+c`WOXEJCB&Y3{?wt7yEWjVp@W5 zr3;I_t4a03xA>vu36@eHSXWSSH%5Oxt!u{-tQ2=`DbIkEp4KtDQpKdjKNY5h2__M=RB?VQr?ex_geBt-mr$4H2cTLX>tnTXa+=&JeG?N=F z>-j_(*>M%b-Rx=7$l9oTcAfE})ecU!XK6^7dJL0tDY4;8};M9DN^FY9RN&iTj)1uFY?M(_+HhV}V#^%1DDG7k3h|$m3L$JcIp*fS2L&N+AzvDTS`dN^jxhYjAGV z;a#PfnDG&izlG&b%%sV>#D@bcE6k2eu@oPe-x}i*F~=E_NNQ<{U_#Atj!r^*u69AS zkJ*Ts#{9JB=|Nx~c*vL!BLZWbEqa)Kb(Z)X7AW^TzHRv*=mrIq+v!u=Zg>(Vkha6a zuFw(^3zILsV(YdvFwd(vFMS%c6RnDJ-=uQvCgMZ12E$=#sj&s=?JEkeD$jnS6|tF; zBv9#Q8D=3PlW&vdbK(jC+2`@cOysKxhI80YQw>m4KNA^YO<>*-x4 zPrFj>{-t;d=j0FULAZMD(0b-jn?mdO*QFBcD?wFK9BMYQmxObF&bLOw$?fAa2LBczrs9^_z zpMg~IP1DDwqH%AY_u@NzHM^_<-@FytLn$>p?tSkU+sYlkI@y<7?{9JxVZ26I$LvbY z>8_#EkHQ96(c(tuAY@(1T|bp6F2?h&3m$J%pZD!*IY$0X4m^k9kWt-Q^Yd zsCR%RbVrl;*P!OzU%MIB%pTu+UOQkP-N|v@@#+Kg_wt@YXko>#GHIt-*ompOOcU2! zWZHhQCWt1oV5vBCrr>tpO+$!dQd zvE?m|Z?{sS5e>sgtH~X^q==sbl5?B}S=wpTeQu`^ZPCAJ+rdMN*DBG01~1=(3Svw5 zMuNlYOS|QW`G1W)@@{x9;0@aGH3R>{OfG2|XF1j1n)tIIoAye|}s!^Gb$Z zO!{!w5e61~q<#jyTsa9}j+_{ok@|8~#gozUIMvM63+)MJEYy?zwkfaBu48qN%V;@_ zO*^uYeq;y_ln8hi#@1b0Xw47HA9P_Ia?j^NdLdfq zMdY9R5@tJh;HBCs`EsMVO=@EYmZt)VIL@V%B>5}He-JFYDU-46g)6XX z{pU&zvM%Md%$@8Vddap+cprr;r<^bbH2-sKU=@;LBJ6# z!y$AtALsKv6Vj(#xP`i8>v!kszNG*ylGX%9H+CS>Vk4>AwDi?<^mi4@*qlZgYp>J; zlVEp3O@)OX3*<7bqo2Ny67bO0M}ad!_IZ6xJvKQvat0d=4z5WWY5HmfZ?Sy%B0eBw zjVYPr4jH!I&0$2I@1+(XE5*%Y&lFFL^`IJN60ZAEKkbToI7b6{*yTkXErvtYj5wk0>^}%i8PK+WrtuRs05}rq zR0zfq(f*rrFWIy!w(d)5{3hTjlJAPaeyVXI>5hh;biFq$VqMVDfm)8$+NpIbL3YA( z){u?(p#Q;`I{c~K`Q0Pm1(ML6xHFjc{CJGt)t|ZTL9MhLsRU`;Rm~)>n7u*M&u;hL zn1FE5Gtes9;sovEKCrJ$igX*YuR2VAbjq0vFv*-*M=Y~!L-uD}c9O5APvE~b%X+@7 zBMWNHzgNE{J3!m&w>k^*?a;Z`&1C#f;e--I?y-lf1(K5F%u??xNNju6`9A`4S*au! z4nb*G?M*6ubFVt6m0z~O3Be8f9(4}3ZQ4~{p6#HiNYP*Vy2Z=IM#9{qs-L1SpfF7B z<~~qOG4=ee0AT=qkpsD>*TbeuLm%eg-%5y|B_;>-=3A4S?@lc?0b}U*jY_B_6En?! z4pbsaPo)tZ32v_GO)6)Fr~EqiB6f$yK2bV5$nSbR>c34kNmC3{h?Ablq{vJ3@ab7TgrGE5Zpt>3h z&eM|VK;nLFa>c__gRI)E)}ml~9uP%jGB4k@>00O0zm~M--s6LsgH_A^g>h*MqMuJ| z*6!$W(52@N{`mD|*_l|l+IDTRg~Kp=YxdXSQ3_k6g#XY~_XJeK{?OMImCk`(lI?y0 zAvobYX5ueAL|mXOI~OWO?V7g5A+a?Mq38IxJeR*A{izzMpfw(S?VH@PpGp)m8K1nj z03AgJ1mX%tErXW)Uv9abBV%Pv{DSd-lUU?d;`Q96?cz-YG4nrxOK`MLW#jhae!;As zZIvfY(ui$Xzmq*Xu=gnJ@kcCb3)T^d^>OzIK5pUIa>T*|0*-X6v#OU}MZGI&f50S~ zWt#RDU~Tu&%(9+c9q_o;K;Rrbsz}5}Tn9&_w?WOv3BA}(jmMQ_2yTkiNFU8XPrwF? zT;g9%rZ~uMwV8{v$CYx$CAFE$#Gu|#ssBNpQ3f1_Ho+N-e09LlxA$p~a~daLCl!{6 z?l27-_&jsa7eWv4U!{FSB-ZElS9h47@Q(z%o`(*;9ck?6=0mVtd(5vWj4~eG&5`l5 zrhg%D5ovG@{|KoS;=j16l7yt~su3?B6|N3cTkbGJ%(WP;1;-|AgpZNNXhTPNRTfdU zFE$H(ly+L}>nrqR*koEDwOIG1(+gac)6M6o)*f|un%y^3K6kg@3HVk!B+VXkotff| z*-5HRz%n0~ z;aXZx)E*_y9FEWg8FR(nBXh@ehpuisv_XsM%W%VJIEm5^Iiv!u==1@d@P{5v1I)omg{eI?M`{MinJIGu> zgt4mJT?q7yFx}j}uyU6YEKjp~D8sKl?*{kfAj{ACJejiFuf1m-8G;>Cl$rCge4H2E z7HH;y0qM^PN>tf$IfN|M%7e6|`+>#AaQUz=p)NqGy<=rB1UkCr%#S$}3XeetM4R&3 z8|7KW7S6I|05P_--#NGTtJfB`@@|-(o@oi*67`ACBLnqNX~DlC^9tenBg#L|h0 z*Hy>pd0NTVI!G+7O#P0(0^6TVNWH%qy@#RyKXS8rBKxxfQp%odoT7m}tEvtWvCk-I z4zV}(DH!_U=DzaF>9Kh2fZe0drnZgkNyOVau|w#3aDUZ*j6?O9+`)FN-OGwG!G%#6 z53uFTVV$i=q&>G~%&zVfgoUkPJk>uu@Z;?arJ2F%b|<_5Lo(`X$3jA-GiXW_%DeVj z0hZu5d%E_>HDI^ge713K0V|!ZoD=(&Tv`iv8*LbNghiAtRN5>}&mCD0m{A%k>QaKM zlFdc!LUu$$D136EpE~MnJ+?ty$GH;f%o5ZRN{#tefHe)Y`%csE(5d+#|H{Mf+Lfe9 ztXXk-96-2;wt0#0?$II?(kze3zAF{C!H2G$XQ+ zlq*o4wgZ6^CmZqkV*Aih^j)b_5G23Z?*t~9xcCUin*nDfRp-DeCgwwOVwjtae-tH2 zO-?k(4mYABu_B5kdEUCW-5O562Y_6&Gf zo-xqOnDCr`D5eQ(@Kc6uJ!!=+B~#7SW@vwbM>r*v zs&3cYM7;*WsN!T$EQ$N9n>a0T69<9p_kwO#VnZxE;S3vj^f;Tpc%c-RZg{+Y0bC+^j!+3qo=FnAq~<{nhc4Mey-p0eP1ObH>%gUOtfw zAv7}-G}F2T?`CTr4l5VquzZum%`bMnYdo|gB22o*oC*7|)f;f6P?pcVV}rvvjhO6P zR2(2O+^ln#$Q*UP$OqN5^}_!6WqVN94zS6;ziT%t;&xHXN<4vvV(xS#dUrp+W3zN) z4?|{CE-1v8pSYaW^SdP4Al`J-2ohyh6Q#%>n}1yArd_668@_A5F;i==38)JbLHyb0 zl@Xcte|Nq8TMPgh{;qyX1Ty;U(3H_-voyqch{Y{axBV^Ls%JgJXRC7efYZI3thN{b z1EIY|mX*GnA#;ar{k91-5v&$W>Sr^b0@4y;z1R1RlC_4oeR4E%(Kws+2hxYa7^;?V znP8DT{e-L#b&Lvirt7B*_Lm(7MXK@h7vxl9j^ zNH5DlW4BQOS7a?Wfh|XT>m^l40;u2fe~rzN?doDVM@rWYu=M7e2un9v&lW`Y;oF;H z-9)DX<`~h$>&z9;-`?SqrxK3Z@~zm*82o8q5z*g-$uF(d$oMLTwaM?Pc=F5T;kk~AJZYotw|7nnL}DROH{M3_EUR@e<@J0 z&P&Q^(I;40!!gaOn{hDbS$+1bF|JfTw`~)L*b=}FYg0FcW_3C%jdNE%KHVo2oXVTn zWaZOf&U_Z!K2#9oJfI4~TZdoOa~-v!`(DpTMjA)57mHWDCc>yRYlw-p-kIQ{tV79d#!12cf&CY?> zb6PKM88r?1dsN!<7ZU`B9;V5n7yNaKS;m{Kb~WuFb;*_lG-5OE?*jelW2n}WVyQu% z^^5+~@9@eqx6qRZ1UxBL#^O5gY|OpXDVyuNfbQb80eFr(OozGV#jT_Da;hMA%<;sS zAiwU}Oe5DDj}c%YxU|L#3la~GPHnRVWj`)ybU#1>!3J!|zHf#L6c50&ofw^`3A=if zKr|WtU``wW(PY+;{S&58TJ4!>eC{%_eMr8C^*^w1Sj)<4B_wCHIAU%~=0k?fY6-U- z33J6d5^h^YIk3OWhkf=YYxzDfPyozwo)b<#I+?ga{V}~UH0|H#@Lh>!mv{8ERvvjD z`NZYT1FSLom5N)k#Km+`I=~U+0Dx1I{ZPWJJ7oFsL_?)QTEM$^+9>bCUS8zFSE8p8 zu*O?-GY~P8R)o?wSEaw{zQe~Klq|I@{m?YlnNm)d1%a}E({1J$CNI<&lQ-OXq+)Xf z*{M0hrPPygVAm#qL5cz9k|Ev%0hEXoc#=r&?YDi0zdoa4ot2a`B*~uiS@rPRfMJn7 z(D=gQ^TOHbG zZI&w*`uP8VJn7#}pKzFw4k$cK*dK=ifUv1(%p_g=ywT`K<;F~?Vo8(J$u_WVCyDDw z5wW*(vfd5aJ$DioG;IU$2=$5IP@j{{e5{yrIUwF`n2(Hb`wk3q2pKwRuChyhsye`f zyf1~n@c6KUJsL+F%Fc=g05Q%@S*FcI$@CdX;at)SCCH*=pUvpxFR=%j?0p?>%sV@(p%r6Q2O%<%>1uwO zG>fAQJoARQtx_z-p*!>(J@0@He_Q*MuPWRFQ?qPpenfW`SkW@HJ(vXT$Fe_J%iI7!?(b+9eL_PX)fihi>yb(T0(VQzPUo z&mBGr%*J0~lif(HgGiD1{7N4B>m3Sp@|!@_z94A?%_KpDJQ6H?>Y`jS_t||26M5XJ z-2W0F_zag161|COrfcOrDKrF&F7`s%&y{!M+CvIxx!V+~{6MS<*LK-o+)J|pkHD)< zSyzRZ{``w(F&5laNs~X0s}-aClG0}VbbV~S`1QgF8r8pNT@z3E2*f3oR1zgWzXt&o ztjl#NWy@(x2KKMLC+C9Xim8oHO!ufOp>`y(BwPTLh4RO8LSsil3O-79eb}2;aJQP9 zVV-*x9KmsQL}N#aRAuf{s4?HyV?SlT*G987w=R{0iJ|&;h}o1HWc;)v@>zz*Yu@f= z417yW!I!ebw2ro|F!lobiwtQ@;?E@A$!XJ_Ic2)n_y-!GW~jA-`fYZ#G9{S6DaG}Z zBsWVyXdDr+uRIQR);9R`u?{S}MVClM>(%;vu34UOC8%W<2S}mJ&+N{>Kf)7I*`)ey z3d!ez@7c@J$PZoJMtHyQJOscsE{&>HqRXB*Sv#up+bUM%k18n=^eIXgZ@f#-FatcJ zZu39-1;2ZW^|5y+J+(bt`)IS(Lq#sLu`|KkGc;?Vufw|pktH#~M@*o88XQ^yz(eg3fv-relONu{@)<3vcRFa5>}F zH4hi%8SrErI#vAmjh(#Nxbvmc z66?Op3eZ6Vn$kJgG8G>4HBIwZqAi?Nk0fDC9m`lF%529h!@H^~-z5R*^SiWKcYe)> zX4=wZ5h(0C)g8dPuS+IWML`BI=?1y&Pjl{97k|-DB*9ZS2k*@s_ z3AgkCvz&TkMgq_dm(-~HKln}>>~UR(DwHnR-aHv(Y~cuTOP$JTg;13Q&2IT1-S41I z;H7v80~>%^k4!H~nnzSuC3?B_VUr?&eZ}>qDdc%lj2~_Q4BR{IJCBJ+rVHkIg_e2- zT7#l*QupK1Z$n-CbMHDlYuuOJW>96eR^BV03@`_=9e`rH>q9Q50c{bLuE2OBQMIQ8 zQ@V_)tpuplwzUW*u{FxM`iYO0N&7;n6y4@hU&({pOAg)@2if@pi75?OkP@S54>89;J&Hf(11(&(IwU> zNsZ829QJv;004+(=IhX8mUT)aDfxkJP?Q=THT4%Ro74^JhJH5X?*>-nD*#(wCzpDo zlpU;o^q??N^rzW6)cmn;=B0YB`G&+Y)lC`68_fV2StoR}NjE^v&tpr1JjW{z1|TTP zBH!i4&X#>D?JXmAp+_VP&U{m0h#ss)b~&t{)RLFW6jO0s zzMWJCGM=Aj%e>JQdIUg1E!~C}2C0FG=RIpp*N3xmjNqkPV>qw zmMUsPzkubIC7EsEh{=!BaB(n>{Ic1~<{&Oy9BZ*&vm@`$R@u)Dmkdyg#oU7YpIW)6 zljUtPsjoxh&;Xr&H!+Eg?>`XWk4vsQ~WD%4`P!0PleWlXMitl96`D(Bwe*h-bkGv3Qh!&1i3Dp6wisS8?o_|E<)>Nd#&?rcNUwv5^EE zJ89%_)hWf_5VoLx!@yI4#cwQdykPlgq3eQFsK$Wml%ZUzBugM?@+5b`V}01Ohp)^* z`;w`b%CK+*Rn#*Cefx??a{kymyvv%?C+;N&;J=ah`WbC&_vWAIk`3e;LJR* zH@5NXgsNXj((1p1Q=zn*5t}HwWXH52S|x=o8^4S@@_|i2kwl)VBc)C4e*!A8n-bY{EWy3pCM5btS9)+Z-hQU78s9%eB0ij*<$zJcMU!uoCO!Dcv zh+hd327I0p#If{;%hm4S35;fk@sEEDCO0UfP8s3E{T03l=1kE{tvMTIjf5`Ml1~vv zsIy??BIZ;&6WSH21hq|CAKKS^2j|WDU9>v&t}^{7|Jo4Euv3bQn#GQwsPxNz!vg0m zQ$8(kuxW63>w^GzRAS?>-9p_3>hlB>!u6xe@jvF*ZWxwM^8Y~{X;%7l>7LkTyrK95 zIFav;;3f&mb(iU1=tpwDX;{>yZjY!rqo9dAbg{p5z+<=P2K}HavDNo7zH;tId=72Y zR^^%pD7u{+o$|GCCcswo20Nrzx0L;R^ACn+>MLZMPvAd|h&gg%3iPf*v{le_fNzo((l z4~g=y&p|UPwE0FIAF~aoucJmrOhqaP=8HA(8B&C#11q;WHLs8qL+D2`2u3KW_nuya zvP1`ub{Tqk0%0`ctQ2}H)US1DSpLKQS%BXfOxp4B^XBzo`7E`@W=TVa{Z|EtbI&JE zf_R`_6aC62H8yW`Sqsm(?B&?rBU+W}TS#@}4sW+0ch>9A90{D=5Mvwlv`Fj{=k@6U zjjzu}eMNs~+Sd3Y&$Cd9o6u{ifoh-f7qkxtwQ?+W8MLm)x|}q^cy{H_x)aLHmv3)> zt4tRwgDvCT)W|wEqxzLO?@+QYaNzm&bl||~WO!*~Iw8fn#jzzN2SoGxlB0(!^rb$7 z-c+dfA+){P^0gL#+r_u&Vy%hN?%=f zpW6QRx1Bd4NNYw4{n^3;LLOK|3V3&Q;&iXs!=n)Gb<>2JUu$hUF80yOyzznY+iSF0 uaSp2ef2}A(B+H0-7?t85#&e%|gnv#{0fPjEnPZxcYfPff! z`HzAOd~zO+3??8z66m4TO)++>d2We!T^_X>P0l^~go&%JzR~v6gA5z_(_vG?n23we z2^lR&!dr}{)JLZfQKIRNp3tUlbLnRwPX!=!M0C~UK9~Li6LbF{htf%!i%^Z2Y$0nb@-nl54EuB|1+KO{~2iU|7qZS!^Qc@ zTJY>i{uSk*QM-%dACunaOWqUvYm=R|osX|5dIScJ+ij<1{fraHw>&wqv$WLBKMH6) zvCYlSt}+m7?3y{5IhZ(FF0lU>>@Ab)Ki5WhvLxH;W~8)*{`$GHaf$ULY4(tsjfLgS zUJDf$SprEE%;^?;w%1Rie5dvjP%fuFfz3gcgt8f(<0WMrIWr+lK$);G@I z+WNGU?$2JF&F;UFZRxc;`)e_&Cy+OK-1sQ)@M_KU$skkKZTn2@kLJu>cv^> zg$w8TX6)LO-%uT!ck>7hhmtGj$75-yZE_?+C>(lP7XOpdYA?tDRlsIee7HJ8jj*iaSl?_a+ZNT)SI%eq3 z&W``Vbbx^3Dg~MUbV1+}%gK-MGmDem5>?NV{Gj{)s{LOUW9NHPdHjcz4}MbFA8G`T z_uDJl)nJfAy1+bB>SFcMQkRma*d$J$5lHPkx$^@@ge}<22 zz71#*9uK_~glu`I;G+5LZ{_)Yc>c`*T4JKe6ka82d{lS0R`6y!d3xS{a`@@53K^>` zFxbV-?dq0@@^%l;{^76W$>5nCj^K5_g2`jQ|MwFQCw_c%cF7NPPHXZx{!=pfB~Ou_ zZVNcT&=JIbbHR#5Q#Ad)z@Hr3pAJi!|uj`9W*z zqhJk+YC1Sn1AoKBtX++JCH#CjoL`=b*$(5leI76TwyIyeb;?lXXz_B}8fksq3S4^8 zT&cU)t-h;X?5KK&(kd@|o0_5;bRsu-^xved8m)hFw?CQSjn$#x3c7Up>Z_$f2!da9 zn)gFOl<26u1N*Iy6=T)0MKcD`ephPn?AJwQ#8T6E0llenwIly;Oj?NtUj1KiDi#Ji|1T!t-(H&jf8T%L{{Lqn zp_@$Z`-TSBByFC+@P#;miAyVZ!KbaQJyzTE_3KUF_L}^?@r=k{qW=FX>iHKI_A0|$TGl+hYv>K- ziuNSIuKp%nZj)qjf6}}DWW8xfWw(fyPh(E9;3(17Z&2F*yO~AB7IJm6e(3zD;9^{5 zE6(UAh*ozmc8xCXavrvk!y|!0xXCV6M3-`D<^KEQE|X>UXMek%Z)R48bOVQcf}wqf zo&RTl5wwtmxj30E2>H16iOuuj!%>yPcG|b6K%@8%JeLZMY(Jc>aWUd1Ip3tc7#90@ zxF9{RU2rnByxJ`uR&5)+R@b|Hve7#0_3_9VL^GB5+w_;4c>LccB5b1f?>aa9daMX1 zymUzcJK|=V@q&}A@FV7?g?QmrYHy6@_R)MS=X>vvUu^sJ;V1RNszChW^~-ZbQ>!E8 zC?EQQBvTBu}su$oB64wJ%3Tpa1{HV-6Z)Lv) zh`;@x;qdXf;}u0Ub5(y;TqL$G5B)e*o@sjU@mSd@B3a;BHjYzNTsEyWCz>beg*^0h zAmHQ9mE32~t}{`E6>NkZG|4C{PxrZHKYgm#S9844=f1DpDtXe9R4$dBD(Pih$=W823vt@4Y<^{5-b}PXM~pb`cOKNLA^U-~x)b($r=zbxI)$K2 zHTQHHXBBl|;~adjUiWm|D)>BxnZI@Dt#Ysjh~NGrG0YQ?R$p5KDRwy@B*fr&MMpIU z!-={09De#a?ne>lp(>1K`mJI3mvLBaY669dUtMbeuORRvxl6@$@o!G=7?v}Vut=nQ zv^snI<5RJ8mb1s*q>&8`hxUQfP;K_w^Yf+ofJG>-GnQ7sQEMo4-EZxlc(B#|7X{%h z;}C(mu>JL>4Z~8QtpLH6py@|H>drl~YcHP^!QNVFFD9a3yI$w>L0KG}*1!KOCG?#+ zjMu&#vBkpG)@^WSCZ}Ig=ADxJShj?9zJ&Wgj_6ijH>B_UK))lfwO$*Qkyjour(ufZ zwJ|p4A0s8%ILq8n(*U+JrgNEaj1fMVBLml>WiJ_WQQ+v4N8nfvJ`&A>Ox!htuY{ud8E&vOtRup*&L<&AQVJpJj; z2EUvQnhkTLw_u}*tPot1njDh50h9ciAX@X}x2`S)SMjCYP<$@^QFw!4GygR5<<*+s z4{Ef~?dTxBMq+geUWCFt2Spcg<@rZjH4Nl71lZ~HWpF2P(n9b;Y7O*OjQ>hxqpb6F zNr@b_DpH;ortB(huNKPAUO7P52J^sZ!WsoMxHTwD1TM3vI;V;Qg3ejZ_@%)okDrQy zzw8p$ayW=(SuiJ}T^V{7A?xJm$kk|rMzR|!{CV*tB83^ueRMfj+Cht*m#D~b@KbS8 zicd4*p!!>>nLfHW=?r7$GTTp&O;_#?o4E( zeKWTJG5MAn?fI9JtGrgcHj_^YpSiolpQDhIKTnYUuFr9^!ykwn)i6n9U0Qg zwBtRe=e2#QXpJ*4S~(w;gh4vy`0#=KzvSaWD_&0c)t0U6_EVReVaWoXRbW`g#^)k{ zpWtqX#rto~^?t=5H3(nf9I|22Mn;}QWiQ3)Quwy}j&FZJOOueeIWzsWJlW<-{ z$5&S=_`F(&)HC0{tCUu74WM2+rY>~@UQ2E`e5if0s0yvSgUVi85s>gQx zXRud0@)!{a9c>^YnnE8uA&If5Dh0u?{dkUcS1}Q^7{1Io?eyXQ<0`p6eH9SvJrAq z^ZN%1uRGFUdm5Lcs#*QJ=I`&kk#+R1Z-x{H@FKeS9oD&q2rG%71^s;!7h&vX&Q+Rx z`EW-wL6Kb18+A!OC0*$GNNBBR}+iRbl8-}0g#0d*92RG~^rP%i1& z;0Ufr%gL(aZy?)|WF#Gq&d#4eZjrf+M8{kXeD~s>N&0DYO!a84+F`1GaeM_ZN-`*x zaDMpDb#gBB(d8hb7x~e(BKOO9g~-cA6LSXFC9D;k$86rV<>B?gvbg91-j=GWltr1l z^e^~0q6Ni)C1hlm8|%_o{femj{bxXLAYE?;3nK>kA(UlF$|%M8v8EgbTN@n(`+cda zYgjecK!(@;wGQv4@;RzxT4z11jv!8WT@;?ZeNqi8wR5E-GKCL9&eazKG;z;KOK@|- zLu``b2olXUxGG~UmrY5|g##IoAi)Z@upOBIGeb5EFJFE`y#xQCr*q1?e_}>6R`-Bv^@X{Q=U1H8~0h*$rYl zTK&Zl#FZ36YI2PifsRW7Prv|Q5{!89H?_i4IZa1B1Dvmk#_6u>l93Wk#vSFYE_#E* zTuKvFFs$dP)YI{p4!fE_Uxp>WbJ1u^ko1{2fx$gEAqW>P7HmsC1;_c|36aM9>v3rB zK%WVW59rI3K>YJW*kj-@n_xc@cXQYqmX-y1IbvKEO<=#Z!2lAOJ1`n{f>_I*e0I@j z#N}?FacDuQtbr#bH;Yj97UXZ^?t^0z!cmbMCi7Pk&bO86S5rzLfLI7AJ&m1r<6j>J z3GEDs)%@-qqVG!%-m+wu%nj}HI8R}j*VQnk16!s)g_3XH zEQix*>|PqRHDUFzjg)l`DtFpbrrroLSbPi)oi+7FqBcsfRULm0?9b^IlHth!Q^{AQ zm_}u1gT7lZX?3jnC~U~P?VlPxE%xeFiQD+3OGCAXQ7&E`xB?c-%r8Tt^T4GgjXNdl z$iOJ?jox|`76nrVia^trFI^odi5rkq{MO~{UK^&3p8y{dsqwwskD6WdgcVDIEtG5e zYV1&WGYv95w(|4ON*Yj34`V6@xB-tuefIMwmZ!;|EkyBgT?PQW%+1sYeU!V59L94( zdnw;AJtwQgB1|983NjpQ>Y#UF4t$2p>=xYVk_wq{jp5|8i|KU!rZ~t%`<&ypDi8XK zgGFY7%FvsJF2By6qaV3>J~y}XRVVAcXZsp-<#z@oJwbX`F{Cj{N_$H~1j+vJb}j5G zkn*lx--`va?Auq@9P*q#ww^sU5AI}}89o+4=c%!uxQ#>${u!3#0tanLSTuZn$T(XygP_v+D754?)ou`$iF;tz0Lo~t2Hf0Yc25ao02rSH7c5L#jh&Aq=cvl{`q2Bf_5AqmfXC$f!7s`OHr)XUu;FFpt2tZPdcsIiv=lH^ zOL)7Ql_~t`n-DYwTtJ43j=ol+S{wAh}m@5 zK7Njp>Vp7sLPqLDec+f~f8l~>|W;}iV z!8#h{0Gke6&eMZ@?-y$lIjRraea<-!=(SZI&LiFJn$-qwR`v^3iPDIJGn=*Wl5Z|t zeFXVr$F0rO+(bZOWED5x1b=l8l=&2zaC5}#=SgtuhfpusY}w-}Dq5982d9-wtmPd? z3g!G_*@NRv-Mmi9r;(<6+|}gM&1ms6)57lQ>5=y436D}xC}}HmnE2cMgK^=LopURE zbK%ez0N{vN#GlcG&_4nJar9ZH4JnPobE2=O>esV#W@`lDQ2U;b?^}n$$k%XH;T-(5 zs;5;qu3s-dQl_{O^jp}zk^j%ryF$|E{~qM7HMQYqbwoBPBLUon@N(Zj4EH(Ve6 zS^=zJE|uFaqv0gUO;}y^u-yDWV7pyQ?IcDmqCC~gK(l56TSTv<%1kT9+i=SAA!SZl z7>QvlwqLokC_|8$(QFSfF#~3JqmT$5H%LGBEUZs^sX)fP+}w+39~Wa=-W1@4!0`xC+Qr1|Zq_}`bEb+N$SErsjBjW_5iq$hQ`mS7H%1D4fC=)t z)ihw{81D?9Fvh)IBhsJ{$b}6yQtvWyl}3<6y=I6TaiOmH%~I1?@~wt(6NMjcK+g5W zlR#x;XYMxaMUrUFB3V%+jhJNhm4!%y8S;6gR1IV#?Dzxh-sSBZ?|i3Sn<@F}pvp_% zH<1q>5Ukme%>McQWtu4kAgNtVC0aarqNdMQTUi2m+|Pz#9T@d4ZQeNYzlTEye+RNX zo%NR4c`?3Vc`wXc0$~I5=}kc0VOdP;^pSplxc|A3=@4W!NgJAkk#2B z-MOaeTiTl&c@@S13UMS35_>*065v_B#2Zlp9Yo*#rcTrfvM_kUo#}yr>(^!j?V^?x zO!zMsP-pjfr6FvuZkF;l9<9-v;vh)kpQHQ`GPMKbBOh{ClYiFVv?4nmq7^f0n$L!Pv#)rWJJKKn0l|IkY}g)VOb%S$-r}p&4E5Q7cNo94&@usc zzf%$X=AADdUIpV)e76J=&O*DM^ajzxAV{89PP!;l%1^Al?+}@D3+<#IUaN@F1ilh# z5sFvCsxy#t=@`(v9nvw|k(ubd#_Rbe#Oy z4(p;GJP=rTd{N`w_o$rw3bkI-FV?WkPAx1IsaPQW{Rk4x-;N^O?582*%rs&P_gu}H z#ar|-@O)lngH&=5mBTlA2RL;#Q<#z$FD?>9)Ax8c{}$0sw3kER&^n@DUy}yPf2b>t ze(xUoH^&lm_!QQO#;Pw;9Z}X8mGIqy=)f~OS|B!U+}&8d`#2I!QT3@it_y(<77D@~ zcYVxhNr;EiT}pOXyQ;te$dA-6eN9XnI0Ccf&sv?z9PT#gw8vm$uf*kWw;Q`7`t$#_ z1vAswz-hh{iHpzhkQAmBb)zn44ujRhZPg10fj@zB$QYUoDFoo!Co|$#Cf`%r3!M2NLf`Q?{J~uP)Enr zUk}=L=5k5JIC$Cnl7$509D)9E8h(Mmzt0wzh$}XAQN9A67P>U?!gJ` z$z`xHhbT$vSN;u*QwMn@8D+wNu3vjj&4~v|bwsRsMq0TsK_cOA0X#_{qKk6ik6lvi z!2ms?7*6y1Qvu6R++Ei=vT6{Wy9nHJM2DUZuH6{2w9NN9ixZ?3Iqni}GWJQv!bE}D zvWc<(Y#|F|@1s2uR1(j$WsCxr1*PcfxE|yy$-FFzzuAsW)>RXUh{j%$-YeK>&AOf^ zwtOtN?e11vT|S`DrP?1;LtmzsU?aN#GW{f2%3S60S${AG|BX%J2FqH5Amfpm zDarIYI@%@jT4^!E-58<`Wk(Y{pod_}3mxt0&uipqifsl426%@IT%_@XVBa!EzMqK5 z-#z%$Ar=>tHm4DpaL`a_)ttG@9|QvBF2pa%!p!MQ?~)vTd#*SV?HU+`Rs|k4I8Xj= z-YWaInoJ;5JWea3Uzrk4>GTbJb0dwB22aXN6Q3te8`hSKj#>ejX+%V$^>V4jn~%oIuF{PdINDg!v7VSQ3os$cS3?Qy+#@bAT&10AB6m(Ot7y+ochS zWOx@y>3ftAd5Mp&pRmx_P~H;C_m?Q47Wfa>vn>jWJbsxU(->M&sr3;_Gga0mO!e0P zUsoHDNHapd-=JEkwMc1GNp5j4<{8)vAVGd2x;i>iO+^M&za8IROjs7&{Hvi(-}Ik- z<598IHAz3(lS~I)y0Iz!Dzp`%#a95{SBd5lO?>63yK`b~pK$7vOq3uZc&ZBpU!@Wc zxbx0l``lPmdab;BzBp1E2jhz)O9iL-kh~fd-s3@5?NhZ^*Au(H$pfG;8;BA*sGD1I z4uwG?E!%AI>c#300UUq$syaJ9`swFev{5~bMy_9QoRI&8aXyd|Po^4j1Fr#ABkiP-WoF~o?-C`85r`83exA9sP->at z!X>L@L|Bci#0rvvMM+QsLA^$^f5x=+KQ@#^`l}u-rvKieNhFEV)$8gYtoid9pwm(_ zU+#Zq4(g`G1^-P#uMF2anHWY9043g}{!=*4;53iF%}Wl0gmJ-twwS!d3Q~i$?>5wP z1)E2t74K*k14l;-$Y-n>3o$X#=y)gD_*4=h85Yf8FM*me7?zCms}?dJ%@@i`aoR`; zmhke!p{aT__kNKqe}4Eyg9acTQz5eq)=Q+HZ7@AqIE4$@Lc7M{FkoH2EfIE!+;K;l z68dMcH^#~eZ@wws1;$9()*SEC6U4?aArIzP*)1DT3qb-nCHTdx(Vw1lJ0+pouXMN+X2KVJ}sN6q2bysCsNo4>yO@VE5cOb*540(g=o@{1jA z)yHwhVNmgR#;w|=@8HUZNew=E1+bG;ZrInvDqaa68^H*8uGV-Us6M5K1M>E!@8oz-en=`Y0 zNOj(3b3i>wr;F-|6)4yDuUi#|u}4aFf)7C^(G@W~*%E;gHJlpImPKEr zmVmDG`%7e){)UvqL_~IXzrb6j6!C6zyT1qsn)T`;o*l6WrTdKMhCM$i`g~< zaVzeJqZVqo6;Kl5{BgsVmEQE$faSb^31V6$2hO7&owOl54fEjKFXU0c#7w~P>MTU! z`p+qKsbLF<(e_6%GOD%fhQvG2Vs%d&POw=@qR2((v}ai^|AMk&BIdh`JG)+YIZHq% zsKf0hwbb@^g2JEJR@qJwL57S}j_xj)$t^$g8(Sp{(uH4qxe_py8qIaqTW|_0=b?WL z?BDGSskZVVb;Yzo2<~)*|0qYS>`t7k1aCFnRi%;;RN~4xy@J+!Kbz3rc8qr|OnQ_5 zLc)d?h(S@LvvV@YAMW;E%IdSC2o%aC`B_(xUzayp4(v|OKu5{qMn&u_y@k2%UDcgF(({x0 zS)F}fuJ$shaiUn#S^-yQR=iDW}4g^%FptbM99c+NwIdX zDbrSB%c}=6&mPA}owTrh&U>ql4T!w!auFVR8e<^d^6-Y08Rm5BbNY7a>1x0I`8F>k zC}nfw17_tR;lT!X`)qI%z!DpvH)F{cO?;MM>yvm}!g4D2`F;gRFzbpP-(v?_k$Ale28U*i6&;7iYC1dpWt@FyptRRbIJ=ht9yQX>al6O7qwLrY}I`j zb^gmNLy2YLBn<&o_*tO>c0ih#`Vvy}^op}&(_deUm`*I#5nEIoLOMco_WZ0bjCQTK z5KgAoOQI?3dgl{A7r%;OAgTAxYFR9u`2q`m>c0@hNkMMcJ%=oad=N)|%hTExoDGqS z=yh=K*W7Xug;FHa{T9ZHh>=W)U(}R8xb615mK%UwE2HRyIRCBTu&ow+!m>00m((^d zEmNj-1*p$Hir9YhtS-V~*oum{oth?*B1WpKo0Ra35ajS5Q>9hh@A;V9pdNN~M^RC1 zE@y>4-sb%j^I-j@g);h$`L7RZ*^=_qITASJFEdjr2(DD~Xmotq`Brka^w(*+YH3T6 zhV0?meg@h^Tsf+Tl0;U>z4fOFpWBNWy+S1yX4+=|pig2Pccnf>hRyYU=yOMiBue|T zB5n!Q-&W>DlwS88>zK)`VR9}F5qKF9gM}nn@YhbT#c)S1Pm95ym2V;9S%VNV9iLUV zRw*dd1P{BPwUH5psuLBTWAN}H>p<$LPA%d)asJ;eOKIRxvzL#?Iy&9n)%=8eiENgp zz1bs=oa1gUP_4o=s!_D0kTO8mhE;8pHfK(v63CfhMJIZLjyHOiq&Ek;$3|GFzoW55 z@jhc63#q#f?_)-UX4K!bS#}BfXsVH^DgWVz+aP`77jupT#NMim=y_%<=zoM5Jd2~H!_`~g2`I!Dj zp*sjt99CG4t%Fz6x-`!mY6wT#{LD#Twio%9eFrTn`o=1c;%k@$3v!;2GURr46DbbH z8&s%>EQv9wL3&~}tYhJ@ zy#z`^YWkmALAP4kkD?rhMR;*njVbBNiq6AAWh43D8Fy_i`x%V=b$zvYeNee+&t$1_ zeDuw++Oq&FZVvP;ituPbq}o{2hPNj-1yJUiv0;O6h1gi;7S!!x@3;G* zr8Z07m03px=7*4dA}UtTRsRj{jsdBqL1+J00`h*wxhuKlmc#2tk6f84xA_+nNi^Ty zZJ|Nvsn~OIV8r{V{W7v__bBz9{DyHD)|Cr=A#r9vxRFMp>cwyP+U1M=^R~K=k{fUF z%W4%=6=4!%h;R|8G$zzVF%X5$c5A-BxD#=|zU~ysit$${b95iZ)$%PQ7-SGbaM#kF zEh;(7Y#9d?*Q~GwGL;f9Apeh4TRee27FS8P3E+!C&+z z1mhXZYXU7f0b%qgtuS-w7D$Kh6<0gRG=28?>u3Pa*Rrol@s((FJ*WtI2&YsM5GCRR z4p@uA!D#Xey7}gf4S8AL)3__>4a4oa0sq1z_*5Z$*khXuV5fJd=9!UtF)^b_#wHw~ zMn+;w3glK!)j1mgYH7o@mDt2QQ+8=R@w(I>LD$PhBxW2ZZ+u4CJLYegW)Y{@ZoQl8U)MuSX(A`JBB^hE#G+B_|kswm# zo6cwyRQatr>c&Tklfx;c)v!grx&TAR;VRTG@^fEH{#E1M!Et37aA&at z*tc$#Vkt&q|O362l6Jh(JV^pPygFqAN4ab{A8EFY9}M+Oaw)@{m$f=!wT6onZKjSKwM?(#Y79L*X)KjYY&*Q9*n& z$C@wAcXY5^0XfcqQJU%KD4M!BD8*Vj6y1ruHRW{PaLE_=>fC=!qFLdn)KpCgr|E9@ zQ)@f&YFxR}3@z7NloXV8In+fh>b?`6%&t%UqcixbpwQUz@kQ{XR7=4p`%0vFFJS~A zDMr1LFdt7Oq)j%#IDSMHn>!OiourwD+uL5nb->GIBLfp9{X z#)IK~F@|QP=g>H$E-D&(gAi&?dxVy9y@RypWtEB5uUGYY|=#>Al@d1eo|JPVLdsT|6ac6wn96R6jpY#3=m*k;!j)#UUA6e z1`1VPRDW%-G^V)zadWH7tRfs4tqe35C0d_pOAwEWte_EZN7+8x4A!hS?#h^CndwI1>z z;iADhvVF2MvzO+v2_&6WMbUp3R{Gq&&;zXRVk1(e=JueE9KuHAl0Vuo{Q!hEIHmT3xLL44zOGQBEW(o%d>;5j^cBS|50WqG6q~lb*ChkN;55x3t zfvmi%!>5;0lK*BPBU%SMn>o9Lj+#TEbb4dHBP7Yy;q9x6dj#IlGe3X-F;Mh+7{gBu zE-_FW)avLuqtyCK$V_z|FQVooH~gtq`gKM32Y_FxH|gUg9L)6G8jxRH-DO5=-DlX+ z)6;tu1cnCY!1l>ZHFC!9$?O^D?23HA()Hi%K?_!+lw9vj+-{^S2CYqKT2u+fD~io! zf{>F&Y*=YjyPP&OErhK3+WpFQWIM{0LhClWBwMS6S*lE1HxU(e7D9;wyU4*_SF-{E z1QE}Ggq>a-H6&3Iz!sWXNoH*nV_DZRvdUHb%8CpKEM(XH0>`xZ!yRRs%J%Z)IG9+v zh?-1p+u)+8NR7SlD^y?+fdN^B>%bcLS?9EwGSoH^C#&PW{0WwWR_r~g1I2JM-I{7w z9>0^XQ!%e-T>s%NH5tSRl71P`q41MrKp9U4z0HTFC7(cyw4FYt6RF%f9%hEzD6U}0 zsg(xvNnON5l5?*#$x`dVuROTJRI7LmV~K7KwbIRC=KgOHqP5=^j4G0r*~`#k*Lp_ zZA#wgT+QkBrECyckBjubd2v8+>S}y1j?SFvRb{OWX|3o!|01jK|42@&F)(Q^cE9@G zB~jRByc6xZ#Fr?|@;)j`+RR027Z=N)2O3hgF`jS;t|Bd(`^Kw4D)v!+1*}AWM0ZUg z=^Y;oo_Ve8JtHw7N1!lqNNF>!{g>yzrsZNq3bHYMjr6;*pyuCc?k18wxC#R1z1ug< z*vYj;ozxjq$*AZHmW2ho44@2vsC7_^#_dJGSbs}HY0M1&QjZP%`QsMD|KF3<1iyB? zz6>4xw<;>Th2T`3k=1rfdfW|N?PQkXaq>nScoMLjalOb;SXhUyJtSWGc5 z0YHA=0lFP>c2;M`ESyC3eK|zNVY~no6kU?NB!1ZzCO7Rm=NxXRNmT{Duu0u(?^jba zxo=ja*TU0YWtC$9Dky{e9JC z*3f0eSv|Wvi{=H!{bJ^p*Lzm@Fh|Ka7~k+Y^^^${#gFAuBIeT>osVai;CPwi&QlTk?27w(QRE_(Q7}eJMB&;e(;A1bMYW7 zEmhC{7)^p#33AV$K5f~~tgHplt`We!9s*jyPEVcIb_M%Pyc;IG0ik-zfa+ES&UGP-; z;gW_ToGOZRz8foKl!TB<{C;+FAOMMI@?U!gisx^iJ2Zf9<+WG2UhnKr>g)~t7sWoT za5tT9_h+I6$;d)Sc34-UqT}&{n!((xnD2VS(~hBh1@pV#jDCcS5yPQp@08N>8&UO@ zdzqFoggv}3uN7E-p1gTP>6BgNz)ktKaVh69cK(UAS2a0j$gtgBsRdu?_J|H=-Q_C= zdKBrfsIE@8>>U{Owv#7^OpX%dw&(a24Y6MGMK#&I`n^<#mDo>d<5S=M#C_paPLM{a zI~oIZxg+5jQzF|~(w+R^_3E<9j|vb-(M8g;@KA09rqz4)W7ne%d8*mdCE2yMNaB6a zx181M5=K`0GhV%ob)k2-)Tu_=)qqdElGa_+udo@)#?wAb`)uX9AlyY9FAZ+Am4UII zc+x;OwD_>aXfz|2MV-b-js-VeY^@exQt$!#{X6UXKNvB`_4*TTC(BSP2E-?y| za$a<9D|AAJ2ke1QgjNBT zwnbyTV<6o*o%RoUSq1?zUIbx93fYLPz8BN9L*klqz^y*ToiK zp;RU2X11Ty^M)UQHvn!sMTBfdab6G0K*2w$9&U6AU&OY4t)FybhI0gEolT={RwVIc zc4q2s?kOc`#f56OSrqKgL;^Eodtu*A&cCluNALO$rU)(DpNDfD$Q@Eb`i5 z=3~mJ?rEboPaYT&$2ReWKb#4?Y%upY3YZJ4IrxIu96Dbfw+NFJLnoop?3i2DGhv6!q+yH*4h5p<>_T3wcs37WSl zAG^P6(GyR>6bRLa;DfO0vGwZ3j(#X@-OYPn)E{mMjcJGxpBWTce+D*7N;Za<9$2Ey zPV&>8)c7}qzQ5{w)!Wgpq5b)Ae9$~mdy*w!HJHg?(o?Ku7^5B*+p3|wPe6&S_KgVu zHoTfmCIZJ%)f%qwI~w^pzluUlo$COSwACdc7LZS#y(1G|wbx=fXx;WRbMkFCkXdWY zGDe>=+FytpF)`1AlHI!AaQYM!HVqK^6IK;6aB6E}aq2An3V&P`ukq9Gb-JjBNII$v zlf21v9M6_r?F5dLrPlq2DxB(jtiZr%`Jqcnp`{*8?f0*&S_%Xd=xNlAuoE)?Z7xEf<_UZ6N&)U{WN)&Cvc zrU>q&0^WGL@)l?jAF-6m1>kVc=bvyjYdmjMJ=k<rZwJOE&#gKGtc}7w-Q=5M8ugiEdglyImfT{m@O4-?lNJU#rPD zMYag^wE674V80-dhXi$r_P1!kvqO_2ddqv+rQwfy`px$h0)