From f83ab319868f270dabb4e388757042321c265854 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 18 Mar 2024 16:46:58 +0800 Subject: [PATCH 001/302] git Sender add --- .../wedatasphere/dss/sender/service/DSSSenderService.java | 2 ++ .../dss/sender/service/conf/DSSSenderServiceConf.java | 3 +++ .../dss/sender/service/impl/DSSSenderServiceImpl.java | 7 +++++++ .../sender/service/impl/DSSServerSenderServiceImpl.java | 5 +++++ 4 files changed, 17 insertions(+) diff --git a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/DSSSenderService.java b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/DSSSenderService.java index 212d631ec..4aec347e1 100644 --- a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/DSSSenderService.java +++ b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/DSSSenderService.java @@ -36,5 +36,7 @@ public interface DSSSenderService { Sender getProjectServerSender(); + Sender getGitSender(); + } diff --git a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/conf/DSSSenderServiceConf.java b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/conf/DSSSenderServiceConf.java index ff33f617c..37fd3a90c 100644 --- a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/conf/DSSSenderServiceConf.java +++ b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/conf/DSSSenderServiceConf.java @@ -28,6 +28,9 @@ public class DSSSenderServiceConf { public static final CommonVars PROJECT_SERVER_NAME = CommonVars.apply("wds.dss.project.sever.name", "dss-framework-project-server"); + public static final CommonVars GIT_SERVER_NAME = + CommonVars.apply("wds.dss.git.sever.name", "dss-framework-git-server"); + public static final CommonVars DSS_SERVER_NAME = CommonVars.apply("wds.dss.sever.name.dev", "dss-server-dev"); diff --git a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSSenderServiceImpl.java b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSSenderServiceImpl.java index ff403f86c..372370571 100644 --- a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSSenderServiceImpl.java +++ b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSSenderServiceImpl.java @@ -29,6 +29,8 @@ public class DSSSenderServiceImpl implements DSSSenderService { private final Sender workflowSender = Sender.getSender(DSSSenderServiceConf.DSS_WORKFLOW_APPLICATION_NAME_DEV.getValue()); private final Sender projectSender = Sender.getSender(DSSSenderServiceConf.PROJECT_SERVER_NAME.getValue()); + + private final Sender gitSender = Sender.getSender(DSSSenderServiceConf.GIT_SERVER_NAME.getValue()); @Override public Sender getOrcSender() { return orcSender; @@ -64,4 +66,9 @@ public Sender getProjectServerSender() { return projectSender; } + @Override + public Sender getGitSender() { + return gitSender; + } + } diff --git a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSServerSenderServiceImpl.java b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSServerSenderServiceImpl.java index 4ebe11e5f..58046caf8 100644 --- a/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSServerSenderServiceImpl.java +++ b/dss-commons/dss-sender-service/src/main/java/com/webank/wedatasphere/dss/sender/service/impl/DSSServerSenderServiceImpl.java @@ -44,4 +44,9 @@ public Sender getSchedulerWorkflowSender() { public Sender getProjectServerSender() { return dssServerSender; } + + @Override + public Sender getGitSender() { + return dssServerSender; + } } From 16349b63a09f7a32b42444247e8cf6dfa80f1948 Mon Sep 17 00:00:00 2001 From: ryanlei Date: Fri, 22 Mar 2024 11:13:25 +0800 Subject: [PATCH 002/302] fix: ::v-deep --- .../module/common/tabCard/index.vue | 124 ++++++----- .../dataGovernance/view/fieldInfo/index.vue | 201 +++++++++--------- .../dataService/module/common/navMenu.vue | 30 +-- .../module/dataManagement/index.vue | 15 +- .../assets/styles/workflow.scss | 86 ++++---- .../components/tabList/index.scss | 90 ++++---- 6 files changed, 289 insertions(+), 257 deletions(-) diff --git a/web/packages/dataGovernance/module/common/tabCard/index.vue b/web/packages/dataGovernance/module/common/tabCard/index.vue index 64220e6c5..86ad08b97 100644 --- a/web/packages/dataGovernance/module/common/tabCard/index.vue +++ b/web/packages/dataGovernance/module/common/tabCard/index.vue @@ -3,22 +3,32 @@
- - + +
-
负责人:
+
+ 负责人: +
创建时间:{{ model.createTime }}
-
-
数据库:
-
主题域:
-
分层:
+
+ 数据库: +
+
+ 主题域: +
+
+ 分层: +
@@ -33,7 +43,12 @@
标签: - +
标签:- @@ -46,57 +61,60 @@ + v-html="idx + 1 < model.columns.length ? item + '/' : item" + class="content-html" + >
diff --git a/web/packages/dataGovernance/view/fieldInfo/index.vue b/web/packages/dataGovernance/view/fieldInfo/index.vue index 01fb2dbc2..5ea0f1695 100644 --- a/web/packages/dataGovernance/view/fieldInfo/index.vue +++ b/web/packages/dataGovernance/view/fieldInfo/index.vue @@ -30,7 +30,7 @@ @@ -48,7 +48,7 @@ id="copy-button" data-clipboard-action="copy" data-clipboard-target="#copy-button" - @click="e => copy(e, DDLsql)" + @click="(e) => copy(e, DDLsql)" >复制 @@ -76,193 +76,193 @@ - diff --git a/web/packages/dolphinScheduler/assets/styles/workflow.scss b/web/packages/dolphinScheduler/assets/styles/workflow.scss index a44e9eed7..ad468bd2b 100644 --- a/web/packages/dolphinScheduler/assets/styles/workflow.scss +++ b/web/packages/dolphinScheduler/assets/styles/workflow.scss @@ -14,7 +14,7 @@ * limitations under the License. * */ -@import "@dataspherestudio/shared/common/style/variables.scss"; +@import '@dataspherestudio/shared/common/style/variables.scss'; .workflow-wrap { width: 100%; height: 100%; @@ -89,7 +89,7 @@ font-weight: 400; cursor: pointer; &:hover { - background-color: #2E92F7; + background-color: #2e92f7; color: #fff; } } @@ -162,7 +162,7 @@ position: relative; flex: 1; .tabs-content { - /deep/ .ivu-tabs-tab { + ::v-deep .ivu-tabs-tab { font-size: $font-size-large; } } @@ -220,47 +220,51 @@ @include border-color($border-color-base, $dark-border-color-base); padding: 0 5px; .workflow-tabs-item { - margin: 0; - height: 31px; - padding: 5px 16px 4px; - border-bottom: $border-width-base $border-style-base $border-color-base; - @include border-color($border-color-base, $dark-border-color-base); - border-radius: 4px 4px 0 0; - // background: #f8f8f9; - @include bg-color($workflow-body-bg-color, $dark-workflow-body-bg-color); + margin: 0; + height: 31px; + padding: 5px 16px 4px; + border-bottom: $border-width-base $border-style-base + $border-color-base; + @include border-color($border-color-base, $dark-border-color-base); + border-radius: 4px 4px 0 0; + // background: #f8f8f9; + @include bg-color( + $workflow-body-bg-color, + $dark-workflow-body-bg-color + ); + display: inline-block; + cursor: pointer; + position: relative; + &.active { + height: 32px; + padding-bottom: 5px; + background: #fff; + transform: translateZ(0); + border: 1px solid #dcdee2; + border-bottom: 1px solid #fff; + // color: #2d8cf0; + @include font-color($primary-color, $dark-primary-color); + } + .workflow-tabs-name { display: inline-block; - cursor: pointer; + } + .workflow-tabs-close { + width: 22px; + margin-right: -6px; + height: 22px; + font-size: 22px; + color: #999; + text-align: right; + vertical-align: middle; + overflow: hidden; position: relative; - &.active { - height: 32px; - padding-bottom: 5px; - background: #fff; - transform: translateZ(0); - border: 1px solid #dcdee2; - border-bottom:1px solid #fff; - // color: #2d8cf0; - @include font-color($primary-color, $dark-primary-color); - } - .workflow-tabs-name { - display: inline-block; - } - .workflow-tabs-close { - width: 22px; - margin-right: -6px; - height: 22px; - font-size: 22px; - color: #999; - text-align: right; - vertical-align: middle; - overflow: hidden; - position: relative; - top: -1px; - transform-origin: 100% 50%; - transition: all .3s ease-in-out; - cursor: pointer; - } + top: -1px; + transform-origin: 100% 50%; + transition: all 0.3s ease-in-out; + cursor: pointer; + } } + } } } - } } diff --git a/web/packages/dolphinScheduler/components/tabList/index.scss b/web/packages/dolphinScheduler/components/tabList/index.scss index 390a5676e..adede936b 100644 --- a/web/packages/dolphinScheduler/components/tabList/index.scss +++ b/web/packages/dolphinScheduler/components/tabList/index.scss @@ -1,4 +1,4 @@ -@import "@dataspherestudio/shared/common/style/variables.scss"; +@import '@dataspherestudio/shared/common/style/variables.scss'; .workflowTabContainer { margin-left: 250px; transition: margin-left 0.3s; @@ -36,7 +36,7 @@ min-width: 320px; .ivu-breadcrumb { font-size: 21px; - /deep/.ivu-breadcrumb-item-separator { + ::v-deep.ivu-breadcrumb-item-separator { // color: rgba(0,0,0,0.65); @include font-color($light-text-color, $dark-text-color); } @@ -48,43 +48,53 @@ font-size: 14px; } .bottomTapList { - padding: 0px $padding-25; - border-bottom: $border-width-base $border-style-base $border-color-base; - @include border-color($background-color-base, $dark-workspace-body-bg-color); - @include font-color($workspace-title-color, $dark-workspace-title-color); - margin-top: 12px; + padding: 0px $padding-25; + border-bottom: $border-width-base $border-style-base + $border-color-base; + @include border-color( + $background-color-base, + $dark-workspace-body-bg-color + ); + @include font-color( + $workspace-title-color, + $dark-workspace-title-color + ); + margin-top: 12px; + flex: none; + display: flex; + align-items: center; + font-size: $font-size-large; + .bottomLeftText { + cursor: pointer; flex: none; - display: flex; - align-items: center; font-size: $font-size-large; - .bottomLeftText { - cursor: pointer; - flex: none; - font-size: $font-size-large; - padding: 0 15px; - margin-bottom: -1px; - line-height: 40px; - position: relative; - &::after { - content: ""; - border-left: 1px solid #DEE4EC; - @include border-color($border-color-base, $dark-border-color-base); - width: 0; - position: absolute; - right: -15px; - top: 12px; - height: 16px; - margin: 0 15px; - } - } - .active { - border-bottom: 2px solid $primary-color; - @include border-color($primary-color, $dark-primary-color); - } - .bottomRightContainer { - flex: 1; - height: 40px; + padding: 0 15px; + margin-bottom: -1px; + line-height: 40px; + position: relative; + &::after { + content: ''; + border-left: 1px solid #dee4ec; + @include border-color( + $border-color-base, + $dark-border-color-base + ); + width: 0; + position: absolute; + right: -15px; + top: 12px; + height: 16px; + margin: 0 15px; } + } + .active { + border-bottom: 2px solid $primary-color; + @include border-color($primary-color, $dark-primary-color); + } + .bottomRightContainer { + flex: 1; + height: 40px; + } } } } @@ -109,7 +119,7 @@ line-height: 40px; position: relative; &::after { - content: ""; + content: ''; border-left: 1px solid #dee4ec; @include border-color($border-color-base, $dark-border-color-base); width: 0; @@ -149,13 +159,13 @@ padding: 0 10px; overflow: hidden; margin-right: 8px; - @include bg-color( #E1E5EA, $dark-workspace-body-bg-color); + @include bg-color(#e1e5ea, $dark-workspace-body-bg-color); border-radius: 12px; &.active { height: 24px; @include font-color($primary-color, $dark-primary-color); line-height: 24px; - @include bg-color(#E8EEF4, $dark-workspace-body-bg-color); + @include bg-color(#e8eef4, $dark-workspace-body-bg-color); border-radius: 12px; } &:hover { @@ -163,7 +173,7 @@ @include font-color($primary-color, $dark-primary-color); line-height: 24px; border-radius: 12px; - @include bg-color(#D1D7DD, $dark-workspace-body-bg-color); + @include bg-color(#d1d7dd, $dark-workspace-body-bg-color); } } From 7655b77e79fc3988ce868c30243d3637a2e5e801 Mon Sep 17 00:00:00 2001 From: yuankang134 <373346037@qq.com> Date: Tue, 26 Mar 2024 17:03:51 +0800 Subject: [PATCH 003/302] update maven version --- assembly/dss-package/pom.xml | 2 +- assembly/pom.xml | 2 +- dss-appconn/appconns/dss-datachecker-appconn/pom.xml | 4 ++-- dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-eventchecker-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-schedulis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-scriptis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-sendemail-appconn/pom.xml | 2 +- .../dss-sendemail-appconn/sendemail-appconn-core/pom.xml | 2 +- dss-appconn/appconns/dss-sso-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-workflow-appconn/pom.xml | 2 +- dss-appconn/dss-appconn-core/pom.xml | 2 +- dss-appconn/dss-appconn-loader/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-client/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-core/pom.xml | 2 +- dss-appconn/dss-appconn-manager/pom.xml | 2 +- dss-appconn/dss-scheduler-appconn/pom.xml | 2 +- dss-appconn/linkis-appconn-engineplugin/pom.xml | 2 +- dss-appconn/pom.xml | 2 +- dss-apps/dss-apiservice-server/pom.xml | 2 +- dss-apps/dss-apps-server/pom.xml | 2 +- dss-apps/dss-data-api/dss-api-sql-template/pom.xml | 2 +- dss-apps/dss-data-api/dss-data-api-server/pom.xml | 2 +- dss-apps/dss-data-api/pom.xml | 2 +- dss-apps/dss-data-governance/dss-data-asset-server/pom.xml | 2 +- .../dss-data-classification-server/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-common/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-server/pom.xml | 2 +- dss-apps/dss-data-governance/pom.xml | 2 +- dss-apps/dss-scriptis-server/pom.xml | 2 +- dss-apps/dss-user-guide/dss-user-guide-server/pom.xml | 2 +- dss-apps/dss-user-guide/pom.xml | 2 +- dss-apps/pom.xml | 2 +- dss-commons/dss-common/pom.xml | 2 +- dss-commons/dss-contextservice/pom.xml | 2 +- dss-commons/dss-sender-service/pom.xml | 2 +- dss-commons/pom.xml | 2 +- dss-framework/dss-appconn-framework/pom.xml | 2 +- dss-framework/dss-framework-admin-service/pom.xml | 2 +- dss-framework/dss-framework-common/pom.xml | 2 +- dss-framework/dss-framework-orchestrator-server/pom.xml | 2 +- dss-framework/dss-framework-project-server/pom.xml | 2 +- dss-framework/dss-framework-proxy-user-service/pom.xml | 2 +- dss-framework/dss-framework-workspace-server/pom.xml | 2 +- .../framework-plugins/dss-framework-migrate-server/pom.xml | 2 +- .../dss-framework-orchestrator-publish/pom.xml | 2 +- dss-framework/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-common/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-core/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-db/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-loader/pom.xml | 2 +- .../dss-workflow/dss-flow-execution-server/pom.xml | 2 +- .../dss-workflow/dss-linkis-node-execution/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-common/pom.xml | 2 +- .../dss-workflow/dss-workflow-conversion-standard/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-sdk/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-server/pom.xml | 2 +- dss-orchestrator/orchestrators/dss-workflow/pom.xml | 2 +- dss-orchestrator/pom.xml | 2 +- dss-server/pom.xml | 2 +- .../development-process-standard-execution/pom.xml | 2 +- .../development-standard/development-process-standard/pom.xml | 2 +- dss-standard/dss-standard-common/pom.xml | 2 +- dss-standard/pom.xml | 2 +- .../sso-standard/origin-sso-integration-standard/pom.xml | 2 +- .../sso-standard/spring-origin-sso-integration-plugin/pom.xml | 2 +- dss-standard/sso-standard/sso-integration-standard/pom.xml | 2 +- dss-standard/structure-standard/dss-project-plugin/pom.xml | 2 +- dss-standard/structure-standard/dss-role-plugin/pom.xml | 2 +- .../dss-structure-integration-standard/pom.xml | 2 +- .../spring-origin-dss-project-plugin/pom.xml | 2 +- plugins/azkaban/linkis-jobtype/pom.xml | 2 +- .../dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml | 2 +- plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml | 2 +- plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml | 2 +- plugins/dolphinscheduler/pom.xml | 2 +- plugins/linkis/dss-gateway-support/pom.xml | 2 +- pom.xml | 4 ++-- 79 files changed, 81 insertions(+), 81 deletions(-) diff --git a/assembly/dss-package/pom.xml b/assembly/dss-package/pom.xml index 842307e24..551abaa9f 100644 --- a/assembly/dss-package/pom.xml +++ b/assembly/dss-package/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/assembly/pom.xml b/assembly/pom.xml index 0e97116a4..30ea818cb 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml pom diff --git a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml index 51cf70eaa..96972b007 100644 --- a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 @@ -54,7 +54,7 @@ com.webank.wedatasphere.dss dss-origin-sso-integration-standard - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT org.apache.linkis diff --git a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml index 8543d92a9..9e61911c7 100644 --- a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml +++ b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml index 7539d9e68..8f05cfa59 100644 --- a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml index ae044adb0..a539660a3 100644 --- a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml index 1fbb75e66..1f9c818d0 100644 --- a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml index 792ccf982..3defbf129 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml index 050c80d84..c51375c78 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sso-appconn/pom.xml b/dss-appconn/appconns/dss-sso-appconn/pom.xml index 2b4eb6f8a..a993fd35b 100644 --- a/dss-appconn/appconns/dss-sso-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sso-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-workflow-appconn/pom.xml b/dss-appconn/appconns/dss-workflow-appconn/pom.xml index 8ec03fe62..cb015df2a 100644 --- a/dss-appconn/appconns/dss-workflow-appconn/pom.xml +++ b/dss-appconn/appconns/dss-workflow-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-core/pom.xml b/dss-appconn/dss-appconn-core/pom.xml index 60f42dc4b..742c75908 100644 --- a/dss-appconn/dss-appconn-core/pom.xml +++ b/dss-appconn/dss-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-loader/pom.xml b/dss-appconn/dss-appconn-loader/pom.xml index 2155e4f32..90a6fa128 100644 --- a/dss-appconn/dss-appconn-loader/pom.xml +++ b/dss-appconn/dss-appconn-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml index f12b02dd2..6a8007104 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml index a2693bc65..5857216df 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/pom.xml b/dss-appconn/dss-appconn-manager/pom.xml index e2b61cf83..71133409f 100644 --- a/dss-appconn/dss-appconn-manager/pom.xml +++ b/dss-appconn/dss-appconn-manager/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-scheduler-appconn/pom.xml b/dss-appconn/dss-scheduler-appconn/pom.xml index cc14c6c04..8ce872c9d 100644 --- a/dss-appconn/dss-scheduler-appconn/pom.xml +++ b/dss-appconn/dss-scheduler-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/linkis-appconn-engineplugin/pom.xml b/dss-appconn/linkis-appconn-engineplugin/pom.xml index 363d409de..c37ffba4d 100644 --- a/dss-appconn/linkis-appconn-engineplugin/pom.xml +++ b/dss-appconn/linkis-appconn-engineplugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/pom.xml b/dss-appconn/pom.xml index 616ea2f66..3baf458d4 100644 --- a/dss-appconn/pom.xml +++ b/dss-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-apps/dss-apiservice-server/pom.xml b/dss-apps/dss-apiservice-server/pom.xml index 0c82fbb7e..16bbc1ea0 100644 --- a/dss-apps/dss-apiservice-server/pom.xml +++ b/dss-apps/dss-apiservice-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-apps-server/pom.xml b/dss-apps/dss-apps-server/pom.xml index 827480e12..138553218 100644 --- a/dss-apps/dss-apps-server/pom.xml +++ b/dss-apps/dss-apps-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml index 24a2d57c0..f87fd6f40 100644 --- a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml +++ b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-data-api-server/pom.xml b/dss-apps/dss-data-api/dss-data-api-server/pom.xml index ab98a16c4..93e0a996e 100644 --- a/dss-apps/dss-data-api/dss-data-api-server/pom.xml +++ b/dss-apps/dss-data-api/dss-data-api-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/pom.xml b/dss-apps/dss-data-api/pom.xml index 1e1730298..551bf1f12 100644 --- a/dss-apps/dss-data-api/pom.xml +++ b/dss-apps/dss-data-api/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss ../../pom.xml - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT 4.0.0 dss-data-api diff --git a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml index f0061c59b..5c303b714 100644 --- a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml index 8e39df352..5b58fed36 100644 --- a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml index 891faa5f4..38f0171c0 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml index 25689c268..9e4986ff9 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/pom.xml b/dss-apps/dss-data-governance/pom.xml index 668d5c2c2..0f0f93481 100644 --- a/dss-apps/dss-data-governance/pom.xml +++ b/dss-apps/dss-data-governance/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-scriptis-server/pom.xml b/dss-apps/dss-scriptis-server/pom.xml index 74d84e93f..825b74116 100644 --- a/dss-apps/dss-scriptis-server/pom.xml +++ b/dss-apps/dss-scriptis-server/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml diff --git a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml index e7e6add8d..6a3fe86f6 100644 --- a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml +++ b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml @@ -5,7 +5,7 @@ dss-user-guide com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-apps/dss-user-guide/pom.xml b/dss-apps/dss-user-guide/pom.xml index b506cc4b3..ef8b63465 100644 --- a/dss-apps/dss-user-guide/pom.xml +++ b/dss-apps/dss-user-guide/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/pom.xml b/dss-apps/pom.xml index 3731e59ae..67b956fc9 100644 --- a/dss-apps/pom.xml +++ b/dss-apps/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-commons/dss-common/pom.xml b/dss-commons/dss-common/pom.xml index 23c2acc60..eebe3f823 100644 --- a/dss-commons/dss-common/pom.xml +++ b/dss-commons/dss-common/pom.xml @@ -22,7 +22,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml dss-common diff --git a/dss-commons/dss-contextservice/pom.xml b/dss-commons/dss-contextservice/pom.xml index e72f0c672..3f81d39c0 100644 --- a/dss-commons/dss-contextservice/pom.xml +++ b/dss-commons/dss-contextservice/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml dss-contextservice diff --git a/dss-commons/dss-sender-service/pom.xml b/dss-commons/dss-sender-service/pom.xml index ba32deb18..b792be80d 100644 --- a/dss-commons/dss-sender-service/pom.xml +++ b/dss-commons/dss-sender-service/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-commons/pom.xml b/dss-commons/pom.xml index f719aa12c..5820079c9 100644 --- a/dss-commons/pom.xml +++ b/dss-commons/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-framework/dss-appconn-framework/pom.xml b/dss-framework/dss-appconn-framework/pom.xml index be1f80ef5..8aaaadbbd 100644 --- a/dss-framework/dss-appconn-framework/pom.xml +++ b/dss-framework/dss-appconn-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-admin-service/pom.xml b/dss-framework/dss-framework-admin-service/pom.xml index 901db373b..5b469e8cc 100644 --- a/dss-framework/dss-framework-admin-service/pom.xml +++ b/dss-framework/dss-framework-admin-service/pom.xml @@ -4,7 +4,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml diff --git a/dss-framework/dss-framework-common/pom.xml b/dss-framework/dss-framework-common/pom.xml index 942384562..a38484ced 100644 --- a/dss-framework/dss-framework-common/pom.xml +++ b/dss-framework/dss-framework-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-orchestrator-server/pom.xml b/dss-framework/dss-framework-orchestrator-server/pom.xml index 48b2caf90..0107b01b0 100644 --- a/dss-framework/dss-framework-orchestrator-server/pom.xml +++ b/dss-framework/dss-framework-orchestrator-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-project-server/pom.xml b/dss-framework/dss-framework-project-server/pom.xml index d8bd3ed2d..fd679ed39 100644 --- a/dss-framework/dss-framework-project-server/pom.xml +++ b/dss-framework/dss-framework-project-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-proxy-user-service/pom.xml b/dss-framework/dss-framework-proxy-user-service/pom.xml index 7faa50d57..eda1d4513 100644 --- a/dss-framework/dss-framework-proxy-user-service/pom.xml +++ b/dss-framework/dss-framework-proxy-user-service/pom.xml @@ -5,7 +5,7 @@ dss-framework com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT 4.0.0 diff --git a/dss-framework/dss-framework-workspace-server/pom.xml b/dss-framework/dss-framework-workspace-server/pom.xml index 2ff2f0904..22bda9540 100644 --- a/dss-framework/dss-framework-workspace-server/pom.xml +++ b/dss-framework/dss-framework-workspace-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml index 4e6851585..1f70ab62d 100644 --- a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml index d7b57582e..fcc5ed67f 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-framework/pom.xml b/dss-framework/pom.xml index 5327fb147..0665a4b92 100644 --- a/dss-framework/pom.xml +++ b/dss-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-common/pom.xml b/dss-orchestrator/dss-orchestrator-common/pom.xml index 10b97e09d..40682adb8 100644 --- a/dss-orchestrator/dss-orchestrator-common/pom.xml +++ b/dss-orchestrator/dss-orchestrator-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml index 3335bfbee..1e4ac15f6 100644 --- a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml +++ b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-orchestrator com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-core/pom.xml b/dss-orchestrator/dss-orchestrator-core/pom.xml index 7d2ffcb84..25e7bf860 100644 --- a/dss-orchestrator/dss-orchestrator-core/pom.xml +++ b/dss-orchestrator/dss-orchestrator-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-db/pom.xml b/dss-orchestrator/dss-orchestrator-db/pom.xml index fd75675ec..abedcc10f 100644 --- a/dss-orchestrator/dss-orchestrator-db/pom.xml +++ b/dss-orchestrator/dss-orchestrator-db/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-loader/pom.xml b/dss-orchestrator/dss-orchestrator-loader/pom.xml index 1f4a05191..a757e1a24 100644 --- a/dss-orchestrator/dss-orchestrator-loader/pom.xml +++ b/dss-orchestrator/dss-orchestrator-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml index 1ac625b49..ed124d031 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml index d88e327d6..c0a3c1984 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml @@ -23,7 +23,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../../pom.xml diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml index e74991312..4b2b6ef17 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml index fb2f99ce6..80e5df81d 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml index 7bf055d48..dec539e41 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml index fd970e1d4..65387ae4e 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/pom.xml index f15cbb371..dc863de79 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/pom.xml b/dss-orchestrator/pom.xml index dc9f4c6fa..ef6bea8de 100644 --- a/dss-orchestrator/pom.xml +++ b/dss-orchestrator/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-server/pom.xml b/dss-server/pom.xml index ed7e68cf7..acdb1376c 100644 --- a/dss-server/pom.xml +++ b/dss-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard-execution/pom.xml b/dss-standard/development-standard/development-process-standard-execution/pom.xml index 40bb6c080..b3f34474c 100644 --- a/dss-standard/development-standard/development-process-standard-execution/pom.xml +++ b/dss-standard/development-standard/development-process-standard-execution/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard/pom.xml b/dss-standard/development-standard/development-process-standard/pom.xml index f9f761d5b..5356f9593 100644 --- a/dss-standard/development-standard/development-process-standard/pom.xml +++ b/dss-standard/development-standard/development-process-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/dss-standard-common/pom.xml b/dss-standard/dss-standard-common/pom.xml index ee9a581af..4e1b12f51 100644 --- a/dss-standard/dss-standard-common/pom.xml +++ b/dss-standard/dss-standard-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-standard/pom.xml b/dss-standard/pom.xml index a136fb2e9..fde1bb513 100644 --- a/dss-standard/pom.xml +++ b/dss-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml index 592b59d6c..7c65dc338 100644 --- a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml index 5fdab0942..46ce2475d 100644 --- a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml +++ b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/sso-integration-standard/pom.xml b/dss-standard/sso-standard/sso-integration-standard/pom.xml index 2ac6ce59e..b5f67caf1 100644 --- a/dss-standard/sso-standard/sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-project-plugin/pom.xml b/dss-standard/structure-standard/dss-project-plugin/pom.xml index 745e6b013..7885208da 100644 --- a/dss-standard/structure-standard/dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-role-plugin/pom.xml b/dss-standard/structure-standard/dss-role-plugin/pom.xml index e5a562694..be0ea18aa 100644 --- a/dss-standard/structure-standard/dss-role-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-role-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml index 00ce1d53a..33d8b1415 100644 --- a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml +++ b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml index 645724e18..8269ab980 100644 --- a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/plugins/azkaban/linkis-jobtype/pom.xml b/plugins/azkaban/linkis-jobtype/pom.xml index e2ace7bb3..e0d2c983e 100644 --- a/plugins/azkaban/linkis-jobtype/pom.xml +++ b/plugins/azkaban/linkis-jobtype/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml linkis-jobtype diff --git a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml index ca0cbacb8..7cad1d645 100644 --- a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml +++ b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml index 0a01b3df1..894996923 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml index e2d8af4fd..434704ef6 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../pom.xml diff --git a/plugins/dolphinscheduler/pom.xml b/plugins/dolphinscheduler/pom.xml index c4fc2db6c..b18b53a21 100644 --- a/plugins/dolphinscheduler/pom.xml +++ b/plugins/dolphinscheduler/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/plugins/linkis/dss-gateway-support/pom.xml b/plugins/linkis/dss-gateway-support/pom.xml index 4d24332da..3e560b4a7 100644 --- a/plugins/linkis/dss-gateway-support/pom.xml +++ b/plugins/linkis/dss-gateway-support/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index b1372a31f..5074eaf02 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ pom com.webank.wedatasphere.dss dss - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT dss-commons @@ -40,7 +40,7 @@ - 1.1.0.20-SNAPSHOT + 1.1.0.21-SNAPSHOT 1.1.19-wds-SNAPSHOT 2.11.12 1.8 From f487e7fcfc16039c319488bc2bf4a087a4abc36e Mon Sep 17 00:00:00 2001 From: xlinliu Date: Wed, 27 Mar 2024 18:00:09 +0800 Subject: [PATCH 004/302] fix bug appconn load failed by AppConnRefreshThread --- .../dss/appconn/manager/impl/AbstractAppConnManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/src/main/java/com/webank/wedatasphere/dss/appconn/manager/impl/AbstractAppConnManager.java b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/src/main/java/com/webank/wedatasphere/dss/appconn/manager/impl/AbstractAppConnManager.java index a6d019e7a..45631314a 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/src/main/java/com/webank/wedatasphere/dss/appconn/manager/impl/AbstractAppConnManager.java +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/src/main/java/com/webank/wedatasphere/dss/appconn/manager/impl/AbstractAppConnManager.java @@ -43,6 +43,7 @@ import org.slf4j.LoggerFactory; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import java.util.stream.Collectors; @@ -52,7 +53,7 @@ public abstract class AbstractAppConnManager implements AppConnManager { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractAppConnManager.class); private final AppConnLoader appConnLoader = AppConnLoaderFactory.getAppConnLoader(); - private final Map appConns = new HashMap<>(); + private final Map appConns = new ConcurrentHashMap<>(); private volatile boolean isLoaded = false; private List appConnList = null; AppConnInfoService appConnInfoService; From a9feb109f5e52c05c3da38159bd029baac965d83 Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Thu, 28 Mar 2024 15:35:50 +0800 Subject: [PATCH 005/302] =?UTF-8?q?=E6=9B=B4=E6=94=B9xlsx-streamer?= =?UTF-8?q?=E5=8C=85=E7=89=88=E6=9C=AC,1.2.1=E5=8D=87=E7=BA=A7=E4=B8=BA2.1?= =?UTF-8?q?.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dss-commons/dss-common/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss-commons/dss-common/pom.xml b/dss-commons/dss-common/pom.xml index eebe3f823..86f83dbcc 100644 --- a/dss-commons/dss-common/pom.xml +++ b/dss-commons/dss-common/pom.xml @@ -109,7 +109,7 @@ com.monitorjbl xlsx-streamer - 1.2.1 + 2.1.0 com.fasterxml.jackson.core From c99bf6f30970a3b92faf7c26efbaca4a71266ac5 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 1 Apr 2024 20:39:18 +0800 Subject: [PATCH 006/302] git Module add --- .../workspace/bean/GitUserEntity.java | 97 ++++ .../workspace/dao/DSSWorkspaceGitMapper.java | 14 + .../dao/impl/DSSWorkspaceGitMapper.xml | 35 ++ .../restful/DSSWorkspaceRestful.java | 19 + .../service/DSSWorkspaceGitService.java | 10 + .../impl/DSSWorkspaceGitServiceImpl.java | 31 ++ dss-git/dss-git-common/pom.xml | 22 + .../protocol/GitTree.java | 44 ++ .../request/GitArchiveProjectRequest.java | 30 ++ .../protocol/request/GitBaseRequest.java | 30 ++ .../request/GitCheckProjectRequest.java | 32 ++ .../protocol/request/GitCommitRequest.java | 63 +++ .../request/GitCreateProjectRequest.java | 45 ++ .../protocol/request/GitDeleteRequest.java | 42 ++ .../protocol/request/GitDiffRequest.java | 48 ++ .../request/GitFileContentRequest.java | 41 ++ .../protocol/request/GitRemoveRequest.java | 20 + .../protocol/request/GitRevertRequest.java | 34 ++ .../protocol/request/GitSearchRequest.java | 87 +++ .../protocol/response/GItDiffResponse.java | 23 + .../response/GitArchivePorjectResponse.java | 21 + .../protocol/response/GitBaseResponse.java | 42 ++ .../response/GitCheckProjectResponse.java | 37 ++ .../protocol/response/GitCommitResponse.java | 54 ++ .../response/GitCreateProjectResponse.java | 32 ++ .../protocol/response/GitDeleteResponse.java | 37 ++ .../response/GitFileContentResponse.java | 23 + .../protocol/response/GitSearchResponse.java | 34 ++ dss-git/dss-git-server/pom.xml | 125 +++++ .../src/main/assembly/distribution.xml | 46 ++ .../dss/git/config/GitServerConfig.java | 15 + .../service/DSSGitProjectManagerService.java | 16 + .../service/DSSGitWorkflowManagerService.java | 19 + .../impl/DSSGitProjectManagerServiceImpl.java | 91 ++++ .../DSSGitWorkflowManagerServiceImpl.java | 303 +++++++++++ .../git/thread/GitServerThreadFactory.java | 12 + .../dss/git/thread/GitServerThreadPool.java | 38 ++ .../dss/git/utils/DSSGitUtils.java | 496 ++++++++++++++++++ .../wedatasphere/dss/git/utils/FileUtils.java | 162 ++++++ .../receiver/DSSGitChooser.scala | 53 ++ .../receiver/DSSGitReceiver.scala | 53 ++ dss-git/pom.xml | 24 + 42 files changed, 2500 insertions(+) create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/GitUserEntity.java create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/DSSWorkspaceGitMapper.java create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/impl/DSSWorkspaceGitMapper.xml create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/DSSWorkspaceGitService.java create mode 100644 dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java create mode 100644 dss-git/dss-git-common/pom.xml create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/GitTree.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitArchiveProjectRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitBaseRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCheckProjectRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCommitRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCreateProjectRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDeleteRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDiffRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitFileContentRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRemoveRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRevertRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitSearchRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitArchivePorjectResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitBaseResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCreateProjectResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitFileContentResponse.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitSearchResponse.java create mode 100644 dss-git/dss-git-server/pom.xml create mode 100644 dss-git/dss-git-server/src/main/assembly/distribution.xml create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/config/GitServerConfig.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitProjectManagerService.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadFactory.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadPool.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java create mode 100644 dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala create mode 100644 dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala create mode 100644 dss-git/pom.xml diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/GitUserEntity.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/GitUserEntity.java new file mode 100644 index 000000000..0f5961118 --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/bean/GitUserEntity.java @@ -0,0 +1,97 @@ +package com.webank.wedatasphere.dss.framework.workspace.bean; + + +import java.util.Date; + +public class GitUserEntity { + private Long id; + private Long workspaceId; + private String gitUser; + private String gitToken; + private Date createTime; + private Date updateTime; + private String createBy; + private String updateBy; + + public GitUserEntity() { + } + + public GitUserEntity(Long workspaceId, String gitUser, String gitToken, String updateBy) { + this.workspaceId = workspaceId; + this.gitUser = gitUser; + this.gitToken = gitToken; + this.updateBy = updateBy; + } + + public GitUserEntity(Long workspaceId, String gitUser, String gitToken, String createBy, String updateBy) { + this.workspaceId = workspaceId; + this.gitUser = gitUser; + this.gitToken = gitToken; + this.createBy = createBy; + this.updateBy = updateBy; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getWorkspaceId() { + return workspaceId; + } + + public void setWorkspaceId(Long workspaceId) { + this.workspaceId = workspaceId; + } + + public String getGitUser() { + return gitUser; + } + + public void setGitUser(String gitUser) { + this.gitUser = gitUser; + } + + public String getGitToken() { + return gitToken; + } + + public void setGitToken(String gitToken) { + this.gitToken = gitToken; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } +} diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/DSSWorkspaceGitMapper.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/DSSWorkspaceGitMapper.java new file mode 100644 index 000000000..ec2ec55cd --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/DSSWorkspaceGitMapper.java @@ -0,0 +1,14 @@ +package com.webank.wedatasphere.dss.framework.workspace.dao; + +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface DSSWorkspaceGitMapper { + void insert(GitUserEntity gitUserDO); + + void update(GitUserEntity gitUserDO); + + GitUserEntity selectByWorkspaceId(@Param("workspaceId") Long workspaceId); +} diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/impl/DSSWorkspaceGitMapper.xml b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/impl/DSSWorkspaceGitMapper.xml new file mode 100644 index 000000000..f852192ae --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/dao/impl/DSSWorkspaceGitMapper.xml @@ -0,0 +1,35 @@ + + + + + + + insert into dss_workspace_associate_git (workspace_id, git_user, git_token, create_time, update_time, create_by, update_by) + VALUES (#{workspaceId}, #{gitUser}, #{gitToken}, now(), now(), #{createBy}, #{updateBy}) + + + + update dss_workspace_associate_git set git_user = #{gitUser}, git_token = #{gitToken} , update_time = now(), update_by = #{updateBy} + where workspace_id = #{workspaceId} + + + + \ No newline at end of file diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java index 06fe1e841..62a441d60 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/restful/DSSWorkspaceRestful.java @@ -23,12 +23,14 @@ import com.webank.wedatasphere.dss.common.utils.DSSCommonUtils; import com.webank.wedatasphere.dss.framework.admin.service.DssAdminUserService; import com.webank.wedatasphere.dss.framework.workspace.bean.DSSWorkspace; +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; import com.webank.wedatasphere.dss.framework.workspace.bean.dto.response.WorkspaceFavoriteVo; import com.webank.wedatasphere.dss.framework.workspace.bean.dto.response.WorkspaceMenuVo; import com.webank.wedatasphere.dss.framework.workspace.bean.request.CreateWorkspaceRequest; import com.webank.wedatasphere.dss.framework.workspace.bean.vo.DSSWorkspaceHomePageVO; import com.webank.wedatasphere.dss.framework.workspace.bean.vo.DSSWorkspaceOverviewVO; import com.webank.wedatasphere.dss.framework.workspace.bean.vo.DSSWorkspaceVO; +import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceGitService; import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceRoleService; import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceService; import com.webank.wedatasphere.dss.framework.workspace.util.WorkspaceDBHelper; @@ -72,6 +74,9 @@ public class DSSWorkspaceRestful { @Autowired private HttpServletResponse httpServletResponse; + @Autowired + private DSSWorkspaceGitService dssWorkspaceGitService; + @RequestMapping(path = "createWorkspace", method = RequestMethod.POST) public Message createWorkspace(@RequestBody CreateWorkspaceRequest createWorkspaceRequest) throws ErrorException { String userName = SecurityFilter.getLoginUsername(httpServletRequest); @@ -334,6 +339,20 @@ public Message deleteFavorite(@PathVariable("workspaceId") Long workspaceId, @Pa return Message.ok().data("favoriteId", favoriteId); } + @RequestMapping(path = "/workspaces/git", method = RequestMethod.POST) + public Message associateGit(@RequestBody GitUserEntity gitUser) { + String username = SecurityFilter.getLoginUsername(httpServletRequest); + dssWorkspaceGitService.associateGit(gitUser, username); + return Message.ok(); + } + + @RequestMapping(path = "/workspaces/git", method = RequestMethod.GET) + public Message selectGit(@RequestParam Long workspaceId) { + String username = SecurityFilter.getLoginUsername(httpServletRequest); + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(workspaceId); + return Message.ok().data("gitUser", gitUser); + } + } diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/DSSWorkspaceGitService.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/DSSWorkspaceGitService.java new file mode 100644 index 000000000..8248d79ac --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/DSSWorkspaceGitService.java @@ -0,0 +1,10 @@ +package com.webank.wedatasphere.dss.framework.workspace.service; + +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; + +public interface DSSWorkspaceGitService { + + void associateGit(GitUserEntity gitUser, String userName); + + GitUserEntity selectGit(Long workspaceId); +} diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java new file mode 100644 index 000000000..8efc8a1a7 --- /dev/null +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java @@ -0,0 +1,31 @@ +package com.webank.wedatasphere.dss.framework.workspace.service.impl; + +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; +import com.webank.wedatasphere.dss.framework.workspace.dao.DSSWorkspaceGitMapper; +import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceGitService; +import org.springframework.beans.factory.annotation.Autowired; + +public class DSSWorkspaceGitServiceImpl implements DSSWorkspaceGitService { + + @Autowired + private DSSWorkspaceGitMapper workspaceGitMapper; + + + @Override + public void associateGit(GitUserEntity gitUser, String userName) { + // 不存在则更新,存在则新增 + GitUserEntity oldGitUserDo = selectGit(gitUser.getWorkspaceId()); + gitUser.setUpdateBy(userName); + if (oldGitUserDo == null) { + gitUser.setCreateBy(userName); + workspaceGitMapper.insert(gitUser); + }else { + workspaceGitMapper.update(gitUser); + } + } + + @Override + public GitUserEntity selectGit(Long workspaceId) { + return workspaceGitMapper.selectByWorkspaceId(workspaceId); + } +} diff --git a/dss-git/dss-git-common/pom.xml b/dss-git/dss-git-common/pom.xml new file mode 100644 index 000000000..24b97f2cf --- /dev/null +++ b/dss-git/dss-git-common/pom.xml @@ -0,0 +1,22 @@ + + + + dss-git + com.webank.wedatasphere.dss + 1.1.0.20-SNAPSHOT + + 4.0.0 + + dss-git-common + + + + com.webank.wedatasphere.dss + dss-common + ${dss.version} + + + + \ No newline at end of file diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/GitTree.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/GitTree.java new file mode 100644 index 000000000..6ef9b0487 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/GitTree.java @@ -0,0 +1,44 @@ +package com.webank.wedatasphere.dss.git.common.protocol; + +import java.util.HashMap; +import java.util.Map; + +public class GitTree { + private String name; + private Map children = new HashMap<>(); + + public GitTree(String name) { + this.name = name; + } + + // 添加子节点 + public void addChild(String path) { + String[] parts = path.split("/", 2); + String currentPart = parts[0]; + String restPart = parts.length > 1 ? parts[1] : null; + + children.putIfAbsent(currentPart, new GitTree(currentPart)); + GitTree child = children.get(currentPart); + + if (restPart != null) { + child.addChild(restPart); + } + } + + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Map getChildren() { + return children; + } + + public void setChildren(Map children) { + this.children = children; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitArchiveProjectRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitArchiveProjectRequest.java new file mode 100644 index 000000000..07397e777 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitArchiveProjectRequest.java @@ -0,0 +1,30 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + + +public class GitArchiveProjectRequest extends GitBaseRequest{ + /** + * DSS用户名 + */ + private String username; + + public GitArchiveProjectRequest() { + } + + public GitArchiveProjectRequest(String username) { + this.username = username; + } + + public GitArchiveProjectRequest(Long workspaceId, String projectName, String username) { + super(workspaceId, projectName); + this.username = username; + } + + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitBaseRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitBaseRequest.java new file mode 100644 index 000000000..28e9e849c --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitBaseRequest.java @@ -0,0 +1,30 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + +public class GitBaseRequest{ + private Long workspaceId; + private String projectName; + + public GitBaseRequest() { + } + + public GitBaseRequest(Long workspaceId, String projectName) { + this.workspaceId = workspaceId; + this.projectName = projectName; + } + + public Long getWorkspaceId() { + return workspaceId; + } + + public void setWorkspaceId(Long workspaceId) { + this.workspaceId = workspaceId; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCheckProjectRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCheckProjectRequest.java new file mode 100644 index 000000000..203b32d0f --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCheckProjectRequest.java @@ -0,0 +1,32 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + + +public class GitCheckProjectRequest extends GitBaseRequest { + /** + * DSS用户名 + */ + private String username; + + + + public GitCheckProjectRequest() { + } + + public GitCheckProjectRequest(String username) { + this.username = username; + } + + public GitCheckProjectRequest(Long workspaceId, String projectName, String username) { + super(workspaceId, projectName); + this.username = username; + } + + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCommitRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCommitRequest.java new file mode 100644 index 000000000..4ed8cd315 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCommitRequest.java @@ -0,0 +1,63 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + +import com.webank.wedatasphere.dss.common.entity.BmlResource; + +import java.util.Map; + + +public class GitCommitRequest extends GitBaseRequest{ + /** + * 待修改的文件(key:文件相对路径,value:文件对应BML) + */ + private Map bmlResourceMap; + /** + * 提交更新时的comment + */ + private String comment; + /** + * 下载BMLReource使用的用户名 + */ + private String username; + + + public GitCommitRequest() { + } + + public GitCommitRequest(Map bmlResourceMap, String comment, String username) { + this.bmlResourceMap = bmlResourceMap; + this.comment = comment; + this.username = username; + } + + public GitCommitRequest(Long workspaceId, String projectName, Map bmlResourceMap, String comment, String username) { + super(workspaceId, projectName); + this.bmlResourceMap = bmlResourceMap; + this.comment = comment; + this.username = username; + } + + + public Map getBmlResourceMap() { + return bmlResourceMap; + } + + public void setBmlResourceMap(Map bmlResourceMap) { + this.bmlResourceMap = bmlResourceMap; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCreateProjectRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCreateProjectRequest.java new file mode 100644 index 000000000..7a76e7471 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitCreateProjectRequest.java @@ -0,0 +1,45 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + + +import com.webank.wedatasphere.dss.common.entity.BmlResource; + +public class GitCreateProjectRequest extends GitBaseRequest{ + /** + * DSS项目对应的BML + */ + private BmlResource bmlResource; + /** + * 下载BMLReource使用的用户名 + */ + private String username; + + public GitCreateProjectRequest() { + } + + public GitCreateProjectRequest(BmlResource bmlResource, String username) { + this.bmlResource = bmlResource; + this.username = username; + } + + public GitCreateProjectRequest(Long workspaceId, String projectName, BmlResource bmlResource, String username) { + super(workspaceId, projectName); + this.bmlResource = bmlResource; + this.username = username; + } + + public BmlResource getBmlResource() { + return bmlResource; + } + + public void setBmlResource(BmlResource bmlResource) { + this.bmlResource = bmlResource; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDeleteRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDeleteRequest.java new file mode 100644 index 000000000..1b42cb895 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDeleteRequest.java @@ -0,0 +1,42 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + + +import java.util.List; + +public class GitDeleteRequest extends GitBaseRequest{ + /** + * 提交更新时的comment + */ + private String comment; + /** + * 需删除的文件列表 + */ + private List deleteFileList; + + public GitDeleteRequest() { + } + + public GitDeleteRequest(Long workspaceId, String projectName) { + super(workspaceId, projectName); + } + + public GitDeleteRequest(String comment, List deleteFileList) { + this.comment = comment; + this.deleteFileList = deleteFileList; + } + + public GitDeleteRequest(Long workspaceId, String projectName, String comment, List deleteFileList) { + super(workspaceId, projectName); + this.comment = comment; + this.deleteFileList = deleteFileList; + } + + public List getDeleteFileList() { + return deleteFileList; + } + + public void setDeleteFileList(List deleteFileList) { + this.deleteFileList = deleteFileList; + } + +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDiffRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDiffRequest.java new file mode 100644 index 000000000..bb85039f1 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitDiffRequest.java @@ -0,0 +1,48 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + +import com.webank.wedatasphere.dss.common.entity.BmlResource; + +import java.util.Map; + + +public class GitDiffRequest extends GitBaseRequest{ + /** + * 待修改的文件(key:文件相对路径,value:文件对应BML) + */ + private Map bmlResourceMap; + /** + * 下载BMLReource使用的用户名 + */ + private String username; + + public GitDiffRequest() { + } + + public GitDiffRequest(Map bmlResourceMap, String username) { + this.bmlResourceMap = bmlResourceMap; + this.username = username; + } + + public GitDiffRequest(Long workspaceId, String projectName, Map bmlResourceMap, String username) { + super(workspaceId, projectName); + this.bmlResourceMap = bmlResourceMap; + this.username = username; + } + + + public Map getBmlResourceMap() { + return bmlResourceMap; + } + + public void setBmlResourceMap(Map bmlResourceMap) { + this.bmlResourceMap = bmlResourceMap; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitFileContentRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitFileContentRequest.java new file mode 100644 index 000000000..b5d6e6c8e --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitFileContentRequest.java @@ -0,0 +1,41 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + + +public class GitFileContentRequest extends GitBaseRequest{ + private String commitId; + /** + * 需获取内容的文件相对路径 + */ + private String filePath; + + public GitFileContentRequest() { + } + + public GitFileContentRequest(String commitId, String filePath) { + this.commitId = commitId; + this.filePath = filePath; + } + + public GitFileContentRequest(Long workspaceId, String projectName, String commitId, String filePath) { + super(workspaceId, projectName); + this.commitId = commitId; + this.filePath = filePath; + } + + public String getCommitId() { + return commitId; + } + + public void setCommitId(String commitId) { + this.commitId = commitId; + } + + public String getFilePath() { + return filePath; + } + + public void setFilePath(String filePath) { + this.filePath = filePath; + } + +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRemoveRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRemoveRequest.java new file mode 100644 index 000000000..c2aabb529 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRemoveRequest.java @@ -0,0 +1,20 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + +import java.util.List; + +public class GitRemoveRequest extends GitBaseRequest{ + private List path; + + public GitRemoveRequest(Long workspaceId, String projectName, List path) { + super(workspaceId, projectName); + this.path = path; + } + + public List getPath() { + return path; + } + + public void setPath(List path) { + this.path = path; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRevertRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRevertRequest.java new file mode 100644 index 000000000..8602978c2 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitRevertRequest.java @@ -0,0 +1,34 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + + +import java.util.List; + +public class GitRevertRequest extends GitBaseRequest{ + private String commitId; + private List path; + + public GitRevertRequest(Long workspaceId, String projectName, String commitId, List path) { + super(workspaceId, projectName); + this.commitId = commitId; + this.path = path; + } + + public GitRevertRequest() { + } + + public String getCommitId() { + return commitId; + } + + public void setCommitId(String commitId) { + this.commitId = commitId; + } + + public List getPath() { + return path; + } + + public void setPath(List path) { + this.path = path; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitSearchRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitSearchRequest.java new file mode 100644 index 000000000..8292b7bc5 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitSearchRequest.java @@ -0,0 +1,87 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + +import java.util.List; + +public class GitSearchRequest extends GitBaseRequest{ + /** + * 搜索条件:工作流(相对路径) + */ + private List path; + /** + * 搜索条件:关键字 + */ + private String searchContent; + /** + * 搜索条件:文件名 + */ + private String fileName; + /** + * 搜索条件:节点类型(后缀) + */ + private List type; + /** + * 分页条件:第一页无需关心,下一页需携带上一页最后一个文件名 + */ + private String currentPageLastFile; + + public GitSearchRequest() { + } + + public GitSearchRequest(List path, String searchContent, String fileName, List type, String currentPageLastFile) { + this.path = path; + this.searchContent = searchContent; + this.fileName = fileName; + this.type = type; + this.currentPageLastFile = currentPageLastFile; + } + + public GitSearchRequest(Long workspaceId, String projectName, List path, String searchContent, String fileName, List type, String currentPageLastFile) { + super(workspaceId, projectName); + this.path = path; + this.searchContent = searchContent; + this.fileName = fileName; + this.type = type; + this.currentPageLastFile = currentPageLastFile; + } + + + public List getPath() { + return path; + } + + public void setPath(List path) { + this.path = path; + } + + public String getSearchContent() { + return searchContent; + } + + public void setSearchContent(String searchContent) { + this.searchContent = searchContent; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public List getType() { + return type; + } + + public void setType(List type) { + this.type = type; + } + + public String getCurrentPageLastFile() { + return currentPageLastFile; + } + + public void setCurrentPageLastFile(String currentPageLastFile) { + this.currentPageLastFile = currentPageLastFile; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java new file mode 100644 index 000000000..7495b05cf --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java @@ -0,0 +1,23 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + + +import com.webank.wedatasphere.dss.git.common.protocol.GitTree; + +public class GItDiffResponse{ + private GitTree tree; + + public GItDiffResponse(GitTree tree) { + this.tree = tree; + } + + public GItDiffResponse() { + } + + public GitTree getTree() { + return tree; + } + + public void setTree(GitTree tree) { + this.tree = tree; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitArchivePorjectResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitArchivePorjectResponse.java new file mode 100644 index 000000000..88884222a --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitArchivePorjectResponse.java @@ -0,0 +1,21 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + + +public class GitArchivePorjectResponse{ + private String projectName; + + public GitArchivePorjectResponse(String projectName) { + this.projectName = projectName; + } + + public GitArchivePorjectResponse() { + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitBaseResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitBaseResponse.java new file mode 100644 index 000000000..9eeaa6169 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitBaseResponse.java @@ -0,0 +1,42 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + + +public class GitBaseResponse { + private String status; + private int index; + private String message; + + public GitBaseResponse(String status, int index, String message) { + this.status = status; + this.index = index; + this.message = message; + } + + public GitBaseResponse() { + } + + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public int getIndex() { + return index; + } + + public void setIndex(int index) { + this.index = index; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java new file mode 100644 index 000000000..08bc1d792 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java @@ -0,0 +1,37 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + +/** + * @author zhaobincai + * @date 2024/3/28 15:06 + */ +public class GitCheckProjectResponse{ + private String projectName; + /** + * true为重复 + */ + private Boolean repeat; + + public GitCheckProjectResponse(String projectName, Boolean repeat) { + this.projectName = projectName; + this.repeat = repeat; + } + + public GitCheckProjectResponse() { + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public Boolean getRepeat() { + return repeat; + } + + public void setRepeat(Boolean repeat) { + this.repeat = repeat; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java new file mode 100644 index 000000000..e366dd3a3 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java @@ -0,0 +1,54 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + +/** + * @author zhaobincai + * @date 2024/3/25 10:15 + */ +public class GitCommitResponse{ + private String commitId; + private String commitTime; + private String commitUser; + private String comment; + + public GitCommitResponse(String commitId, String commitTime, String commitUser, String comment) { + this.commitId = commitId; + this.commitTime = commitTime; + this.commitUser = commitUser; + this.comment = comment; + } + + public GitCommitResponse() { + } + + public String getCommitId() { + return commitId; + } + + public void setCommitId(String commitId) { + this.commitId = commitId; + } + + public String getCommitTime() { + return commitTime; + } + + public void setCommitTime(String commitTime) { + this.commitTime = commitTime; + } + + public String getCommitUser() { + return commitUser; + } + + public void setCommitUser(String commitUser) { + this.commitUser = commitUser; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCreateProjectResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCreateProjectResponse.java new file mode 100644 index 000000000..e51403b0e --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCreateProjectResponse.java @@ -0,0 +1,32 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + + +public class GitCreateProjectResponse{ + private String commitId; + private String projectName; + + public GitCreateProjectResponse(String commitId, String projectName) { + this.commitId = commitId; + this.projectName = projectName; + } + + public GitCreateProjectResponse() { + } + + + public String getCommitId() { + return commitId; + } + + public void setCommitId(String commitId) { + this.commitId = commitId; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java new file mode 100644 index 000000000..3bbeb0a04 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java @@ -0,0 +1,37 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + +import java.util.List; + +/** + * @author zhaobincai + * @date 2024/3/28 15:06 + */ +public class GitDeleteResponse { + private String projectName; + + private List path; + + public GitDeleteResponse(String projectName, List path) { + this.projectName = projectName; + this.path = path; + } + + public GitDeleteResponse() { + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public List getPath() { + return path; + } + + public void setPath(List path) { + this.path = path; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitFileContentResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitFileContentResponse.java new file mode 100644 index 000000000..8afd7fa7f --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitFileContentResponse.java @@ -0,0 +1,23 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + + +import com.webank.wedatasphere.dss.common.entity.BmlResource; + +public class GitFileContentResponse{ + private BmlResource bmlResource; + + public GitFileContentResponse(BmlResource bmlResource) { + this.bmlResource = bmlResource; + } + + public GitFileContentResponse() { + } + + public BmlResource getBmlResource() { + return bmlResource; + } + + public void setBmlResource(BmlResource bmlResource) { + this.bmlResource = bmlResource; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitSearchResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitSearchResponse.java new file mode 100644 index 000000000..27165fb69 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitSearchResponse.java @@ -0,0 +1,34 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + + +import java.util.List; +import java.util.Map; + +public class GitSearchResponse{ + private Map> result; + private Integer total; + + public GitSearchResponse(Map> result, Integer total) { + this.result = result; + this.total = total; + } + + public GitSearchResponse() { + } + + public Map> getResult() { + return result; + } + + public void setResult(Map> result) { + this.result = result; + } + + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } +} diff --git a/dss-git/dss-git-server/pom.xml b/dss-git/dss-git-server/pom.xml new file mode 100644 index 000000000..2e64ff180 --- /dev/null +++ b/dss-git/dss-git-server/pom.xml @@ -0,0 +1,125 @@ + + + + dss-git + com.webank.wedatasphere.dss + 1.1.0.20-SNAPSHOT + + 4.0.0 + + dss-git-server + + + + com.webank.wedatasphere.dss + dss-common + 1.1.0.20-SNAPSHOT + + + com.webank.wedatasphere.dss + dss-framework-workspace-server + ${dss.version} + + + com.webank.wedatasphere.dss + dss-git-common + 1.1.0.20-SNAPSHOT + + + org.eclipse.jgit + org.eclipse.jgit + 5.13.0.202109080827-r + + + org.apache.linkis + linkis-rpc + ${linkis.version} + provided + + + spring-cloud-starter-netflix-eureka-client + org.springframework.cloud + + + org.springframework.boot + spring-boot-starter-log4j2 + + + + + com.vaadin.external.google + android-json + 0.0.20131108.vaadin1 + compile + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + + + net.alchim31.maven + scala-maven-plugin + + + org.apache.maven.plugins + maven-jar-plugin + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.3 + false + + + make-assembly + package + + single + + + + src/main/assembly/distribution.xml + + + + + + false + out + false + false + + src/main/assembly/distribution.xml + + + + + + + src/main/java + + **/*.xml + **/*.properties + **/*.yml + + + + + + \ No newline at end of file diff --git a/dss-git/dss-git-server/src/main/assembly/distribution.xml b/dss-git/dss-git-server/src/main/assembly/distribution.xml new file mode 100644 index 000000000..9bcd9d08e --- /dev/null +++ b/dss-git/dss-git-server/src/main/assembly/distribution.xml @@ -0,0 +1,46 @@ + + + + dss-framework-git-server + + dir + + true + dss-framework-git-server + + + + + + lib + true + true + false + true + true + + + + + + + diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/config/GitServerConfig.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/config/GitServerConfig.java new file mode 100644 index 000000000..4edfc36d0 --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/config/GitServerConfig.java @@ -0,0 +1,15 @@ +package com.webank.wedatasphere.dss.git.config; + +import org.apache.linkis.common.conf.CommonVars; + +public class GitServerConfig { + public static final CommonVars GIT_SERVER_PATH = CommonVars.apply("wds.dss.git.server.path", "/data/GitInstall"); + + public static final CommonVars GIT_RESTFUL_API_CREATE_PROJECTS = CommonVars.apply("wds.dss.git.server.rest.create.project", "api/v4/projects/"); + + public static final CommonVars GIT_URL_PRE = CommonVars.apply("wds.dss.git.url", ***REMOVED*** + + public static final CommonVars GIT_THREAD_NUM = CommonVars.apply("wds.dss.git.thread.num", 23); + + public static final CommonVars GIT_THREAD_NAME = CommonVars.apply("wds.dss.git.thread.name", "gitServer-Thread-"); +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitProjectManagerService.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitProjectManagerService.java new file mode 100644 index 000000000..e46133fff --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitProjectManagerService.java @@ -0,0 +1,16 @@ +package com.webank.wedatasphere.dss.git.service; + +import com.webank.wedatasphere.dss.common.exception.DSSErrorException; +import com.webank.wedatasphere.dss.git.common.protocol.request.*; +import com.webank.wedatasphere.dss.git.common.protocol.response.*; + +import java.util.concurrent.ExecutionException; + +public interface DSSGitProjectManagerService { + GitCreateProjectResponse create(GitCreateProjectRequest request) throws ExecutionException, InterruptedException; + + GitArchivePorjectResponse archive(GitArchiveProjectRequest request) throws ExecutionException, InterruptedException; + + GitCheckProjectResponse checkProject(GitCheckProjectRequest request) throws DSSErrorException; + +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java new file mode 100644 index 000000000..55c5c7b69 --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java @@ -0,0 +1,19 @@ +package com.webank.wedatasphere.dss.git.service; + + +import com.webank.wedatasphere.dss.git.common.protocol.request.*; +import com.webank.wedatasphere.dss.git.common.protocol.response.*; + +import java.util.concurrent.ExecutionException; + +public interface DSSGitWorkflowManagerService { + GItDiffResponse diff(GitDiffRequest request) throws ExecutionException, InterruptedException; + + GitCommitResponse commit(GitCommitRequest request) throws ExecutionException, InterruptedException; + + GitSearchResponse search(GitSearchRequest request); + + GitDeleteResponse delete(GitDeleteRequest request) throws ExecutionException, InterruptedException; + + GitFileContentResponse getFileContent(GitFileContentRequest request); +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java new file mode 100644 index 000000000..86c854115 --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java @@ -0,0 +1,91 @@ +package com.webank.wedatasphere.dss.git.service.impl; + +import com.webank.wedatasphere.dss.common.exception.DSSErrorException; +import com.webank.wedatasphere.dss.common.service.BMLService; +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; +import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceGitService; +import com.webank.wedatasphere.dss.git.common.protocol.request.*; +import com.webank.wedatasphere.dss.git.common.protocol.response.*; +import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import com.webank.wedatasphere.dss.git.service.DSSGitProjectManagerService; +import com.webank.wedatasphere.dss.git.utils.DSSGitUtils; +import com.webank.wedatasphere.dss.git.utils.FileUtils; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.storage.file.FileRepositoryBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.io.File; + +@Service +public class DSSGitProjectManagerServiceImpl implements DSSGitProjectManagerService { + private Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private DSSWorkspaceGitService dssWorkspaceGitService; + + @Autowired + @Qualifier("projectBmlService") + private BMLService bmlService; + + @Override + public GitCreateProjectResponse create(GitCreateProjectRequest request) { + logger.info("-------=======================beginning to create testGit1=======================-------"); + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + try { + // Http请求Git,创建project + DSSGitUtils.init(request.getProjectName(), gitUser); + // 解压BML文件到本地 todo 对接Server时放开调试 + FileUtils.removeAndUpdate(bmlService, request.getProjectName(), request.getBmlResource(), request.getUsername()); + // 本地创建Git项目 + DSSGitUtils.create(request.getProjectName(), gitUser); + // 获取git项目 + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + // 关联远端Git + DSSGitUtils.remote(repository, request.getProjectName(), gitUser); + // 提交 + DSSGitUtils.push(repository, request.getProjectName(), gitUser, "init project: " + request.getProjectName()); + return new GitCreateProjectResponse(); + } catch (Exception e) { + logger.error("create project failed, the reason is: ", e); +// throw new DSSErrorException(010001, "create project failed"); + } + return null; + } + + @Override + public GitArchivePorjectResponse archive(GitArchiveProjectRequest request) { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + // 远程归档 + DSSGitUtils.archive(request.getProjectName(), gitUser); + // 删除本地项目(todo 多节点) + DSSGitUtils.archiveLocal(request.getProjectName()); + return null; + } + + @Override + public GitCheckProjectResponse checkProject(GitCheckProjectRequest request) throws DSSErrorException { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + boolean b = DSSGitUtils.checkProjectName(request.getProjectName(), gitUser); + logger.info("checkProjectName result is : {}", b); + return new GitCheckProjectResponse(request.getProjectName(), b); + } + + +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java new file mode 100644 index 000000000..063849a9f --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java @@ -0,0 +1,303 @@ +package com.webank.wedatasphere.dss.git.service.impl; + +import com.webank.wedatasphere.dss.common.entity.BmlResource; +import com.webank.wedatasphere.dss.common.service.BMLService; +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; +import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceGitService; +import com.webank.wedatasphere.dss.git.common.protocol.request.*; +import com.webank.wedatasphere.dss.git.common.protocol.response.*; +import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import com.webank.wedatasphere.dss.git.service.DSSGitWorkflowManagerService; +import com.webank.wedatasphere.dss.git.utils.DSSGitUtils; +import com.webank.wedatasphere.dss.git.utils.FileUtils; +import org.apache.commons.lang.StringUtils; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.storage.file.FileRepositoryBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; +import java.util.concurrent.TimeUnit; + +@Service +public class DSSGitWorkflowManagerServiceImpl implements DSSGitWorkflowManagerService { + private Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private DSSWorkspaceGitService dssWorkspaceGitService; + + @Autowired + @Qualifier("workflowBmlService") + private BMLService bmlService; + @Override + public GItDiffResponse diff(GitDiffRequest request) { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + GItDiffResponse diff = null; + Repository repository = null; + try { + // Path to the Git repository (.git directory or its parent) + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + // 当前机器不存在就新建 + if (repoDir.exists()) { + repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + } else { + repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); + DSSGitUtils.remote(repository, request.getProjectName(), gitUser); + } + // 本地保持最新状态 + DSSGitUtils.pull(repository, request.getProjectName(), gitUser); + // 解压BML文件到本地 todo 对接Server时放开调试 + Map bmlResourceMap = request.getBmlResourceMap(); + for (Map.Entry entry : bmlResourceMap.entrySet()) { + FileUtils.removeAndUpdate(bmlService, entry.getKey(), entry.getValue(), request.getUsername()); + } + diff = DSSGitUtils.diff(request.getProjectName()); + // 重置本地 + DSSGitUtils.reset(request.getProjectName()); + } catch (Exception e) { + logger.error("pull failed, the reason is ",e); + }finally { + repository.close(); + } + return diff; + + } + + @Override + public GitCommitResponse commit(GitCommitRequest request) { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + Repository repository = null; + GitCommitResponse commitResponse = null; + try { + // Path to the Git repository (.git directory or its parent) + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + // 当前机器不存在就新建 + if (repoDir.exists()) { + repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + } else { + repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); + DSSGitUtils.remote(repository, request.getProjectName(), gitUser); + } + // 本地保持最新状态 + DSSGitUtils.pull(repository, request.getProjectName(), gitUser); + // 解压BML文件到本地 todo 对接Server时放开调试 + Map bmlResourceMap = request.getBmlResourceMap(); + for (Map.Entry entry : bmlResourceMap.entrySet()) { + FileUtils.removeAndUpdate(bmlService, entry.getKey(), entry.getValue(), request.getUsername()); + } + // 提交 + DSSGitUtils.push(repository, request.getProjectName(), gitUser, request.getComment()); + + commitResponse = DSSGitUtils.getCurrentCommit(repository); + + } catch (Exception e) { + logger.error("pull failed, the reason is ",e); + } finally { + repository.close(); + } + return commitResponse; + } + + @Override + public GitSearchResponse search(GitSearchRequest request) { + String gitDir = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"; + String workTree = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() ; + List gitCommands = new ArrayList<>(Arrays.asList( + "git", "--git-dir=" + gitDir, "--work-tree=" + workTree, "grep", "-l", request.getSearchContent() + )); + logger.info(gitCommands.toString()); + List fileList = process(gitCommands); + List filePathList = new ArrayList<>(); + for (String file : fileList) { + filePathList.add(GitServerConfig.GIT_SERVER_PATH.getValue()+ "/" + request.getProjectName() + "/" + file); + } + + List fileCommands = new ArrayList<>(Arrays.asList( + "wc", "-l" + )); + + fileCommands.addAll(filePathList); + + List process = process(fileCommands); + Map map =new LinkedHashMap<>(); + for (String content: process) { + String[] split = content.trim().split("\\s+"); + logger.info("content : {}", content); + logger.info("split 0 : {}", split[0]); + logger.info("split 1 : {}", split[1]); + if (split.length == 2) { + int line = Integer.parseInt(split[0]); + if (line == 0) { + line ++; + } + String fileName = split[1]; + if(fileName.equals("total")) { + continue; + } + map.put(fileName, line); + } + } + List currentFiles = new ArrayList<>(); + { + int total = 0; + boolean flag = StringUtils.isEmpty(request.getCurrentPageLastFile()); + logger.info("flag before: {}", flag); + for(Map.Entry entry: map.entrySet()) { + logger.info("entry key : {}", entry.getKey()); + logger.info("entry value : {}", entry.getValue()); + logger.info("flag 1111111: {}", flag); + if (total + entry.getValue() >= 1000) { + break; + } + if (!StringUtils.isEmpty(request.getCurrentPageLastFile()) && request.getCurrentPageLastFile().equals(entry.getKey())) { + flag = true; + continue; + } + if (flag) { + total += entry.getValue(); + currentFiles.add(entry.getKey()); + } + } + } + + + List gitCurrentCommands = new ArrayList<>(Arrays.asList( + "git", "--git-dir=" + gitDir, "--work-tree=" + workTree, "grep", "-n", request.getSearchContent() + )); + gitCurrentCommands.addAll(currentFiles); + logger.info(gitCurrentCommands.toString()); + List fileCurrentList = process(gitCurrentCommands); + Map> result = new LinkedHashMap<>(); + for (String fileContent : fileCurrentList) { + String[] split = fileContent.split(":", 2); + + String fileName = split[0]; + String fileSearchContent = split[1]; + if (result.containsKey(fileName)) { + result.get(fileName).add(fileSearchContent); + }else { + List content = new ArrayList<>(); + content.add(fileSearchContent); + result.put(fileName, content); + } + } + return new GitSearchResponse(result, fileList.size()); + } + + private List process(List commands) { + List result = new ArrayList<>(); + ProcessBuilder processBuilder = new ProcessBuilder(commands); + processBuilder.redirectErrorStream(true); // Merge error stream with the standard output stream + Process process = null; + try { + process = processBuilder.start(); + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + String line; + while ((line = reader.readLine()) != null) { + logger.info(line); + result.add(line); + } + boolean b = process.waitFor(5, TimeUnit.SECONDS); + if (b) { + int exitCode = process.waitFor(); + logger.info("Exit code: " + exitCode); + + }else { + logger.info("search timeout"); + process.destroy(); + } + } catch (IOException | InterruptedException e) { + logger.error("grep failed ,the reason is :", e); + } finally { + process.destroy(); + } + return result; + } + + @Override + public GitDeleteResponse delete(GitDeleteRequest request) { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + Repository repository = null; + GitDeleteResponse deleteResponse = null; + try { + // Path to the Git repository (.git directory or its parent) + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + // 当前机器不存在就新建 + if (repoDir.exists()) { + repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + } else { + repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); + DSSGitUtils.remote(repository, request.getProjectName(), gitUser); + } + // 本地保持最新状态 + DSSGitUtils.pull(repository, request.getProjectName(), gitUser); + List deleteFileList = request.getDeleteFileList(); + for (String path : deleteFileList) { + File file = new File(path); + if (file.exists()) { + if (file.isDirectory()) { + FileUtils.removeDirectory(path); + } else { + FileUtils.removeFiles(path); + } + } + } + // 提交 + DSSGitUtils.push(repository, request.getProjectName(), gitUser,"delete " + request.getDeleteFileList()); + } catch (Exception e) { + logger.error("pull failed, the reason is ",e); + } finally { + repository.close(); + } + return null; + } + + @Override + public GitFileContentResponse getFileContent(GitFileContentRequest request) { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + Repository repository = null; + GitCommitResponse commitResponse = null; + try { + // Path to the Git repository (.git directory or its parent) + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + // 当前机器不存在就新建 + if (repoDir.exists()) { + repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + } else { + repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); + DSSGitUtils.remote(repository, request.getProjectName(), gitUser); + } + DSSGitUtils.pull(repository, request.getProjectName(), gitUser); + + DSSGitUtils.getTargetCommitFileContent(request.getProjectName(), request.getCommitId(), request.getFilePath()); + } catch (Exception e) { + logger.error("pull failed, the reason is ",e); + } finally { + repository.close(); + } + return null; + } +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadFactory.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadFactory.java new file mode 100644 index 000000000..f70702bf3 --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadFactory.java @@ -0,0 +1,12 @@ +package com.webank.wedatasphere.dss.git.thread; + +import com.webank.wedatasphere.dss.git.config.GitServerConfig; + + +public class GitServerThreadFactory { + private static GitServerThreadPool gitServerThreadPool = new GitServerThreadPool(GitServerConfig.GIT_THREAD_NUM.getValue()); + + public static GitServerThreadPool getGitServerThreadPool() { + return gitServerThreadPool; + } +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadPool.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadPool.java new file mode 100644 index 000000000..8f5d0d67e --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/thread/GitServerThreadPool.java @@ -0,0 +1,38 @@ +package com.webank.wedatasphere.dss.git.thread; + +import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import org.apache.linkis.common.utils.Utils; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.LinkedList; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.*; + +public class GitServerThreadPool { + private final Map taskExecutors = new HashMap<>(); + private final int POOL_SIZE; + + public GitServerThreadPool(int num) { + this.POOL_SIZE = num; + // 初始化每个任务的ExecutorService + for (int i = 0; i < POOL_SIZE; i++) { + taskExecutors.put("TaskExecutor_" + i, Executors.newSingleThreadExecutor()); + } + } + + public Future submitTask(String taskName, Callable task) { + // 根据任务名称选择对应的ExecutorService,这里简化为根据hashCode选取 + int index = Math.abs(taskName.hashCode()) % POOL_SIZE; + ExecutorService executorService = taskExecutors.get("TaskExecutor_" + index); + return executorService.submit(task); + } + + public void shutdown() { + // 关闭所有ExecutorService + taskExecutors.values().forEach(ExecutorService::shutdown); + } + +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java new file mode 100644 index 000000000..91c061de0 --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java @@ -0,0 +1,496 @@ +package com.webank.wedatasphere.dss.git.utils; + +import com.webank.wedatasphere.dss.common.exception.DSSErrorException; +import com.webank.wedatasphere.dss.framework.workspace.bean.GitUserEntity; +import com.webank.wedatasphere.dss.git.common.protocol.GitTree; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitBaseRequest; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitRevertRequest; +import com.webank.wedatasphere.dss.git.common.protocol.response.GItDiffResponse; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitCommitResponse; +import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import org.apache.http.HttpEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.eclipse.jgit.api.*; +import org.eclipse.jgit.api.errors.GitAPIException; +import org.eclipse.jgit.lib.*; +import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.revwalk.RevTree; +import org.eclipse.jgit.revwalk.RevWalk; +import org.eclipse.jgit.storage.file.FileRepositoryBuilder; +import org.eclipse.jgit.transport.URIish; +import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; +import org.eclipse.jgit.treewalk.TreeWalk; +import org.eclipse.jgit.treewalk.filter.PathFilter; +import org.json.JSONArray; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URISyntaxException; +import java.net.URL; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + + +public class DSSGitUtils { + private static final Logger logger = LoggerFactory.getLogger(DSSGitUtils.class); + + public static void init(String projectName, GitUserEntity gitUserDO) throws DSSErrorException { + if (checkProjectName(projectName, gitUserDO)) { + try { + URL url = new URL(GitServerConfig.GIT_URL_PRE.getValue() + GitServerConfig.GIT_RESTFUL_API_CREATE_PROJECTS.getValue()); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("POST"); + connection.setRequestProperty("PRIVATE-TOKEN", gitUserDO.getGitToken()); + connection.setRequestProperty("Content-Type", "application/json"); + connection.setDoOutput(true); + + String jsonInputString = String.format("{\"name\": \"%s\", \"description\": \"%s\"}", projectName, projectName); + + try (OutputStream os = connection.getOutputStream()) { + byte[] input = jsonInputString.getBytes("utf-8"); + os.write(input, 0, input.length); + } + + int responseCode = connection.getResponseCode(); + logger.info("Response Code : " + responseCode); + + connection.disconnect(); + logger.info("init success"); + } catch (Exception e) { + logger.error("init failed by ", e); + } + } else { + logger.info("projectName {} already exists", projectName); + } + } + + public static void remote(Repository repository, String projectName, GitUserEntity gitUser) { + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"); + + try { + Git git = new Git(repository); + + // 添加远程仓库引用 + git.remoteAdd() + .setName("origin") + .setUri(new URIish(GitServerConfig.GIT_URL_PRE.getValue() + gitUser.getGitUser() + "/" + projectName +".git")) + .call(); + + logger.info("remote success"); + } catch (GitAPIException | URISyntaxException e) { + logger.error("remote failed by : ", e); + } + + } + + + public static void create(String projectName, GitUserEntity gitUserDO) { + logger.info("start success"); + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName); // 指定仓库的目录 + File respo = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"); + if (!respo.exists()) { + try { + // 初始化仓库 + Git git = Git.init() + .setDirectory(repoDir) + .call(); + + logger.info("Initialized empty Git repository in " + git.getRepository().getDirectory()); + + git.close(); // 不再需要时关闭Git对象 + } catch (GitAPIException e) { + logger.error("gitCreate failed by : ", e); + } + } + } + + public static void pull(Repository repository, String projectName, GitUserEntity gitUser) { + try { + // Opening the repository + Git git = new Git(repository); + + // Pulling changes from the remote repository + PullCommand pullCmd = git.pull().setCredentialsProvider(new UsernamePasswordCredentialsProvider(gitUser.getGitUser(), gitUser.getGitToken())); + PullResult result = pullCmd.call(); + + // Checking the pull result + if(result.isSuccessful()) { + logger.info("Pull successful!"); + } else { + logger.info("Pull failed: " + result.toString()); + } + + } catch (Exception e) { + logger.error("pull failed, the reason is ",e); + } + } + + public static GItDiffResponse diff(String projectName) { + + Set status = status(projectName); + GitTree root = new GitTree(""); + for (String statu : status) { + root.addChild(statu); + } + // 打印树形结构 + printTree("", root); + return new GItDiffResponse(root); + } + + // 打印树结构 + static void printTree(String prefix, GitTree tree) { + logger.info(prefix + tree.getName()); + for (GitTree child : tree.getChildren().values()) { + printTree(prefix + " ", child); + } + } + + + + public static void push(Repository repository, String projectName, GitUserEntity gitUser, String comment) { + + try { + Git git = new Git(repository); + // 添加新增、更改到暂存区 + git.add().addFilepattern(".").call(); // 添加所有更改 + // 添加删除到暂存区 + git.add().setUpdate(true).addFilepattern(".").call(); + + // 创建新的提交 + git.commit() + .setMessage(comment) + .call(); + + logger.info("Changes committed to local repository."); + + // 推送到远程仓库 + git.push() + .setCredentialsProvider(new UsernamePasswordCredentialsProvider(gitUser.getGitUser(), gitUser.getGitToken())) + .call(); + + logger.info("Changes pushed to remote repository."); + } catch (GitAPIException e) { + logger.error("push failed, the reeason is ", e); + } + } + + + public static void reset(String projectName) { + String repoPath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"; // 仓库路径 + try (Repository repository = new FileRepositoryBuilder() + .setGitDir(new File(repoPath)) + .build(); + Git git = new Git(repository)) { + + git.reset().setMode(ResetCommand.ResetType.HARD).call(); + + git.clean().setForce(true).setCleanDirectories(true).call(); + + logger.info("File has been unstaged: " + projectName); + } catch (GitAPIException | IOException e) { + logger.error("reset failed, the reason is ", e); + } + } + + public static void checkoutTargetCommit(GitRevertRequest request) { + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName()+ "/.git"); + String commitId = request.getCommitId(); // 替换为目标commit的完整哈希值 + + try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + Git git = new Git(repository)) { + + // 检出(回滚)指定commit的文件版本 + git.checkout() + .setStartPoint(commitId) + .addPaths(request.getPath()) + .call(); + + logger.info("File " + repoDir.getAbsolutePath() + " has been rolled back to the version at commit: " + commitId); + + } catch (GitAPIException | IOException e) { + e.printStackTrace(); + } + } + + public static boolean checkProjectName(String name, GitUserEntity gitUser) throws DSSErrorException { + int retry = 0; + List allProjectName = new ArrayList<>(); + while (retry < 3) { + retry += 1; + try { + allProjectName = getAllProjectName(gitUser); + return !allProjectName.contains(name); + } catch (DSSErrorException e) { + logger.info("getAllProjectName failed, try again"); + if (retry >= 3) { + logger.error("getAllProjectName failed, the reason is: ", e); + throw new DSSErrorException(01001, "getAllProjectName failed"); + } + } + } + return !allProjectName.contains(name); + + } + + public static List getAllProjectName(GitUserEntity gitUserDO) throws DSSErrorException { + int page = 1; + List allProjectNames = new ArrayList<>(); + + List projectNames = new ArrayList<>(); + do { + String gitLabUrl = "***REMOVED***/api/v4/projects?per_page=100&page=" + page; // 修改为你的GitLab实例的URL + // 创建HttpClient实例 + try (CloseableHttpClient httpClient = HttpClients.createDefault()) { + // 创建HttpGet请求 + HttpGet request = new HttpGet(gitLabUrl); + // 添加认证头部 + request.addHeader("PRIVATE-TOKEN", gitUserDO.getGitToken()); + + // 执行请求 + try (CloseableHttpResponse response = httpClient.execute(request)) { + // 获取响应实体 + HttpEntity entity = response.getEntity(); + // 将响应实体转换为字符串 + String result = EntityUtils.toString(entity); + // 解析项目名称 + projectNames = parseProjectNames(result); + // 打印项目名称 + logger.info("projectNames is: {}", projectNames.toString()); + // 添加到总项目列表中 + allProjectNames.addAll(projectNames); + } catch (Exception e) { + logger.error("getProjectsName failed, the reason is JSON: ", e); + throw new DSSErrorException(010001, "json 解析失败"); + } + } catch (IOException e) { + logger.info("getProjectsName failed, the reason is: ", e); + throw new DSSErrorException(010001, "Internal error,网络请求失败"); + } + page++; + } while (projectNames.size() > 0); + + return allProjectNames; + } + + public static List parseProjectNames(String json) throws org.json.JSONException { + JSONArray projects = new JSONArray(json); + List projectNames = new ArrayList<>(); + + for (int i = 0; i < projects.length(); i++) { + JSONObject project = projects.getJSONObject(i); + projectNames.add(project.getString("name")); + } + + return projectNames; + } + + public static Set status(String projectName) { + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"); // 修改为你的仓库路径 + + try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build()) { + Git git = new Git(repository); + Status status = git.status().call(); + + logger.info("Modified files:"); + logger.info("Modified files: {} , \nUntracked files: {}, \nAdded to index: {}, \nChanged files: {}, \nRemoved files: {}, \nMissing files: {}, \nConflicting files: {} ", + status.getModified().toString(), + status.getUntracked().toString(), + status.getAdded().toString(), + status.getChanged().toString(), + status.getRemoved().toString(), + status.getMissing().toString(), + status.getConflicting().toString() + ); + + Set tree = new HashSet<>(); + tree.addAll(status.getModified()); + tree.addAll(status.getUntracked()); + tree.addAll(status.getAdded()); + tree.addAll(status.getChanged()); + tree.addAll(status.getRemoved()); + tree.addAll(status.getMissing()); + tree.addAll(status.getConflicting()); + + return tree; + } catch (IOException | org.eclipse.jgit.api.errors.GitAPIException e) { + logger.error("get git status Failed, the reason is : ", e); + return new HashSet<>(); + } + } + + public static void archive(String projectName, GitUserEntity gitUserDO) { + try { + String projectUrlEncoded = java.net.URLEncoder.encode(gitUserDO.getGitUser() + "/" + projectName, "UTF-8"); + URL url = new URL("***REMOVED***/api/v4/projects/" + projectUrlEncoded + "/archive"); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setRequestProperty("PRIVATE-TOKEN", gitUserDO.getGitToken()); + + int responseCode = conn.getResponseCode(); + logger.info("Response Code: " + responseCode); + + BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); + String inputLine; + StringBuilder response = new StringBuilder(); + + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + in.close(); + + // 打印结果 + logger.info(response.toString()); + + } catch (Exception e) { + logger.error("archive failed by : ", e); + } + } + + public static void archiveLocal(String projectName) { + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName + "/.git"); + if (!repoDir.exists()) { + logger.info("file {} not exists", repoDir.getAbsolutePath()); + return ; + } + try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build()) { + Git git = new Git(repository); + // 删除名为"origin"的远程仓库配置 + git.remoteRemove().setRemoteName("origin").call(); + // 删除本地文件 + FileUtils.removeDirectory(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName); + logger.info("Remote 'origin' removed successfully."); + } catch (GitAPIException | IOException e) { + logger.error("revert remote failed, the reason is: ",e); + } + } + + public static void updateLocal(GitBaseRequest request, String filePath) { + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + Repository repository = null; + try { + repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + } catch (IOException e) { + logger.error("get remote repos Failed, the reason is : ", e); + } + try (Git git = new Git(repository)) { +// git.reset().addPath(filePath).call(); + git.reset().addPath(filePath).setMode(ResetCommand.ResetType.HARD).setRef("origin/master").call(); + logger.info("File has been unstaged: " + filePath); + } catch (GitAPIException e) { + logger.error("updateLocal repos Failed, the reason is : ", e); + } + } + + public static InputStream getTargetCommitFileContent(String projectName, String commitId, String filePath) { + String repoPath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName + "/.git"; + + try { + FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder(); + try (Repository repository = repositoryBuilder.setGitDir(new File(repoPath)) + .readEnvironment() + .findGitDir() + .build()) { + + ObjectId lastCommitId = repository.resolve(commitId); + + // Instantiate a RevWalk to walk over commits based on some criteria + try (RevWalk revWalk = new RevWalk(repository)) { + RevCommit commit = revWalk.parseCommit(lastCommitId); + RevTree tree = commit.getTree(); + logger.info("Having tree: " + tree); + + // Now use a TreeWalk to iterate over all files in the Tree recursively + // You can set filters to narrow down the results if needed + try (TreeWalk treeWalk = new TreeWalk(repository)) { + treeWalk.addTree(tree); + treeWalk.setRecursive(true); + treeWalk.setFilter(PathFilter.create(filePath)); + if (!treeWalk.next()) { + throw new IllegalStateException("Did not find expected file '" + filePath + "'"); + } + + ObjectId objectId = treeWalk.getObjectId(0); + try { + ObjectLoader loader = repository.open(objectId); + byte[] bytes = loader.getBytes(); + logger.info("File content: " + new String(bytes)); + } catch (Exception e) { + logger.error("getFileContent Failed, the reason is: ", e); + } + } + + revWalk.dispose(); + } + } + } catch (IOException e) { + logger.error("getFileContent Failed, the reason is: ", e); + } + return null; + } + + public static void getCommitId(String projectName, int num) { + // 获取当前CommitId, + File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName + "/.git"); + + try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + Git git = new Git(repository)) { + + Iterable commits = git.log().setMaxCount(num).call(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + for (RevCommit commit : commits) { + PersonIdent authorIdent = commit.getAuthorIdent(); + String commitHash = commit.getName(); // Commit hash + String commitTime = sdf.format(authorIdent.getWhen()); // Commit time + String commitMessage = commit.getShortMessage(); // Commit message + String commitAuthor = authorIdent.getName(); // Commit author + + logger.info("Commit Hash: " + commitHash); + logger.info("Commit Time: " + commitTime); + logger.info("Commit Message: " + commitMessage); + logger.info("Commit Author: " + commitAuthor); + logger.info("-----------------------------------"); + } + } catch (IOException | GitAPIException e) { + logger.error("get git log failed, the reason is: ", e); + } + } + + public static GitCommitResponse getCurrentCommit(Repository repository) { + GitCommitResponse commitResponse = new GitCommitResponse(); + try { + // 获取HEAD引用 + Ref head = repository.exactRef("HEAD"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 使用RevWalk解析当前的提交 + try (RevWalk walk = new RevWalk(repository)) { + RevCommit commit = walk.parseCommit(head.getObjectId()); + walk.dispose(); + commitResponse.setCommitId(commit.getId().getName()); + commitResponse.setCommitTime(sdf.format(commit.getAuthorIdent().getWhen())); + commitResponse.setComment(commit.getShortMessage()); + commitResponse.setCommitUser(commit.getAuthorIdent().getName()); + return commitResponse; // 返回commitId字符串 + } + } catch (IOException e) { + logger.error("get current commit failed, the reason is : ", e); + return null; + } + } + + + + + + +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java new file mode 100644 index 000000000..c4fd8b20a --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java @@ -0,0 +1,162 @@ +package com.webank.wedatasphere.dss.git.utils; + + +import com.webank.wedatasphere.dss.common.entity.BmlResource; +import com.webank.wedatasphere.dss.common.exception.DSSErrorException; +import com.webank.wedatasphere.dss.common.exception.DSSRuntimeException; +import com.webank.wedatasphere.dss.common.service.BMLService; +import com.webank.wedatasphere.dss.common.utils.ZipHelper; +import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; +import java.util.*; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +public class FileUtils { + private static final Logger logger = LoggerFactory.getLogger(DSSGitUtils.class); + + public static void addFiles(String projectName) { + + String filePath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/file1.txt"; + List lines = Arrays.asList("The first line", "The second line"); + + try { + removeFiles(filePath); + + // 确保父目录存在 + Files.createDirectories(Paths.get(filePath).getParent()); + + // 向文件写入内容 + Files.write(Paths.get(filePath), lines, StandardOpenOption.CREATE); + } catch (Exception e) { + logger.error("add Files Failed, the reason is: ", e); + } + } + + public static void removeFiles (String filePath) { + try { + File file = new File(filePath); + if (file.exists()) { + file.delete(); + } + } catch (Exception e) { + logger.error("remove Files Failed, the reason is: ", e); + } + } + + public static void addDirectory (String directory) { + String filePath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/testGit1/file1.txt"; + List lines = Arrays.asList("The first line", "The second line"); + + try { + removeFiles(filePath); + + // 确保父目录存在 + Files.createDirectories(Paths.get(filePath).getParent()); + + // 向文件写入内容 + Files.write(Paths.get(filePath), lines, StandardOpenOption.CREATE); + } catch (Exception e) { + logger.error("add Files Failed, the reason is: ", e); + } + } + + public static void removeDirectory (String removeDirectoryPath) { + try { + Path dirToBeDeleted = Paths.get(removeDirectoryPath); + // 使用Files.walk收集所有路径,然后按照逆序排序,确保文件/子文件夹在其父文件夹之前被删除 + Files.walk(dirToBeDeleted) + .sorted(Comparator.reverseOrder()) + .forEach(path -> { + try { + Files.deleteIfExists(path); // 删除每个路径,如果存在的话 + logger.info("{} 删除成功", path); + } catch (IOException e) { + logger.info("无法删除路径: "+ path, e); + } + }); + logger.info("{} Directory and all its content deleted successfully.", removeDirectoryPath); + } catch (IOException e) { + logger.error("remove Directory Failed, the reason is: ", e); + } + } + + public static String unzipFile(String zipFile) { + logger.info("-------=======================beginning to uznip testGit1=======================-------{}", zipFile); + + String longZipFilePath = ""; + try { + longZipFilePath = ZipHelper.unzip(zipFile); + File file = new File(zipFile); + logger.info("开始删除目录 {}", zipFile); + if (file.delete()){ + logger.info("结束删除目录 {} 成功", zipFile); + }else{ + logger.info("删除目录 {} 失败", zipFile); + } + } catch (Exception e) { + logger.error("unzip failed, the reason is "); + } + return longZipFilePath; + } + + public static File newFile(File destinationDir, ZipEntry zipEntry) throws IOException { + File destFile = new File(destinationDir, zipEntry.getName()); + + String destDirPath = destinationDir.getCanonicalPath(); + String destFilePath = destFile.getCanonicalPath(); + + if (!destFilePath.startsWith(destDirPath + File.separator)) { + throw new IOException("Entry is outside of the target dir: " + zipEntry.getName()); + } + + return destFile; + } + + public static void removeAndUpdate (BMLService bmlService, String path, BmlResource bmlResource, String username) { + FileUtils.removeDirectory(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" +path); + try { + downloadAndUnzipBMLResource(bmlService, path, bmlResource, username, GitServerConfig.GIT_SERVER_PATH.getValue()); + }catch (DSSErrorException e) { + logger.error("unzip BML Resource Failed, the reason is : ", e); + } + } + + private static void downloadAndUnzipBMLResource(BMLService bmlService, String path,BmlResource bmlResource, String userName, String dirPath) throws DSSErrorException { + //下载到本地处理 + String importFile=dirPath + File.separator + path + ".zip"; + logger.info("import zip file locate at {}",importFile); + + try{ + //下载压缩包 + bmlService.downloadToLocalPath(userName, bmlResource.getResourceId(), bmlResource.getVersion(), importFile); + }catch (Exception e){ + logger.error("download failed, the reason is :", e); + throw new DSSRuntimeException("upload file format error(导入包格式错误)"); + } + //解压 + String unzipImportFile= FileUtils.unzipFile(importFile); + logger.info("import unziped file locate at {}",unzipImportFile); + } + + private static String readImportZipProjectName(String zipFilePath) throws IOException { + try(ZipFile zipFile =new ZipFile(zipFilePath)){ + Enumeration entries =zipFile.entries(); + if(entries.hasMoreElements()){ + String projectName=entries.nextElement().getName(); + while (projectName.endsWith(File.separator)){ + projectName = projectName.substring(0, projectName.length() - 1); + } + return projectName; + } + } + throw new IOException(); + } +} diff --git a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala new file mode 100644 index 000000000..975581bac --- /dev/null +++ b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala @@ -0,0 +1,53 @@ +/* + * Copyright 2019 WeBank + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.webank.wedatasphere.dss.git.server.receiver + +import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjectRequest, GitBaseRequest, GitCheckProjectRequest, GitCommitRequest, GitCreateProjectRequest, GitDeleteRequest, GitDiffRequest, GitFileContentRequest, GitRemoveRequest, GitRevertRequest, GitSearchRequest} +import com.webank.wedatasphere.dss.git.service.{DSSGitProjectManagerService, DSSGitWorkflowManagerService} + +import javax.annotation.PostConstruct +import org.apache.linkis.rpc.{RPCMessageEvent, Receiver, ReceiverChooser} +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Component + + +@Component +class DSSGitChooser extends ReceiverChooser { + + @Autowired + var gitProjectManagerService: DSSGitProjectManagerService = _ + + @Autowired + var gitWorkflowManagerService: DSSGitWorkflowManagerService = _ + + var receiver: Option[DSSGitReceiver] = _ + + @PostConstruct + def init(): Unit = receiver = Some(new DSSGitReceiver(gitProjectManagerService, gitWorkflowManagerService)) + + override def chooseReceiver(event: RPCMessageEvent): Option[Receiver] = event.message match { + case _: GitCreateProjectRequest => receiver + case _: GitArchiveProjectRequest => receiver + case _: GitCheckProjectRequest => receiver + case _: GitCommitRequest => receiver + case _: GitDiffRequest => receiver + case _: GitSearchRequest => receiver + case _: GitFileContentRequest => receiver + case _: GitDeleteRequest => receiver + case _ => None + } +} \ No newline at end of file diff --git a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala new file mode 100644 index 000000000..179370c4b --- /dev/null +++ b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala @@ -0,0 +1,53 @@ +/* + * Copyright 2019 WeBank + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.webank.wedatasphere.dss.git.server.receiver + +import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjectRequest, GitCheckProjectRequest, GitCommitRequest, GitCreateProjectRequest, GitDeleteRequest, GitDiffRequest, GitFileContentRequest, GitRevertRequest, GitSearchRequest} +import com.webank.wedatasphere.dss.git.service.{DSSGitProjectManagerService, DSSGitWorkflowManagerService} +import org.apache.linkis.rpc.{Receiver, Sender} +import org.slf4j.{Logger, LoggerFactory} + +import java.util +import scala.concurrent.duration.Duration + + +class DSSGitReceiver(gitProjectManagerService: DSSGitProjectManagerService, gitWorkflowManagerService: DSSGitWorkflowManagerService) extends Receiver { + + override def receive(message: Any, sender: Sender): Unit = {} + + override def receiveAndReply(message: Any, sender: Sender): Any = message match { + case gitCreateProjectRequest: GitCreateProjectRequest => + gitProjectManagerService.create(gitCreateProjectRequest) + case gitArchiveProjectRequest: GitArchiveProjectRequest => + gitProjectManagerService.archive(gitArchiveProjectRequest) + case gitCheckProjectRequest: GitCheckProjectRequest => + gitProjectManagerService.checkProject(gitCheckProjectRequest) + case gitDiffRequest: GitDiffRequest => + gitWorkflowManagerService.diff(gitDiffRequest) + case gitCommitRequest: GitCommitRequest => + gitWorkflowManagerService.commit(gitCommitRequest) + case gitSearchRequest: GitSearchRequest => + gitWorkflowManagerService.search(gitSearchRequest) + case gitDeleteRequest: GitDeleteRequest => + gitWorkflowManagerService.delete(gitDeleteRequest) + case gitFileContentRequest: GitFileContentRequest => + gitWorkflowManagerService.getFileContent(gitFileContentRequest) + case _ => None + } + + override def receiveAndReply(message: Any, duration: Duration, sender: Sender): Any = {} +} diff --git a/dss-git/pom.xml b/dss-git/pom.xml new file mode 100644 index 000000000..0d4c9cea8 --- /dev/null +++ b/dss-git/pom.xml @@ -0,0 +1,24 @@ + + + + dss + com.webank.wedatasphere.dss + 1.1.0.20-SNAPSHOT + + 4.0.0 + + dss-git + pom + + dss-git-common + dss-git-server + + + + 8 + 8 + + + \ No newline at end of file From f49ef80ccf2fbf2eb980673ecf607031268075fe Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 2 Apr 2024 10:11:31 +0800 Subject: [PATCH 007/302] git Module add --- dss-git/pom.xml | 5 ----- pom.xml | 1 + 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/dss-git/pom.xml b/dss-git/pom.xml index 0d4c9cea8..6c88adb7c 100644 --- a/dss-git/pom.xml +++ b/dss-git/pom.xml @@ -16,9 +16,4 @@ dss-git-server - - 8 - 8 - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index b1372a31f..9697fe15b 100644 --- a/pom.xml +++ b/pom.xml @@ -37,6 +37,7 @@ plugins/linkis/dss-gateway-support assembly plugins/dolphinscheduler + dss-git From 9765d3bb76bcee59b61555c4d44b83f712aa2d00 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 2 Apr 2024 11:54:42 +0800 Subject: [PATCH 008/302] git workspace add --- .../workspace/service/impl/DSSWorkspaceGitServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java index 8efc8a1a7..0ce4e3c4d 100644 --- a/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java +++ b/dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceGitServiceImpl.java @@ -4,7 +4,9 @@ import com.webank.wedatasphere.dss.framework.workspace.dao.DSSWorkspaceGitMapper; import com.webank.wedatasphere.dss.framework.workspace.service.DSSWorkspaceGitService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +@Service public class DSSWorkspaceGitServiceImpl implements DSSWorkspaceGitService { @Autowired From 989211658d5633bc0226cf910b342649fe381146 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 2 Apr 2024 15:57:19 +0800 Subject: [PATCH 009/302] git module move --- .../receiver/DSSGitReceiver.scala | 3 ++- dss-server/pom.xml | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala index 179370c4b..b5d0dcf38 100644 --- a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala +++ b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala @@ -20,11 +20,12 @@ import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjec import com.webank.wedatasphere.dss.git.service.{DSSGitProjectManagerService, DSSGitWorkflowManagerService} import org.apache.linkis.rpc.{Receiver, Sender} import org.slf4j.{Logger, LoggerFactory} +import org.springframework.stereotype.Component import java.util import scala.concurrent.duration.Duration - +@Component class DSSGitReceiver(gitProjectManagerService: DSSGitProjectManagerService, gitWorkflowManagerService: DSSGitWorkflowManagerService) extends Receiver { override def receive(message: Any, sender: Sender): Unit = {} diff --git a/dss-server/pom.xml b/dss-server/pom.xml index ed7e68cf7..3d3171cb7 100644 --- a/dss-server/pom.xml +++ b/dss-server/pom.xml @@ -49,6 +49,11 @@ + + com.webank.wedatasphere.dss + dss-git-server + ${dss.version} + com.webank.wedatasphere.dss dss-framework-project-server From 34e0c511ea225792abb37c85bb156aee0772fceb Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Wed, 3 Apr 2024 17:12:43 +0800 Subject: [PATCH 010/302] dss-server create/update/delete project associate with git --- .../dss-framework-project-server/pom.xml | 5 ++ .../project/entity/DSSProjectDO.java | 14 +++++ .../entity/request/ProjectCreateRequest.java | 14 +++++ .../entity/request/ProjectModifyRequest.java | 14 +++++ .../impl/DSSFrameworkProjectServiceImpl.java | 60 +++++++++++++++++++ .../service/impl/DSSProjectServiceImpl.java | 22 +++++++ 6 files changed, 129 insertions(+) diff --git a/dss-framework/dss-framework-project-server/pom.xml b/dss-framework/dss-framework-project-server/pom.xml index d8bd3ed2d..67f3af93b 100644 --- a/dss-framework/dss-framework-project-server/pom.xml +++ b/dss-framework/dss-framework-project-server/pom.xml @@ -29,6 +29,11 @@ dss-framework-project-server + + com.webank.wedatasphere.dss + dss-git-common + ${dss.version} + com.webank.wedatasphere.dss dss-framework-common diff --git a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/DSSProjectDO.java b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/DSSProjectDO.java index 0b900239d..9f1069ae6 100644 --- a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/DSSProjectDO.java +++ b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/DSSProjectDO.java @@ -104,6 +104,11 @@ public class DSSProjectDO implements Serializable { private Integer visible; + /** + * 1-接入git 0-不接入(默认) + */ + private Boolean associateGit; + public Long getId() { return id; } @@ -350,6 +355,15 @@ public String toString() { ", devProcess='" + devProcess + '\'' + ", orchestratorMode='" + orchestratorMode + '\'' + ", visible=" + visible + + ", associateGit=" + associateGit + '}'; } + + public Boolean getAssociateGit() { + return associateGit; + } + + public void setAssociateGit(Boolean associateGit) { + this.associateGit = associateGit; + } } diff --git a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectCreateRequest.java b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectCreateRequest.java index 87f90a5b5..27492675a 100644 --- a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectCreateRequest.java +++ b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectCreateRequest.java @@ -61,6 +61,11 @@ public class ProjectCreateRequest { */ private List orchestratorModeList; + /** + * 1-接入git 0-不接入(默认) + */ + private Boolean associateGit; + public String getName() { return name; @@ -173,6 +178,15 @@ public String toString() { ", workspaceName='" + workspaceName + '\'' + ", devProcessList=" + devProcessList + ", orchestratorModeList=" + orchestratorModeList + + ", associateGit=" + associateGit + '}'; } + + public Boolean getAssociateGit() { + return associateGit; + } + + public void setAssociateGit(Boolean associateGit) { + this.associateGit = associateGit; + } } diff --git a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectModifyRequest.java b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectModifyRequest.java index 78b28ab61..c0b2994aa 100644 --- a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectModifyRequest.java +++ b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/entity/request/ProjectModifyRequest.java @@ -78,6 +78,11 @@ public void setWorkspaceName(String workspaceName) { */ private List orchestratorModeList; + /** + * 1-接入git 0-不接入(默认) + */ + private Boolean associateGit; + public String getName() { return name; } @@ -189,6 +194,15 @@ public String toString() { ", workspaceId=" + workspaceId + ", devProcessList=" + devProcessList + ", orchestratorModeList=" + orchestratorModeList + + ", associateGit=" + associateGit + '}'; } + + public Boolean getAssociateGit() { + return associateGit; + } + + public void setAssociateGit(Boolean associateGit) { + this.associateGit = associateGit; + } } diff --git a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSFrameworkProjectServiceImpl.java b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSFrameworkProjectServiceImpl.java index d9b0ab3b1..9d93f8bc6 100644 --- a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSFrameworkProjectServiceImpl.java +++ b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSFrameworkProjectServiceImpl.java @@ -18,13 +18,16 @@ import com.webank.wedatasphere.dss.appconn.core.AppConn; import com.webank.wedatasphere.dss.appconn.core.ext.OnlyStructureAppConn; +import com.webank.wedatasphere.dss.common.entity.BmlResource; import com.webank.wedatasphere.dss.common.entity.project.DSSProject; import com.webank.wedatasphere.dss.common.utils.DSSExceptionUtils; +import com.webank.wedatasphere.dss.common.utils.RpcAskUtils; import com.webank.wedatasphere.dss.framework.project.conf.ProjectConf; import com.webank.wedatasphere.dss.framework.project.contant.ProjectServerResponse; import com.webank.wedatasphere.dss.framework.project.entity.DSSProjectDO; import com.webank.wedatasphere.dss.framework.project.entity.DSSProjectUser; import com.webank.wedatasphere.dss.framework.project.entity.request.ProjectCreateRequest; +import com.webank.wedatasphere.dss.framework.project.entity.request.ProjectDeleteRequest; import com.webank.wedatasphere.dss.framework.project.entity.request.ProjectModifyRequest; import com.webank.wedatasphere.dss.framework.project.entity.vo.DSSProjectDetailVo; import com.webank.wedatasphere.dss.framework.project.entity.vo.DSSProjectVo; @@ -32,6 +35,13 @@ import com.webank.wedatasphere.dss.framework.project.service.DSSFrameworkProjectService; import com.webank.wedatasphere.dss.framework.project.service.DSSProjectService; import com.webank.wedatasphere.dss.framework.project.service.DSSProjectUserService; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitArchiveProjectRequest; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitCheckProjectRequest; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitCreateProjectRequest; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitArchivePorjectResponse; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitCheckProjectResponse; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitCreateProjectResponse; +import com.webank.wedatasphere.dss.sender.service.DSSSenderServiceFactory; import com.webank.wedatasphere.dss.standard.app.sso.Workspace; import com.webank.wedatasphere.dss.standard.app.structure.project.*; import com.webank.wedatasphere.dss.standard.app.structure.project.ref.DSSProjectContentRequestRef; @@ -47,6 +57,7 @@ import org.apache.linkis.common.conf.CommonVars; import org.apache.linkis.common.exception.WarnException; import org.apache.linkis.protocol.util.ImmutablePair; +import org.apache.linkis.rpc.Sender; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -98,6 +109,10 @@ public DSSProjectVo createProject(ProjectCreateRequest projectCreateRequest, Str } this.checkProjectName(projectCreateRequest.getName(), workspace, username); + // 对于接入git的项目校验项目名称 + if(projectCreateRequest.getAssociateGit() != null && projectCreateRequest.getAssociateGit()) { + checkGitName(projectCreateRequest.getName(), workspace, username); + } Map projectMap = createAppConnProject(projectCreateRequest, workspace, username); //3.保存dss_project @@ -153,6 +168,11 @@ public void modifyProject(ProjectModifyRequest projectModifyRequest, DSSProjectD if (!dbProject.getName().equalsIgnoreCase(projectModifyRequest.getName())) { DSSExceptionUtils.dealErrorException(ProjectServerResponse.PROJECT_NOT_EDIT_NAME.getCode(), ProjectServerResponse.PROJECT_NOT_EDIT_NAME.getMsg(), DSSProjectErrorException.class); } + // 校验接入git + if (dbProject.getAssociateGit() != null) { + checkAssociateGit(projectModifyRequest, dbProject, username, workspace); + } + //调用第三方的工程修改接口 dbProject.setUsername(username); dbProject.setApplicationArea(Integer.valueOf(projectModifyRequest.getApplicationArea())); @@ -298,4 +318,44 @@ private Map createAppConnProject(ProjectCreateRequest dssProj return projectMap; } + private void checkGitName(String name, Workspace workspace, String username) throws DSSProjectErrorException { + Sender gitSender = DSSSenderServiceFactory.getOrCreateServiceInstance().getGitSender(); + GitCheckProjectRequest request1 = new GitCheckProjectRequest(workspace.getWorkspaceId(), name, username); + LOGGER.info("-------=======================begin to check project: {}=======================-------", name); + Object ask = gitSender.ask(request1); + GitCheckProjectResponse responseWorkflowValidNode = RpcAskUtils.processAskException(ask, GitCheckProjectResponse.class, GitCheckProjectRequest.class); + LOGGER.info("-------=======================End to check project: {}=======================-------: {}", name, responseWorkflowValidNode); + if (responseWorkflowValidNode == null) { + throw new DSSProjectErrorException(71000, "向Git发起检查工程名是否重复失败,请稍后重试 "); + } else if (responseWorkflowValidNode.getRepeat()) { + throw new DSSProjectErrorException(71000, "git 已存在相同项目名称,请重新命名!"); + } + } + + private void initGitProject(Long workspaceId, String projectName, String resource, String version, String username) { + Sender gitSender = DSSSenderServiceFactory.getOrCreateServiceInstance().getGitSender(); + Map file = new HashMap<>(); + // 测试数据 key表示项目名、value为项目BmlResource资源 + GitCreateProjectRequest request1 = new GitCreateProjectRequest(workspaceId, projectName, new BmlResource(resource, version), username); + LOGGER.info("-------=======================begin to create project: {}=======================-------", projectName); + Object ask = gitSender.ask(request1); + GitCreateProjectResponse responseWorkflowValidNode = RpcAskUtils.processAskException(ask, GitCreateProjectResponse.class, GitCreateProjectRequest.class); + LOGGER.info("-------=======================End to create project: {}=======================-------: {}", projectName, responseWorkflowValidNode); + } + + private void checkAssociateGit(ProjectModifyRequest projectModifyRequest, DSSProjectDO dbProject, String username, Workspace workspace) throws DSSProjectErrorException { + // 对于已经接入git的项目不允许进行取消 + if (dbProject.getAssociateGit() && !projectModifyRequest.getAssociateGit()) { + throw new DSSProjectErrorException(71000, "项目接入git后无法取消"); + } + // 对于首次接入git的项目需要校验项目名称并且进行git初始化 + if (!dbProject.getAssociateGit() && projectModifyRequest.getAssociateGit() && projectModifyRequest.getAssociateGit()!= null && projectModifyRequest.getAssociateGit()) { + checkGitName(projectModifyRequest.getName(), workspace, username); + // todo resource version Info + // initGitProject(workspace.getWorkspaceId(), projectCreateRequest.getName(),); + } + } + + + } diff --git a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSProjectServiceImpl.java b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSProjectServiceImpl.java index 804712fb8..057570d65 100644 --- a/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSProjectServiceImpl.java +++ b/dss-framework/dss-framework-project-server/src/main/java/com/webank/wedatasphere/dss/framework/project/service/impl/DSSProjectServiceImpl.java @@ -21,9 +21,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.webank.wedatasphere.dss.appconn.core.AppConn; import com.webank.wedatasphere.dss.appconn.manager.AppConnManager; +import com.webank.wedatasphere.dss.common.entity.BmlResource; import com.webank.wedatasphere.dss.common.exception.DSSErrorException; import com.webank.wedatasphere.dss.common.label.DSSLabel; import com.webank.wedatasphere.dss.common.utils.DSSExceptionUtils; +import com.webank.wedatasphere.dss.common.utils.RpcAskUtils; import com.webank.wedatasphere.dss.framework.project.conf.ProjectConf; import com.webank.wedatasphere.dss.framework.project.contant.ProjectServerResponse; import com.webank.wedatasphere.dss.common.constant.project.ProjectUserPrivEnum; @@ -42,6 +44,10 @@ import com.webank.wedatasphere.dss.framework.project.service.DSSProjectService; import com.webank.wedatasphere.dss.framework.project.service.DSSProjectUserService; import com.webank.wedatasphere.dss.framework.project.utils.ProjectStringUtils; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitArchiveProjectRequest; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitCreateProjectRequest; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitArchivePorjectResponse; +import com.webank.wedatasphere.dss.sender.service.DSSSenderServiceFactory; import com.webank.wedatasphere.dss.standard.app.sso.Workspace; import com.webank.wedatasphere.dss.standard.app.structure.project.ProjectDeletionOperation; import com.webank.wedatasphere.dss.standard.app.structure.project.ProjectService; @@ -49,6 +55,7 @@ import com.webank.wedatasphere.dss.standard.common.desc.AppInstance; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.linkis.rpc.Sender; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -275,6 +282,8 @@ public void deleteProject(String username, ProjectDeleteRequest projectDeleteReq if(!dssProjectDO.getUsername().equalsIgnoreCase(username)){ throw new DSSErrorException(600002, "刪除工程失敗,沒有删除权限!" ); } + // 对于DSS项目进行归档 + archiveGitProject(username, projectDeleteRequest, workspace, dssProjectDO); if(projectDeleteRequest.isIfDelOtherSys()) { LOGGER.warn("User {} requires to delete all projects with name {} in third-party AppConns.", username, dssProjectDO.getName()); Map appInstanceToRefProjectId = new HashMap<>(10); @@ -299,6 +308,19 @@ public void deleteProject(String username, ProjectDeleteRequest projectDeleteReq LOGGER.warn("User {} deleted project {}.", username, dssProjectDO.getName()); } + private void archiveGitProject(String username, ProjectDeleteRequest projectDeleteRequest, Workspace workspace, DSSProjectDO dssProjectDO) { + if (dssProjectDO.getAssociateGit()) { + Sender gitSender = DSSSenderServiceFactory.getOrCreateServiceInstance().getGitSender(); + Map file = new HashMap<>(); + // 测试数据 key表示项目名、value为项目BmlResource资源 + GitArchiveProjectRequest request1 = new GitArchiveProjectRequest(workspace.getWorkspaceId(), dssProjectDO.getName(), username); + LOGGER.info("-------=======================begin to archive project: {}=======================-------", dssProjectDO.getName()); + Object ask = gitSender.ask(request1); + GitArchivePorjectResponse responseWorkflowValidNode = RpcAskUtils.processAskException(ask, GitArchivePorjectResponse.class, GitCreateProjectRequest.class); + LOGGER.info("-------=======================End to archive project: {}=======================-------: {}", dssProjectDO.getName(), responseWorkflowValidNode); + } + } + @Override public List getProjectAbilities(String username) { LOGGER.info("{} begins to get project ability", username); From 0a1180ffbd2abdfefaa7e43df1b9508a95c33c8f Mon Sep 17 00:00:00 2001 From: xlinliu Date: Sun, 7 Apr 2024 17:03:31 +0800 Subject: [PATCH 011/302] ignore appconn engine reuseEngine param --- .../node/execution/service/impl/BuildJobActionImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java index bb6845acb..aad9156b5 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java @@ -140,7 +140,7 @@ public JobSubmitAction getSubmitAction(Job job) throws LinkisJobExecutionErrorEx //是否复用引擎,不复用就为空 - if(!isReuseEngine(job.getParams())){ + if(!isAppconnJob(job) && !isReuseEngine(job.getParams())){ labels.put("executeOnce", ""); } Map paramMapCopy = (HashMap) SerializationUtils.clone(new HashMap(job.getParams())); @@ -190,6 +190,13 @@ public boolean isReuseEngine(Map params) { return true; } + /** + * 是否为appconnjob + */ + private boolean isAppconnJob(Job job){ + return APPCONN.equals(job.getEngineType()); + } + /** * spark自定义参数配置输入,例如spark.sql.shuffle.partitions=10。多个参数使用分号分隔。 * From dec94df492d387bae6b50f11d007272bb9bce97b Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Tue, 9 Apr 2024 11:33:26 +0800 Subject: [PATCH 012/302] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E8=A6=86=E7=9B=96=E5=8F=82=E6=95=B0map.limit=E5=92=8Creduce.li?= =?UTF-8?q?mit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../linkis/node/execution/service/impl/BuildJobActionImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java index bb6845acb..e4a4253cf 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java @@ -210,6 +210,8 @@ private void replaceSparkConfParams(Map paramMapCopy) throws Lin startupMap.remove("spark.executor.cores"); startupMap.remove("spark.executor.instances"); startupMap.remove("wds.linkis.engineconn.java.driver.memory"); + startupMap.remove("mapreduce.job.running.map.limit"); + startupMap.remove("mapreduce.job.running.reduce.limit"); startupMap.remove("spark.conf"); logger.info("after remove startup map:{}",startupMap.keySet()); } From 9ec1b096a977c492a824efd77cbd1b752e68d601 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 9 Apr 2024 11:50:31 +0800 Subject: [PATCH 013/302] pom change SNAPSHOT to gitflow --- assembly/dss-package/pom.xml | 2 +- assembly/pom.xml | 2 +- dss-appconn/appconns/dss-datachecker-appconn/pom.xml | 4 ++-- dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-eventchecker-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-schedulis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-scriptis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-sendemail-appconn/pom.xml | 2 +- .../dss-sendemail-appconn/sendemail-appconn-core/pom.xml | 2 +- dss-appconn/appconns/dss-sso-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-workflow-appconn/pom.xml | 2 +- dss-appconn/dss-appconn-core/pom.xml | 2 +- dss-appconn/dss-appconn-loader/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-client/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-core/pom.xml | 2 +- dss-appconn/dss-appconn-manager/pom.xml | 2 +- dss-appconn/dss-scheduler-appconn/pom.xml | 2 +- dss-appconn/linkis-appconn-engineplugin/pom.xml | 2 +- dss-appconn/pom.xml | 2 +- dss-apps/dss-apiservice-server/pom.xml | 2 +- dss-apps/dss-apps-server/pom.xml | 2 +- dss-apps/dss-data-api/dss-api-sql-template/pom.xml | 2 +- dss-apps/dss-data-api/dss-data-api-server/pom.xml | 2 +- dss-apps/dss-data-api/pom.xml | 2 +- dss-apps/dss-data-governance/dss-data-asset-server/pom.xml | 2 +- .../dss-data-classification-server/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-common/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-server/pom.xml | 2 +- dss-apps/dss-data-governance/pom.xml | 2 +- dss-apps/dss-scriptis-server/pom.xml | 2 +- dss-apps/dss-user-guide/dss-user-guide-server/pom.xml | 2 +- dss-apps/dss-user-guide/pom.xml | 2 +- dss-apps/pom.xml | 2 +- dss-commons/dss-common/pom.xml | 2 +- dss-commons/dss-contextservice/pom.xml | 2 +- dss-commons/dss-sender-service/pom.xml | 2 +- dss-commons/pom.xml | 2 +- dss-framework/dss-appconn-framework/pom.xml | 2 +- dss-framework/dss-framework-admin-service/pom.xml | 2 +- dss-framework/dss-framework-common/pom.xml | 2 +- dss-framework/dss-framework-orchestrator-server/pom.xml | 2 +- dss-framework/dss-framework-project-server/pom.xml | 2 +- dss-framework/dss-framework-proxy-user-service/pom.xml | 2 +- dss-framework/dss-framework-workspace-server/pom.xml | 2 +- .../framework-plugins/dss-framework-migrate-server/pom.xml | 2 +- .../dss-framework-orchestrator-publish/pom.xml | 2 +- dss-framework/pom.xml | 2 +- dss-git/dss-git-common/pom.xml | 2 +- dss-git/dss-git-server/pom.xml | 6 +++--- dss-git/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-common/pom.xml | 2 +- .../dss-orchestrator-conversion-standard/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-core/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-db/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-loader/pom.xml | 2 +- .../dss-workflow/dss-flow-execution-server/pom.xml | 2 +- .../dss-workflow/dss-linkis-node-execution/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-common/pom.xml | 2 +- .../dss-workflow/dss-workflow-conversion-standard/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-sdk/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-server/pom.xml | 2 +- dss-orchestrator/orchestrators/dss-workflow/pom.xml | 2 +- dss-orchestrator/pom.xml | 2 +- dss-server/pom.xml | 2 +- .../development-process-standard-execution/pom.xml | 2 +- .../development-process-standard/pom.xml | 2 +- dss-standard/dss-standard-common/pom.xml | 2 +- dss-standard/pom.xml | 2 +- .../sso-standard/origin-sso-integration-standard/pom.xml | 2 +- .../spring-origin-sso-integration-plugin/pom.xml | 2 +- dss-standard/sso-standard/sso-integration-standard/pom.xml | 2 +- dss-standard/structure-standard/dss-project-plugin/pom.xml | 2 +- dss-standard/structure-standard/dss-role-plugin/pom.xml | 2 +- .../dss-structure-integration-standard/pom.xml | 2 +- .../spring-origin-dss-project-plugin/pom.xml | 2 +- plugins/azkaban/linkis-jobtype/pom.xml | 2 +- .../dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml | 2 +- .../dolphinscheduler/dss-dolphinscheduler-client/pom.xml | 2 +- plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml | 2 +- plugins/dolphinscheduler/pom.xml | 2 +- plugins/linkis/dss-gateway-support/pom.xml | 2 +- pom.xml | 4 ++-- 82 files changed, 86 insertions(+), 86 deletions(-) diff --git a/assembly/dss-package/pom.xml b/assembly/dss-package/pom.xml index 842307e24..6cb3c2907 100644 --- a/assembly/dss-package/pom.xml +++ b/assembly/dss-package/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/assembly/pom.xml b/assembly/pom.xml index 0e97116a4..36fe79357 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml pom diff --git a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml index 51cf70eaa..a5a43f1ed 100644 --- a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 @@ -54,7 +54,7 @@ com.webank.wedatasphere.dss dss-origin-sso-integration-standard - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow org.apache.linkis diff --git a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml index 8543d92a9..65af4adf5 100644 --- a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml +++ b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml index 7539d9e68..d6afbe555 100644 --- a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml index ae044adb0..2b9db0eb8 100644 --- a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml index 1fbb75e66..f091d88d8 100644 --- a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml index 792ccf982..734217f54 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml index 050c80d84..2ef6b8024 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sso-appconn/pom.xml b/dss-appconn/appconns/dss-sso-appconn/pom.xml index 2b4eb6f8a..61dbc445d 100644 --- a/dss-appconn/appconns/dss-sso-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sso-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-workflow-appconn/pom.xml b/dss-appconn/appconns/dss-workflow-appconn/pom.xml index 8ec03fe62..b46b588aa 100644 --- a/dss-appconn/appconns/dss-workflow-appconn/pom.xml +++ b/dss-appconn/appconns/dss-workflow-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-core/pom.xml b/dss-appconn/dss-appconn-core/pom.xml index 60f42dc4b..f4328913c 100644 --- a/dss-appconn/dss-appconn-core/pom.xml +++ b/dss-appconn/dss-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-loader/pom.xml b/dss-appconn/dss-appconn-loader/pom.xml index 2155e4f32..1d66b58f7 100644 --- a/dss-appconn/dss-appconn-loader/pom.xml +++ b/dss-appconn/dss-appconn-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml index f12b02dd2..9ad85e38c 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml index a2693bc65..3a9eae97d 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/pom.xml b/dss-appconn/dss-appconn-manager/pom.xml index e2b61cf83..9a05c4f5b 100644 --- a/dss-appconn/dss-appconn-manager/pom.xml +++ b/dss-appconn/dss-appconn-manager/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-scheduler-appconn/pom.xml b/dss-appconn/dss-scheduler-appconn/pom.xml index cc14c6c04..6a3feb36b 100644 --- a/dss-appconn/dss-scheduler-appconn/pom.xml +++ b/dss-appconn/dss-scheduler-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-appconn/linkis-appconn-engineplugin/pom.xml b/dss-appconn/linkis-appconn-engineplugin/pom.xml index 363d409de..4293c6b3c 100644 --- a/dss-appconn/linkis-appconn-engineplugin/pom.xml +++ b/dss-appconn/linkis-appconn-engineplugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-appconn/pom.xml b/dss-appconn/pom.xml index 616ea2f66..df5cf4be5 100644 --- a/dss-appconn/pom.xml +++ b/dss-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-apps/dss-apiservice-server/pom.xml b/dss-apps/dss-apiservice-server/pom.xml index 0c82fbb7e..deed27df2 100644 --- a/dss-apps/dss-apiservice-server/pom.xml +++ b/dss-apps/dss-apiservice-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-apps-server/pom.xml b/dss-apps/dss-apps-server/pom.xml index 827480e12..685a787cf 100644 --- a/dss-apps/dss-apps-server/pom.xml +++ b/dss-apps/dss-apps-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml index 24a2d57c0..6e55b87f7 100644 --- a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml +++ b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-data-api-server/pom.xml b/dss-apps/dss-data-api/dss-data-api-server/pom.xml index ab98a16c4..c68ef8ace 100644 --- a/dss-apps/dss-data-api/dss-data-api-server/pom.xml +++ b/dss-apps/dss-data-api/dss-data-api-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/pom.xml b/dss-apps/dss-data-api/pom.xml index 1e1730298..3edfc57ac 100644 --- a/dss-apps/dss-data-api/pom.xml +++ b/dss-apps/dss-data-api/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss ../../pom.xml - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow 4.0.0 dss-data-api diff --git a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml index f0061c59b..07cb7f707 100644 --- a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml index 8e39df352..3acdb5294 100644 --- a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml index 891faa5f4..8c647ec8f 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml index 25689c268..4f23fec59 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/pom.xml b/dss-apps/dss-data-governance/pom.xml index 668d5c2c2..0b7c329db 100644 --- a/dss-apps/dss-data-governance/pom.xml +++ b/dss-apps/dss-data-governance/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-scriptis-server/pom.xml b/dss-apps/dss-scriptis-server/pom.xml index 74d84e93f..a80964187 100644 --- a/dss-apps/dss-scriptis-server/pom.xml +++ b/dss-apps/dss-scriptis-server/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml diff --git a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml index e7e6add8d..2027bc57e 100644 --- a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml +++ b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml @@ -5,7 +5,7 @@ dss-user-guide com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-apps/dss-user-guide/pom.xml b/dss-apps/dss-user-guide/pom.xml index b506cc4b3..4bcd02625 100644 --- a/dss-apps/dss-user-guide/pom.xml +++ b/dss-apps/dss-user-guide/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-apps/pom.xml b/dss-apps/pom.xml index 3731e59ae..92aa89b16 100644 --- a/dss-apps/pom.xml +++ b/dss-apps/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-commons/dss-common/pom.xml b/dss-commons/dss-common/pom.xml index 23c2acc60..eaa3cc495 100644 --- a/dss-commons/dss-common/pom.xml +++ b/dss-commons/dss-common/pom.xml @@ -22,7 +22,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml dss-common diff --git a/dss-commons/dss-contextservice/pom.xml b/dss-commons/dss-contextservice/pom.xml index e72f0c672..eca1886cd 100644 --- a/dss-commons/dss-contextservice/pom.xml +++ b/dss-commons/dss-contextservice/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml dss-contextservice diff --git a/dss-commons/dss-sender-service/pom.xml b/dss-commons/dss-sender-service/pom.xml index ba32deb18..30ddf14c4 100644 --- a/dss-commons/dss-sender-service/pom.xml +++ b/dss-commons/dss-sender-service/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-commons/pom.xml b/dss-commons/pom.xml index f719aa12c..1594156cf 100644 --- a/dss-commons/pom.xml +++ b/dss-commons/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-framework/dss-appconn-framework/pom.xml b/dss-framework/dss-appconn-framework/pom.xml index be1f80ef5..2d942b819 100644 --- a/dss-framework/dss-appconn-framework/pom.xml +++ b/dss-framework/dss-appconn-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-admin-service/pom.xml b/dss-framework/dss-framework-admin-service/pom.xml index 901db373b..78d894682 100644 --- a/dss-framework/dss-framework-admin-service/pom.xml +++ b/dss-framework/dss-framework-admin-service/pom.xml @@ -4,7 +4,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml diff --git a/dss-framework/dss-framework-common/pom.xml b/dss-framework/dss-framework-common/pom.xml index 942384562..893779971 100644 --- a/dss-framework/dss-framework-common/pom.xml +++ b/dss-framework/dss-framework-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-orchestrator-server/pom.xml b/dss-framework/dss-framework-orchestrator-server/pom.xml index 48b2caf90..a277dddbf 100644 --- a/dss-framework/dss-framework-orchestrator-server/pom.xml +++ b/dss-framework/dss-framework-orchestrator-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-project-server/pom.xml b/dss-framework/dss-framework-project-server/pom.xml index 67f3af93b..277ca4acc 100644 --- a/dss-framework/dss-framework-project-server/pom.xml +++ b/dss-framework/dss-framework-project-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-proxy-user-service/pom.xml b/dss-framework/dss-framework-proxy-user-service/pom.xml index 7faa50d57..694aafaee 100644 --- a/dss-framework/dss-framework-proxy-user-service/pom.xml +++ b/dss-framework/dss-framework-proxy-user-service/pom.xml @@ -5,7 +5,7 @@ dss-framework com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow 4.0.0 diff --git a/dss-framework/dss-framework-workspace-server/pom.xml b/dss-framework/dss-framework-workspace-server/pom.xml index 2ff2f0904..4dc237583 100644 --- a/dss-framework/dss-framework-workspace-server/pom.xml +++ b/dss-framework/dss-framework-workspace-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml index 4e6851585..cbba44804 100644 --- a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml index d7b57582e..f353752b2 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-framework/pom.xml b/dss-framework/pom.xml index 5327fb147..03d5e141f 100644 --- a/dss-framework/pom.xml +++ b/dss-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-git/dss-git-common/pom.xml b/dss-git/dss-git-common/pom.xml index 24b97f2cf..1d68d21cd 100644 --- a/dss-git/dss-git-common/pom.xml +++ b/dss-git/dss-git-common/pom.xml @@ -5,7 +5,7 @@ dss-git com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow 4.0.0 diff --git a/dss-git/dss-git-server/pom.xml b/dss-git/dss-git-server/pom.xml index 2e64ff180..7415c4676 100644 --- a/dss-git/dss-git-server/pom.xml +++ b/dss-git/dss-git-server/pom.xml @@ -5,7 +5,7 @@ dss-git com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow 4.0.0 @@ -15,7 +15,7 @@ com.webank.wedatasphere.dss dss-common - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow com.webank.wedatasphere.dss @@ -25,7 +25,7 @@ com.webank.wedatasphere.dss dss-git-common - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow org.eclipse.jgit diff --git a/dss-git/pom.xml b/dss-git/pom.xml index 6c88adb7c..f5bf084f3 100644 --- a/dss-git/pom.xml +++ b/dss-git/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-common/pom.xml b/dss-orchestrator/dss-orchestrator-common/pom.xml index 10b97e09d..2664da0fb 100644 --- a/dss-orchestrator/dss-orchestrator-common/pom.xml +++ b/dss-orchestrator/dss-orchestrator-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml index 3335bfbee..81bc296cd 100644 --- a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml +++ b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-orchestrator com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-core/pom.xml b/dss-orchestrator/dss-orchestrator-core/pom.xml index 7d2ffcb84..f4632f8d9 100644 --- a/dss-orchestrator/dss-orchestrator-core/pom.xml +++ b/dss-orchestrator/dss-orchestrator-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-db/pom.xml b/dss-orchestrator/dss-orchestrator-db/pom.xml index fd75675ec..e0ff81661 100644 --- a/dss-orchestrator/dss-orchestrator-db/pom.xml +++ b/dss-orchestrator/dss-orchestrator-db/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-loader/pom.xml b/dss-orchestrator/dss-orchestrator-loader/pom.xml index 1f4a05191..786b146ed 100644 --- a/dss-orchestrator/dss-orchestrator-loader/pom.xml +++ b/dss-orchestrator/dss-orchestrator-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml index 1ac625b49..71ebf0533 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml index d88e327d6..267159e48 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml @@ -23,7 +23,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../../pom.xml diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml index e74991312..19ed8ba51 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml index fb2f99ce6..b04d2f827 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml index 7bf055d48..1bb38bd47 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml index fd970e1d4..e64bfa1dc 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/pom.xml index f15cbb371..dd0332ed0 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/pom.xml b/dss-orchestrator/pom.xml index dc9f4c6fa..7db5c88d5 100644 --- a/dss-orchestrator/pom.xml +++ b/dss-orchestrator/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-server/pom.xml b/dss-server/pom.xml index 3d3171cb7..2a0bea047 100644 --- a/dss-server/pom.xml +++ b/dss-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard-execution/pom.xml b/dss-standard/development-standard/development-process-standard-execution/pom.xml index 40bb6c080..73152d53f 100644 --- a/dss-standard/development-standard/development-process-standard-execution/pom.xml +++ b/dss-standard/development-standard/development-process-standard-execution/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard/pom.xml b/dss-standard/development-standard/development-process-standard/pom.xml index f9f761d5b..9e2eeeddc 100644 --- a/dss-standard/development-standard/development-process-standard/pom.xml +++ b/dss-standard/development-standard/development-process-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/dss-standard-common/pom.xml b/dss-standard/dss-standard-common/pom.xml index ee9a581af..0eb04080c 100644 --- a/dss-standard/dss-standard-common/pom.xml +++ b/dss-standard/dss-standard-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/dss-standard/pom.xml b/dss-standard/pom.xml index a136fb2e9..407d4b310 100644 --- a/dss-standard/pom.xml +++ b/dss-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml index 592b59d6c..53e3df0c9 100644 --- a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml index 5fdab0942..3d0decf4d 100644 --- a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml +++ b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/sso-integration-standard/pom.xml b/dss-standard/sso-standard/sso-integration-standard/pom.xml index 2ac6ce59e..ae6b0934e 100644 --- a/dss-standard/sso-standard/sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-project-plugin/pom.xml b/dss-standard/structure-standard/dss-project-plugin/pom.xml index 745e6b013..201653ce4 100644 --- a/dss-standard/structure-standard/dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-role-plugin/pom.xml b/dss-standard/structure-standard/dss-role-plugin/pom.xml index e5a562694..d998d70cf 100644 --- a/dss-standard/structure-standard/dss-role-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-role-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml index 00ce1d53a..c6a8ade84 100644 --- a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml +++ b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml index 645724e18..f32d4ff68 100644 --- a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/plugins/azkaban/linkis-jobtype/pom.xml b/plugins/azkaban/linkis-jobtype/pom.xml index e2ace7bb3..1df83160f 100644 --- a/plugins/azkaban/linkis-jobtype/pom.xml +++ b/plugins/azkaban/linkis-jobtype/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml linkis-jobtype diff --git a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml index ca0cbacb8..ba7b8e3f6 100644 --- a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml +++ b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml index 0a01b3df1..4d39d90a5 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml index e2d8af4fd..dd082dd2d 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../pom.xml diff --git a/plugins/dolphinscheduler/pom.xml b/plugins/dolphinscheduler/pom.xml index c4fc2db6c..b4ab5b2e6 100644 --- a/plugins/dolphinscheduler/pom.xml +++ b/plugins/dolphinscheduler/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../pom.xml 4.0.0 diff --git a/plugins/linkis/dss-gateway-support/pom.xml b/plugins/linkis/dss-gateway-support/pom.xml index 4d24332da..20214563d 100644 --- a/plugins/linkis/dss-gateway-support/pom.xml +++ b/plugins/linkis/dss-gateway-support/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow ../../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 9697fe15b..40a361154 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ pom com.webank.wedatasphere.dss dss - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow dss-commons @@ -41,7 +41,7 @@ - 1.1.0.20-SNAPSHOT + 1.1.0.20-gitflow 1.1.19-wds-SNAPSHOT 2.11.12 1.8 From 23f27a6e52c0edfda23c8939d7766d89c4b7fdfa Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Tue, 9 Apr 2024 11:53:21 +0800 Subject: [PATCH 014/302] add template override params mapreduce.job.running.map.limit and mapreduce.job.running.reduce.limit --- .../linkis/node/execution/service/impl/BuildJobActionImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java index c914503bf..a74ffeefe 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/service/impl/BuildJobActionImpl.java @@ -217,9 +217,9 @@ private void replaceSparkConfParams(Map paramMapCopy) throws Lin startupMap.remove("spark.executor.cores"); startupMap.remove("spark.executor.instances"); startupMap.remove("wds.linkis.engineconn.java.driver.memory"); + startupMap.remove("spark.conf"); startupMap.remove("mapreduce.job.running.map.limit"); startupMap.remove("mapreduce.job.running.reduce.limit"); - startupMap.remove("spark.conf"); logger.info("after remove startup map:{}",startupMap.keySet()); } Map configurationMap = TaskUtils.getMap(paramMapCopy, TaskConstant.PARAMS_CONFIGURATION); From ae2dab07fa5ae93b116712f9a68310c709518799 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 9 Apr 2024 15:06:12 +0800 Subject: [PATCH 015/302] .gitgnore add git --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index aa5f9b252..983d6454a 100644 --- a/.gitignore +++ b/.gitignore @@ -101,6 +101,9 @@ dss-apps/dss-data-governance/dss-data-warehouse-dao/target dss-apps/dss-data-governance/dss-data-warehouse-service/target dss-apps/dss-data-governance/dss-data-warehouse-server/target +#dss-git +dss-git/dss-git-common/target +dss-git/dss-git-server/target # plugins plugins/azkaban/linkis-jobtype/target From f91386f56d8f2b0c26707a1187dfaba98f473f23 Mon Sep 17 00:00:00 2001 From: xlinliu Date: Tue, 9 Apr 2024 15:13:32 +0800 Subject: [PATCH 016/302] add gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 983d6454a..3c8d43b13 100644 --- a/.gitignore +++ b/.gitignore @@ -115,4 +115,6 @@ logs/* *.iml /plugins/dolphinscheduler/dss-dolphinscheduler-client/target /plugins/dolphinscheduler/dolphinscheduler-prod-metrics/target -/plugins/dolphinscheduler/dss-dolphinscheduler-token/target \ No newline at end of file +/plugins/dolphinscheduler/dss-dolphinscheduler-token/target +dss-git/dss-git-common/target +dss-git/dss-git-server/target \ No newline at end of file From 83a9df064690558527241909ce32cf7acf38940d Mon Sep 17 00:00:00 2001 From: xlinliu Date: Tue, 9 Apr 2024 15:15:07 +0800 Subject: [PATCH 017/302] add gitignore --- .gitignore | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3c8d43b13..983d6454a 100644 --- a/.gitignore +++ b/.gitignore @@ -115,6 +115,4 @@ logs/* *.iml /plugins/dolphinscheduler/dss-dolphinscheduler-client/target /plugins/dolphinscheduler/dolphinscheduler-prod-metrics/target -/plugins/dolphinscheduler/dss-dolphinscheduler-token/target -dss-git/dss-git-common/target -dss-git/dss-git-server/target \ No newline at end of file +/plugins/dolphinscheduler/dss-dolphinscheduler-token/target \ No newline at end of file From dea7eb68064502ffa00957fe90f1762df145b798 Mon Sep 17 00:00:00 2001 From: xlinliu Date: Wed, 10 Apr 2024 15:19:00 +0800 Subject: [PATCH 018/302] =?UTF-8?q?=E4=BC=98=E5=8C=96datacheck=E6=97=A5?= =?UTF-8?q?=E5=BF=97=EF=BC=8Cdesktop=5Fbdapimport=E4=B8=8D=E5=AD=98?= =?UTF-8?q?=E5=9C=A8=E6=97=B6=E4=B8=8D=E6=89=93log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dss/appconn/datachecker/connector/DataCheckerDao.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dss-appconn/appconns/dss-datachecker-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/datachecker/connector/DataCheckerDao.java b/dss-appconn/appconns/dss-datachecker-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/datachecker/connector/DataCheckerDao.java index e3bc2ae27..d48abbc91 100644 --- a/dss-appconn/appconns/dss-datachecker-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/datachecker/connector/DataCheckerDao.java +++ b/dss-appconn/appconns/dss-datachecker-appconn/src/main/java/com/webank/wedatasphere/dss/appconn/datachecker/connector/DataCheckerDao.java @@ -431,7 +431,6 @@ private long getBdpTotalCount(CheckDataObject dataObject, Connection conn, Logge log.info("-------------------------------------- bdp data result:"+ret); return ret; } catch (SQLException e) { - log.error("fetch data from bdp error", e); return 0; } } From d71a0285c11ac2adde6f3e5352740c5080936d92 Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Wed, 10 Apr 2024 15:43:02 +0800 Subject: [PATCH 019/302] update pom dss.version: 1.3.0-SNAPSHOT, update linkis.version: 1.3.0-wds --- assembly/dss-package/pom.xml | 2 +- assembly/pom.xml | 2 +- dss-appconn/appconns/dss-datachecker-appconn/pom.xml | 4 ++-- dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-eventchecker-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-schedulis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-scriptis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-sendemail-appconn/pom.xml | 2 +- .../dss-sendemail-appconn/sendemail-appconn-core/pom.xml | 2 +- dss-appconn/appconns/dss-sso-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-workflow-appconn/pom.xml | 2 +- dss-appconn/dss-appconn-core/pom.xml | 2 +- dss-appconn/dss-appconn-loader/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-client/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-core/pom.xml | 2 +- dss-appconn/dss-appconn-manager/pom.xml | 2 +- dss-appconn/dss-scheduler-appconn/pom.xml | 2 +- dss-appconn/linkis-appconn-engineplugin/pom.xml | 2 +- dss-appconn/pom.xml | 2 +- dss-apps/dss-apiservice-server/pom.xml | 2 +- dss-apps/dss-apps-server/pom.xml | 2 +- dss-apps/dss-data-api/dss-api-sql-template/pom.xml | 2 +- dss-apps/dss-data-api/dss-data-api-server/pom.xml | 2 +- dss-apps/dss-data-api/pom.xml | 2 +- dss-apps/dss-data-governance/dss-data-asset-server/pom.xml | 2 +- .../dss-data-classification-server/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-common/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-server/pom.xml | 2 +- dss-apps/dss-data-governance/pom.xml | 2 +- dss-apps/dss-scriptis-server/pom.xml | 2 +- dss-apps/dss-user-guide/dss-user-guide-server/pom.xml | 2 +- dss-apps/dss-user-guide/pom.xml | 2 +- dss-apps/pom.xml | 2 +- dss-commons/dss-common/pom.xml | 2 +- dss-commons/dss-contextservice/pom.xml | 2 +- dss-commons/dss-sender-service/pom.xml | 2 +- dss-commons/pom.xml | 2 +- dss-framework/dss-appconn-framework/pom.xml | 2 +- dss-framework/dss-framework-admin-service/pom.xml | 2 +- dss-framework/dss-framework-common/pom.xml | 2 +- dss-framework/dss-framework-orchestrator-server/pom.xml | 2 +- dss-framework/dss-framework-project-server/pom.xml | 2 +- dss-framework/dss-framework-proxy-user-service/pom.xml | 2 +- dss-framework/dss-framework-workspace-server/pom.xml | 2 +- .../framework-plugins/dss-framework-migrate-server/pom.xml | 2 +- .../dss-framework-orchestrator-publish/pom.xml | 2 +- dss-framework/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-common/pom.xml | 2 +- .../dss-orchestrator-conversion-standard/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-core/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-db/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-loader/pom.xml | 2 +- .../dss-workflow/dss-flow-execution-server/pom.xml | 2 +- .../dss-workflow/dss-linkis-node-execution/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-common/pom.xml | 2 +- .../dss-workflow/dss-workflow-conversion-standard/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-sdk/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-server/pom.xml | 2 +- dss-orchestrator/orchestrators/dss-workflow/pom.xml | 2 +- dss-orchestrator/pom.xml | 2 +- dss-server/pom.xml | 2 +- .../development-process-standard-execution/pom.xml | 2 +- .../development-process-standard/pom.xml | 2 +- dss-standard/dss-standard-common/pom.xml | 2 +- dss-standard/pom.xml | 2 +- .../sso-standard/origin-sso-integration-standard/pom.xml | 2 +- .../spring-origin-sso-integration-plugin/pom.xml | 2 +- dss-standard/sso-standard/sso-integration-standard/pom.xml | 2 +- dss-standard/structure-standard/dss-project-plugin/pom.xml | 2 +- dss-standard/structure-standard/dss-role-plugin/pom.xml | 2 +- .../dss-structure-integration-standard/pom.xml | 2 +- .../spring-origin-dss-project-plugin/pom.xml | 2 +- plugins/azkaban/linkis-jobtype/pom.xml | 2 +- .../dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml | 2 +- .../dolphinscheduler/dss-dolphinscheduler-client/pom.xml | 2 +- plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml | 2 +- plugins/dolphinscheduler/pom.xml | 2 +- plugins/linkis/dss-gateway-support/pom.xml | 2 +- pom.xml | 6 +++--- 79 files changed, 82 insertions(+), 82 deletions(-) diff --git a/assembly/dss-package/pom.xml b/assembly/dss-package/pom.xml index 551abaa9f..6674406cd 100644 --- a/assembly/dss-package/pom.xml +++ b/assembly/dss-package/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/assembly/pom.xml b/assembly/pom.xml index 30ea818cb..d72a246dd 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml pom diff --git a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml index 96972b007..d01eb0de3 100644 --- a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 @@ -54,7 +54,7 @@ com.webank.wedatasphere.dss dss-origin-sso-integration-standard - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT org.apache.linkis diff --git a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml index 9e61911c7..3965bc416 100644 --- a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml +++ b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml index 8f05cfa59..2133f507e 100644 --- a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml index a539660a3..7b0f868e2 100644 --- a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml index 1f9c818d0..e53aab1f8 100644 --- a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml index 3defbf129..0ebc2ff87 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml index c51375c78..d6a285758 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sso-appconn/pom.xml b/dss-appconn/appconns/dss-sso-appconn/pom.xml index a993fd35b..1134ea21c 100644 --- a/dss-appconn/appconns/dss-sso-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sso-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-workflow-appconn/pom.xml b/dss-appconn/appconns/dss-workflow-appconn/pom.xml index cb015df2a..2c677dbbc 100644 --- a/dss-appconn/appconns/dss-workflow-appconn/pom.xml +++ b/dss-appconn/appconns/dss-workflow-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-core/pom.xml b/dss-appconn/dss-appconn-core/pom.xml index 742c75908..bf52e5be3 100644 --- a/dss-appconn/dss-appconn-core/pom.xml +++ b/dss-appconn/dss-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-loader/pom.xml b/dss-appconn/dss-appconn-loader/pom.xml index 90a6fa128..c175d6356 100644 --- a/dss-appconn/dss-appconn-loader/pom.xml +++ b/dss-appconn/dss-appconn-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml index 6a8007104..1d21c6dd1 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml index 5857216df..c3c700044 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/pom.xml b/dss-appconn/dss-appconn-manager/pom.xml index 71133409f..0109b84df 100644 --- a/dss-appconn/dss-appconn-manager/pom.xml +++ b/dss-appconn/dss-appconn-manager/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-scheduler-appconn/pom.xml b/dss-appconn/dss-scheduler-appconn/pom.xml index 8ce872c9d..2b68bdfb1 100644 --- a/dss-appconn/dss-scheduler-appconn/pom.xml +++ b/dss-appconn/dss-scheduler-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/linkis-appconn-engineplugin/pom.xml b/dss-appconn/linkis-appconn-engineplugin/pom.xml index c37ffba4d..5dee47a82 100644 --- a/dss-appconn/linkis-appconn-engineplugin/pom.xml +++ b/dss-appconn/linkis-appconn-engineplugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/pom.xml b/dss-appconn/pom.xml index 3baf458d4..7263fc63b 100644 --- a/dss-appconn/pom.xml +++ b/dss-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-apps/dss-apiservice-server/pom.xml b/dss-apps/dss-apiservice-server/pom.xml index 16bbc1ea0..b677f34f2 100644 --- a/dss-apps/dss-apiservice-server/pom.xml +++ b/dss-apps/dss-apiservice-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-apps-server/pom.xml b/dss-apps/dss-apps-server/pom.xml index 138553218..2b2f7a7e0 100644 --- a/dss-apps/dss-apps-server/pom.xml +++ b/dss-apps/dss-apps-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml index f87fd6f40..7e11ed57d 100644 --- a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml +++ b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-data-api-server/pom.xml b/dss-apps/dss-data-api/dss-data-api-server/pom.xml index 93e0a996e..5e750f390 100644 --- a/dss-apps/dss-data-api/dss-data-api-server/pom.xml +++ b/dss-apps/dss-data-api/dss-data-api-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/pom.xml b/dss-apps/dss-data-api/pom.xml index 551bf1f12..495848168 100644 --- a/dss-apps/dss-data-api/pom.xml +++ b/dss-apps/dss-data-api/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss ../../pom.xml - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT 4.0.0 dss-data-api diff --git a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml index 5c303b714..228230a27 100644 --- a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml index 5b58fed36..81d514854 100644 --- a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml index 38f0171c0..37fc5b070 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml index 9e4986ff9..47017b4d4 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/pom.xml b/dss-apps/dss-data-governance/pom.xml index 0f0f93481..518d5c4b5 100644 --- a/dss-apps/dss-data-governance/pom.xml +++ b/dss-apps/dss-data-governance/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-scriptis-server/pom.xml b/dss-apps/dss-scriptis-server/pom.xml index 825b74116..a19355c4e 100644 --- a/dss-apps/dss-scriptis-server/pom.xml +++ b/dss-apps/dss-scriptis-server/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml diff --git a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml index 6a3fe86f6..6abe4623b 100644 --- a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml +++ b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml @@ -5,7 +5,7 @@ dss-user-guide com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-apps/dss-user-guide/pom.xml b/dss-apps/dss-user-guide/pom.xml index ef8b63465..b846084dc 100644 --- a/dss-apps/dss-user-guide/pom.xml +++ b/dss-apps/dss-user-guide/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/pom.xml b/dss-apps/pom.xml index 67b956fc9..ba57e2bca 100644 --- a/dss-apps/pom.xml +++ b/dss-apps/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-commons/dss-common/pom.xml b/dss-commons/dss-common/pom.xml index 86f83dbcc..3af009adc 100644 --- a/dss-commons/dss-common/pom.xml +++ b/dss-commons/dss-common/pom.xml @@ -22,7 +22,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml dss-common diff --git a/dss-commons/dss-contextservice/pom.xml b/dss-commons/dss-contextservice/pom.xml index 3f81d39c0..609ca270d 100644 --- a/dss-commons/dss-contextservice/pom.xml +++ b/dss-commons/dss-contextservice/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml dss-contextservice diff --git a/dss-commons/dss-sender-service/pom.xml b/dss-commons/dss-sender-service/pom.xml index b792be80d..7da4725fe 100644 --- a/dss-commons/dss-sender-service/pom.xml +++ b/dss-commons/dss-sender-service/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-commons/pom.xml b/dss-commons/pom.xml index 5820079c9..a80e4fba5 100644 --- a/dss-commons/pom.xml +++ b/dss-commons/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-framework/dss-appconn-framework/pom.xml b/dss-framework/dss-appconn-framework/pom.xml index 8aaaadbbd..bfb9babb3 100644 --- a/dss-framework/dss-appconn-framework/pom.xml +++ b/dss-framework/dss-appconn-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-admin-service/pom.xml b/dss-framework/dss-framework-admin-service/pom.xml index 5b469e8cc..a28b224d0 100644 --- a/dss-framework/dss-framework-admin-service/pom.xml +++ b/dss-framework/dss-framework-admin-service/pom.xml @@ -4,7 +4,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml diff --git a/dss-framework/dss-framework-common/pom.xml b/dss-framework/dss-framework-common/pom.xml index a38484ced..1fa4aed33 100644 --- a/dss-framework/dss-framework-common/pom.xml +++ b/dss-framework/dss-framework-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-orchestrator-server/pom.xml b/dss-framework/dss-framework-orchestrator-server/pom.xml index 0107b01b0..cbc2b1fc1 100644 --- a/dss-framework/dss-framework-orchestrator-server/pom.xml +++ b/dss-framework/dss-framework-orchestrator-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-project-server/pom.xml b/dss-framework/dss-framework-project-server/pom.xml index fd679ed39..ec328f17c 100644 --- a/dss-framework/dss-framework-project-server/pom.xml +++ b/dss-framework/dss-framework-project-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-proxy-user-service/pom.xml b/dss-framework/dss-framework-proxy-user-service/pom.xml index eda1d4513..15b287af3 100644 --- a/dss-framework/dss-framework-proxy-user-service/pom.xml +++ b/dss-framework/dss-framework-proxy-user-service/pom.xml @@ -5,7 +5,7 @@ dss-framework com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT 4.0.0 diff --git a/dss-framework/dss-framework-workspace-server/pom.xml b/dss-framework/dss-framework-workspace-server/pom.xml index 22bda9540..4fad67608 100644 --- a/dss-framework/dss-framework-workspace-server/pom.xml +++ b/dss-framework/dss-framework-workspace-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml index 1f70ab62d..748dd085e 100644 --- a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml index fcc5ed67f..870d2aeb7 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-framework/pom.xml b/dss-framework/pom.xml index 0665a4b92..ccf70b32c 100644 --- a/dss-framework/pom.xml +++ b/dss-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-common/pom.xml b/dss-orchestrator/dss-orchestrator-common/pom.xml index 40682adb8..0a1cc58e8 100644 --- a/dss-orchestrator/dss-orchestrator-common/pom.xml +++ b/dss-orchestrator/dss-orchestrator-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml index 1e4ac15f6..03b599b76 100644 --- a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml +++ b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-orchestrator com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-core/pom.xml b/dss-orchestrator/dss-orchestrator-core/pom.xml index 25e7bf860..0800a82b3 100644 --- a/dss-orchestrator/dss-orchestrator-core/pom.xml +++ b/dss-orchestrator/dss-orchestrator-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-db/pom.xml b/dss-orchestrator/dss-orchestrator-db/pom.xml index abedcc10f..c08ab2c26 100644 --- a/dss-orchestrator/dss-orchestrator-db/pom.xml +++ b/dss-orchestrator/dss-orchestrator-db/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-loader/pom.xml b/dss-orchestrator/dss-orchestrator-loader/pom.xml index a757e1a24..def0b8abf 100644 --- a/dss-orchestrator/dss-orchestrator-loader/pom.xml +++ b/dss-orchestrator/dss-orchestrator-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml index ed124d031..96b081036 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml index c0a3c1984..2ffc52852 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml @@ -23,7 +23,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../../pom.xml diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml index 4b2b6ef17..cd49c91df 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml index 80e5df81d..8c42962f9 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml index dec539e41..0e0cab938 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml index 65387ae4e..e13d9ea48 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/pom.xml index dc863de79..6c2c41c59 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/pom.xml b/dss-orchestrator/pom.xml index ef6bea8de..d382731d5 100644 --- a/dss-orchestrator/pom.xml +++ b/dss-orchestrator/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-server/pom.xml b/dss-server/pom.xml index acdb1376c..fd3087ebd 100644 --- a/dss-server/pom.xml +++ b/dss-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard-execution/pom.xml b/dss-standard/development-standard/development-process-standard-execution/pom.xml index b3f34474c..bdbdc445c 100644 --- a/dss-standard/development-standard/development-process-standard-execution/pom.xml +++ b/dss-standard/development-standard/development-process-standard-execution/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard/pom.xml b/dss-standard/development-standard/development-process-standard/pom.xml index 5356f9593..e1d9fc919 100644 --- a/dss-standard/development-standard/development-process-standard/pom.xml +++ b/dss-standard/development-standard/development-process-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/dss-standard-common/pom.xml b/dss-standard/dss-standard-common/pom.xml index 4e1b12f51..d38704d2d 100644 --- a/dss-standard/dss-standard-common/pom.xml +++ b/dss-standard/dss-standard-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-standard/pom.xml b/dss-standard/pom.xml index fde1bb513..4d9c40b2f 100644 --- a/dss-standard/pom.xml +++ b/dss-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml index 7c65dc338..b1de51004 100644 --- a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml index 46ce2475d..59a80b2b0 100644 --- a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml +++ b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/sso-integration-standard/pom.xml b/dss-standard/sso-standard/sso-integration-standard/pom.xml index b5f67caf1..f2d1da996 100644 --- a/dss-standard/sso-standard/sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-project-plugin/pom.xml b/dss-standard/structure-standard/dss-project-plugin/pom.xml index 7885208da..70fd9bbaf 100644 --- a/dss-standard/structure-standard/dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-role-plugin/pom.xml b/dss-standard/structure-standard/dss-role-plugin/pom.xml index be0ea18aa..e89f24515 100644 --- a/dss-standard/structure-standard/dss-role-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-role-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml index 33d8b1415..a77589b06 100644 --- a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml +++ b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml index 8269ab980..add113d17 100644 --- a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/plugins/azkaban/linkis-jobtype/pom.xml b/plugins/azkaban/linkis-jobtype/pom.xml index e0d2c983e..4f315b1d5 100644 --- a/plugins/azkaban/linkis-jobtype/pom.xml +++ b/plugins/azkaban/linkis-jobtype/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml linkis-jobtype diff --git a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml index 7cad1d645..7ba8ad2ba 100644 --- a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml +++ b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml index 894996923..86efe3cc3 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml index 434704ef6..8d01963a3 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../pom.xml diff --git a/plugins/dolphinscheduler/pom.xml b/plugins/dolphinscheduler/pom.xml index b18b53a21..b9e7d6c4d 100644 --- a/plugins/dolphinscheduler/pom.xml +++ b/plugins/dolphinscheduler/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/plugins/linkis/dss-gateway-support/pom.xml b/plugins/linkis/dss-gateway-support/pom.xml index 3e560b4a7..a1a55c5e2 100644 --- a/plugins/linkis/dss-gateway-support/pom.xml +++ b/plugins/linkis/dss-gateway-support/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 5074eaf02..e8a49e00f 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ pom com.webank.wedatasphere.dss dss - 1.1.0.21-SNAPSHOT + 1.3.0-SNAPSHOT dss-commons @@ -40,8 +40,8 @@ - 1.1.0.21-SNAPSHOT - 1.1.19-wds-SNAPSHOT + 1.3.0-SNAPSHOT + 1.3.0-wds 2.11.12 1.8 3.3.3 From 4bda5c8e3fc412039ccad3b90986a808ee8b689b Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Wed, 10 Apr 2024 16:01:35 +0800 Subject: [PATCH 020/302] openfile insterface add enableLimit params --- .../dss/apiservice/core/execute/ExecuteCodeHelper.java | 3 ++- .../apiservice/core/restful/ApiServiceExecuteRestfulApi.java | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/execute/ExecuteCodeHelper.java b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/execute/ExecuteCodeHelper.java index 19b030477..8cac07324 100644 --- a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/execute/ExecuteCodeHelper.java +++ b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/execute/ExecuteCodeHelper.java @@ -195,10 +195,11 @@ public static String getResultList(JobExecuteResult executeResult,UJESClient cl - public static String getResultContent(String user, String path, int maxSize, UJESClient client) { + public static String getResultContent(String user, String path, int maxSize, UJESClient client, boolean enableLimit) { return client.resultSet(ResultSetAction.builder() .setPath(path) .setUser(user) + .setEnableLimit(enableLimit) .setPageSize(maxSize).build()).getResponseBody(); } diff --git a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceExecuteRestfulApi.java b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceExecuteRestfulApi.java index f6a66fc6e..7a085b2ef 100644 --- a/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceExecuteRestfulApi.java +++ b/dss-apps/dss-apiservice-server/src/main/java/com/webank/wedatasphere/dss/apiservice/core/restful/ApiServiceExecuteRestfulApi.java @@ -173,7 +173,8 @@ public Message openFile(HttpServletRequest req, @RequestParam(required = false, name = "taskId") String taskId, @RequestParam(required = false, name = "page", defaultValue = "1") Integer page, @RequestParam(required = false, name = "pageSize", defaultValue = "5000") Integer pageSize, - @RequestParam(required = false, name = "charset", defaultValue = "utf-8") String charset) { + @RequestParam(required = false, name = "charset", defaultValue = "utf-8") String charset, + @RequestParam(required = false, name = "enableLimit", defaultValue = "false") Boolean enableLimit) { String userName = SecurityFilter.getLoginUsername(req); logger.info("User {} wants to open resultSet file {} in task {}.", userName, path, taskId); if (!isNumber(taskId)) { @@ -191,7 +192,7 @@ public Message openFile(HttpServletRequest req, } else if (userName.equals(apiServiceJob.getSubmitUser())) { UJESClient client = LinkisJobSubmit.getClient(); try { - String fileContent = ExecuteCodeHelper.getResultContent(apiServiceJob.getProxyUser(), path, pageSize, client); + String fileContent = ExecuteCodeHelper.getResultContent(apiServiceJob.getProxyUser(), path, pageSize, client,enableLimit); return DSSCommonUtils.COMMON_GSON.fromJson(fileContent, Message.class); } catch (Exception e) { logger.error("User {} fetch resultSet {} failed.", userName, path, e); From 4e46f1a450273673a7e7a6118480299758c00576 Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Wed, 10 Apr 2024 17:06:01 +0800 Subject: [PATCH 021/302] update linkis.version: 1.3.0-wds-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e8a49e00f..3df428933 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ 1.3.0-SNAPSHOT - 1.3.0-wds + 1.3.0-wds-SNAPSHOT 2.11.12 1.8 3.3.3 From 0c7a7d14d9cfc8e9331a0fe0bc153448190c71fa Mon Sep 17 00:00:00 2001 From: xlinliu Date: Wed, 10 Apr 2024 18:08:05 +0800 Subject: [PATCH 022/302] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=9F=BA=E4=BA=8E=E6=96=B0=E6=A0=BC=E5=BC=8F=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dss/common/utils/IoUtils.java | 62 ++++++- .../dss/common/utils/ZipHelper.java | 9 +- .../server/restful/OrchestratorIERestful.java | 4 +- .../receiver/DSSOrchestratorReceiver.scala | 4 +- .../publish/ExportDSSOrchestratorPlugin.java | 13 ++ .../publish/ImportDSSOrchestratorPlugin.java | 11 ++ .../impl/ExportDSSOrchestratorPluginImpl.java | 84 +++++++++ .../impl/ImportDSSOrchestratorPluginImpl.java | 137 ++++++++++++++ .../publish/io/export/MetaExportService.java | 1 + .../io/export/impl/MetaExportServiceImpl.java | 37 +++- .../publish/io/input/MetaInputService.java | 1 + .../io/input/impl/MetaInputServiceImpl.java | 20 ++- .../workflow/common/parser/NodeParser.java | 2 + .../dss/workflow/DefaultWorkFlowManager.java | 66 ++++++- .../dss/workflow/WorkFlowManager.java | 23 ++- .../workflow/io/export/MetaExportService.java | 1 + .../workflow/io/export/NodeExportService.java | 2 + .../io/export/WorkFlowExportService.java | 13 ++ .../io/export/impl/MetaExportServiceImpl.java | 19 +- .../io/export/impl/NodeExportServiceImpl.java | 57 ++++++ .../impl/WorkFlowExportServiceImpl.java | 169 +++++++++++++++++- .../workflow/io/input/MetaInputService.java | 2 + .../workflow/io/input/NodeInputService.java | 5 + .../io/input/WorkFlowInputService.java | 4 + .../io/input/impl/MetaInputServiceImpl.java | 27 ++- .../io/input/impl/NodeInputServiceImpl.java | 89 ++++++++- .../input/impl/WorkFlowInputServiceImpl.java | 151 +++++++++++++++- .../workflow/parser/DefaultNodeParser.java | 9 + .../receiver/DSSWorkflowReceiver.scala | 4 +- 29 files changed, 998 insertions(+), 28 deletions(-) diff --git a/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/IoUtils.java b/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/IoUtils.java index ab0610e61..555972a13 100644 --- a/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/IoUtils.java +++ b/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/IoUtils.java @@ -24,9 +24,7 @@ import java.io.*; import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.Properties; +import java.util.*; /** * IO通用类。提供对一次IO操作的临时目录创建、文件创建、IO流创建功能。 @@ -37,6 +35,7 @@ public class IoUtils { private static Logger logger = LoggerFactory.getLogger(IoUtils.class); private static final String DATE_FORMAT = "yyyyMMddHHmmssSSS"; private static final String DEFAULT_IO_FILE_NAME = "IO.properties"; + public static final String FLOW_META_DIRECTORY_NAME = ".metaConf"; /** * 生成一个基础目录,这个目录用于某次任务的临时文件目录 @@ -51,7 +50,62 @@ public static String generateIOPath(String userName,String projectName,String su return addFileSeparator(baseUrl, dataStr, userName, projectName, subDir); } - private static String addFileSeparator(String... str) { + public static List getSubdirectoriesNames(String directoryPath) { + File directory = new File(directoryPath); + File[] subdirectories = directory.listFiles(File::isDirectory); // 使用文件过滤器获取只有目录的File数组 + + List subdirectoriesNames = new ArrayList<>(); + if (subdirectories != null) { + for (File subdirectory : subdirectories) { + subdirectoriesNames.add(subdirectory.getName()); // 将目录名称添加到列表中 + } + } + return subdirectoriesNames; + } + + /** + * 生成一个临时目录 + * @param userName 用户名 + * @return 临时目录 + */ + public static String generateTempIOPath(String userName){ + String baseUrl = DSSCommonConf.DSS_EXPORT_URL.getValue(); + String dataStr = new SimpleDateFormat(DATE_FORMAT).format(new Date()); + return addFileSeparator(baseUrl, dataStr, userName); + } + + /** + * 生产一个项目文件夹 + * @param userName + * @param projectName + * @return + */ + public static String generateProjectIOPath(String userName,String projectName){ + String baseUrl = DSSCommonConf.DSS_EXPORT_URL.getValue(); + String dataStr = new SimpleDateFormat(DATE_FORMAT).format(new Date()); + return addFileSeparator(baseUrl, dataStr, userName, projectName); + } + + /** + * 生成一个工作流元数据目录,这个目录用于某次任务的临时文件目录 + */ + public static String generateFlowMetaIOPath(String projectPath,String flowName) { + String baseUrl = DSSCommonConf.DSS_EXPORT_URL.getValue(); + String dataStr = new SimpleDateFormat(DATE_FORMAT).format(new Date()); + return addFileSeparator(projectPath, FLOW_META_DIRECTORY_NAME,flowName); + } + + + /** + * 生成一个工作流代码目录,这个目录用于某次任务的临时文件目录 + */ + public static String generateFlowCodeIOPath(String projectPath,String flowName) { + String baseUrl = DSSCommonConf.DSS_EXPORT_URL.getValue(); + String dataStr = new SimpleDateFormat(DATE_FORMAT).format(new Date()); + return addFileSeparator(projectPath, flowName); + } + + public static String addFileSeparator(String... str) { return Arrays.stream(str).reduce((a, b) -> a + File.separator + b).orElse(""); } diff --git a/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/ZipHelper.java b/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/ZipHelper.java index 55652b6fb..75172dc14 100644 --- a/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/ZipHelper.java +++ b/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/utils/ZipHelper.java @@ -127,7 +127,11 @@ public static String zip(String dirPath, boolean deleteOriginDir)throws DSSError * @throws DSSErrorException 解压出现异常 */ - public static String unzip(String dirPath)throws DSSErrorException { + public static String unzip(String dirPath)throws DSSErrorException{ + return unzip(dirPath, false); + } + + public static String unzip(String dirPath,boolean deleteOriginZip)throws DSSErrorException { File file = new File(dirPath); if(!file.exists()){ logger.error("{} 不存在, 不能解压zip文件", dirPath); @@ -166,6 +170,9 @@ public static String unzip(String dirPath)throws DSSErrorException { if (exitCode != 0){ throw new DSSErrorException(90007,errMsg.toString()); } + if(deleteOriginZip){ + file.delete(); + } }catch(final Exception e){ logger.error("{} 解压缩 zip 文件失败, reason: ", e); DSSErrorException exception = new DSSErrorException(90009,dirPath + " to zip file failed"); diff --git a/dss-framework/dss-framework-orchestrator-server/src/main/java/com/webank/wedatasphere/dss/orchestrator/server/restful/OrchestratorIERestful.java b/dss-framework/dss-framework-orchestrator-server/src/main/java/com/webank/wedatasphere/dss/orchestrator/server/restful/OrchestratorIERestful.java index 29f36fd91..6149bf0e6 100644 --- a/dss-framework/dss-framework-orchestrator-server/src/main/java/com/webank/wedatasphere/dss/orchestrator/server/restful/OrchestratorIERestful.java +++ b/dss-framework/dss-framework-orchestrator-server/src/main/java/com/webank/wedatasphere/dss/orchestrator/server/restful/OrchestratorIERestful.java @@ -114,7 +114,7 @@ public Message importOrcFile(HttpServletRequest req, RequestImportOrchestrator importRequest = new RequestImportOrchestrator(userName, projectName, projectID, resultMap.getResourceId(), resultMap.getVersion(), null, dssLabelList, workspace); - dssOrchestratorVersion = orchestratorContext.getDSSOrchestratorPlugin(ImportDSSOrchestratorPlugin.class).importOrchestrator(importRequest); + dssOrchestratorVersion = orchestratorContext.getDSSOrchestratorPlugin(ImportDSSOrchestratorPlugin.class).importOrchestratorNew(importRequest); AuditLogUtils.printLog(userName, workspace.getWorkspaceId(), workspace.getWorkspaceName(), TargetTypeEnum.ORCHESTRATOR, projectID, projectName, OperateTypeEnum.CREATE, importRequest); } catch (Exception e) { @@ -153,7 +153,7 @@ public void exportOrcFile(HttpServletRequest req, OrchestratorFrameworkServiceImpl.validateOperation(orchestratorVo.getDssOrchestratorInfo().getProjectId(), userName); logger.info("export orchestrator orchestratorId " + orchestratorId + ",orcVersionId:" + orcVersionId); try { - res = orchestratorContext.getDSSOrchestratorPlugin(ExportDSSOrchestratorPlugin.class).exportOrchestrator(userName, + res = orchestratorContext.getDSSOrchestratorPlugin(ExportDSSOrchestratorPlugin.class).exportOrchestratorNew(userName, orchestratorId, orcVersionId, projectName, dssLabelList, addOrcVersion, workspace).getBmlResource(); AuditLogUtils.printLog(userName, workspace.getWorkspaceId(), workspace.getWorkspaceName(), TargetTypeEnum.ORCHESTRATOR, orcVersionId, orchestratorVo.getDssOrchestratorInfo().getName(), OperateTypeEnum.UPDATE, orchestratorVo); diff --git a/dss-framework/dss-framework-orchestrator-server/src/main/scala/com/webank/wedatasphere/dss/orchestrator/server/receiver/DSSOrchestratorReceiver.scala b/dss-framework/dss-framework-orchestrator-server/src/main/scala/com/webank/wedatasphere/dss/orchestrator/server/receiver/DSSOrchestratorReceiver.scala index 25add1c6e..6044b61da 100644 --- a/dss-framework/dss-framework-orchestrator-server/src/main/scala/com/webank/wedatasphere/dss/orchestrator/server/receiver/DSSOrchestratorReceiver.scala +++ b/dss-framework/dss-framework-orchestrator-server/src/main/scala/com/webank/wedatasphere/dss/orchestrator/server/receiver/DSSOrchestratorReceiver.scala @@ -40,7 +40,7 @@ class DSSOrchestratorReceiver(orchestratorService: OrchestratorService, orchestr override def receiveAndReply(message: Any, sender: Sender): Any = message match { case reqExportOrchestrator: RequestExportOrchestrator => - val dssExportOrcResource: OrchestratorExportResult = orchestratorContext.getDSSOrchestratorPlugin(classOf[ExportDSSOrchestratorPlugin]).exportOrchestrator( + val dssExportOrcResource: OrchestratorExportResult = orchestratorContext.getDSSOrchestratorPlugin(classOf[ExportDSSOrchestratorPlugin]).exportOrchestratorNew( reqExportOrchestrator.getUserName, reqExportOrchestrator.getOrchestratorId, reqExportOrchestrator.getOrcVersionId, @@ -53,7 +53,7 @@ class DSSOrchestratorReceiver(orchestratorService: OrchestratorService, orchestr ) case requestImportOrchestrator: RequestImportOrchestrator => - val dssOrchestratorVersion = orchestratorContext.getDSSOrchestratorPlugin(classOf[ImportDSSOrchestratorPlugin]).importOrchestrator(requestImportOrchestrator) + val dssOrchestratorVersion = orchestratorContext.getDSSOrchestratorPlugin(classOf[ImportDSSOrchestratorPlugin]).importOrchestratorNew(requestImportOrchestrator) ResponseImportOrchestrator(dssOrchestratorVersion.getOrchestratorId,dssOrchestratorVersion.getVersion) case addVersionAfterPublish: RequestAddVersionAfterPublish => diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ExportDSSOrchestratorPlugin.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ExportDSSOrchestratorPlugin.java index d2130b45f..ebe3bb967 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ExportDSSOrchestratorPlugin.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ExportDSSOrchestratorPlugin.java @@ -39,6 +39,19 @@ OrchestratorExportResult exportOrchestrator(String userName, String projectName, List dssLabels, boolean addOrcVersion, Workspace workspace) throws DSSErrorException; + + /** + * 导出Orchestrator基本信息和工作流,并放到BML中。 + * 注意:导入导出接口只适合于不同环境下,先从A环境导出工作流,再导入到B环境的情况。 + * 不适合用于在同一环境下的复制。同一环境的复制操作需使用copyOperation。 + * @param addOrcVersion 导出之后,是否要升级一个版本 + */ + OrchestratorExportResult exportOrchestratorNew(String userName, + Long orchestratorId, + Long orcVersionId, + String projectName, + List dssLabels, + boolean addOrcVersion, Workspace workspace) throws DSSErrorException; Long orchestratorVersionIncrease(Long orcId, String userName, String comment, diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ImportDSSOrchestratorPlugin.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ImportDSSOrchestratorPlugin.java index bb09a55cf..455fbc7dd 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ImportDSSOrchestratorPlugin.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/ImportDSSOrchestratorPlugin.java @@ -28,6 +28,17 @@ public interface ImportDSSOrchestratorPlugin extends DSSOrchestratorPlugin { + /** + * 导入Orchestrator + * 注意:导入导出接口只适合于不同环境下,先从A环境导出工作流,再导入到B环境的情况。 + * 不适合用于在同一环境下的复制。同一环境的复制操作需使用copyOperation。 + * @param requestImportOrchestrator + * @return + * @throws DSSErrorException + * @throws IOException + * @throws ExternalOperationFailedException + */ + DSSOrchestratorVersion importOrchestratorNew(RequestImportOrchestrator requestImportOrchestrator) throws Exception; /** * 导入Orchestrator diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ExportDSSOrchestratorPluginImpl.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ExportDSSOrchestratorPluginImpl.java index de33c0cdc..ba3eeebad 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ExportDSSOrchestratorPluginImpl.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ExportDSSOrchestratorPluginImpl.java @@ -64,6 +64,7 @@ import java.util.function.BiFunction; import java.util.function.Consumer; +import static com.webank.wedatasphere.dss.common.utils.ZipHelper.unzip; import static com.webank.wedatasphere.dss.common.utils.ZipHelper.zip; @@ -87,6 +88,88 @@ public class ExportDSSOrchestratorPluginImpl extends AbstractDSSOrchestratorPlug @Autowired AddOrchestratorVersionHook addOrchestratorVersionHook; + @Override + public OrchestratorExportResult exportOrchestratorNew(String userName, Long orchestratorId, Long orcVersionId, String projectName, + List dssLabels, boolean addOrcVersion, Workspace workspace) throws DSSErrorException { + //1、导出info信息 + if (orcVersionId == null || orcVersionId < 0){ + LOGGER.info("orchestratorVersionId is {}.", orcVersionId); + //最简单的就是通过orcId来找到最新的versionId + orcVersionId = orchestratorMapper.findLatestOrcVersionId(orchestratorId); + } + DSSOrchestratorVersion dssOrchestratorVersion = orchestratorMapper.getOrchestratorVersion(orcVersionId); + DSSOrchestratorInfo dssOrchestratorInfo = orchestratorMapper.getOrchestrator(dssOrchestratorVersion.getOrchestratorId()); + String orcName = dssOrchestratorInfo.getName(); + if (dssOrchestratorInfo != null) { + + LOGGER.info("{} 开始导出Orchestrator: {} 版本ID为: {}.", userName, dssOrchestratorInfo.getName(), orcVersionId); + + //2、导出第三方应用信息,如工作流、Visualis、Qualitis + DSSOrchestrator dssOrchestrator = orchestratorManager.getOrCreateOrchestrator(userName, workspace.getWorkspaceName(), dssOrchestratorInfo.getType(), + dssLabels); + //定义操作结果处理器 + BiFunction responseRefConsumer = (developmentOperation, developmentRequestRef) -> { + RefJobContentRequestRef requestRef = (RefJobContentRequestRef) developmentRequestRef; + requestRef.setRefJobContent(MapUtils.newCommonMap(OrchestratorRefConstant.ORCHESTRATION_ID_KEY, dssOrchestratorVersion.getAppId())); + return ((RefExportOperation) developmentOperation).exportRef(requestRef); + }; + //定义项目相关的处理器,处着编排的RequestRef的项目相关信息 + Consumer projectRefRequestRefConsumer = projectRefRequestRef -> projectRefRequestRef.setProjectName(projectName).setRefProjectId(dssOrchestratorVersion.getProjectId()); + + ExportResponseRef responseRef = OrchestrationDevelopmentOperationUtils.tryOrchestrationOperation( + dssOrchestratorInfo, + dssOrchestrator, + userName, + workspace, + dssLabels, + //指明DevelopmentService是RefExportService + DevelopmentIntegrationStandard::getRefExportService, + //指明operation是ExportOperation + developmentService -> ((RefExportService) developmentService).getRefExportOperation(), + null, + projectRefRequestRefConsumer, + responseRefConsumer, + "export"); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu + String tmpPath = IoUtils.generateTempIOPath(userName); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/projectxxx.zip + String flowZipPath = IoUtils.addFileSeparator(tmpPath, projectName + ".zip"); + + String resourceId = (String) responseRef.getResourceMap().get(ImportRequestRef.RESOURCE_ID_KEY); + String version = (String) responseRef.getResourceMap().get(ImportRequestRef.RESOURCE_VERSION_KEY); + bmlService.downloadToLocalPath(userName, resourceId, version, flowZipPath); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/projectxxx + String projectPath = unzip(flowZipPath,true); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/projectxxx/.flowmeta/flow_all_type_node/ + String flowMetaPath = IoUtils.generateFlowMetaIOPath(projectPath, orcName); + + try { + metaExportService.exportNew(dssOrchestratorInfo, flowMetaPath); + } catch (IOException e) { + LOGGER.error("Failed to export metaInfo in orchestrator server for orc({}) in version {}.", orchestratorId, orcVersionId, e); + DSSExceptionUtils.dealErrorException(60099, "Failed to export metaInfo in orchestrator server.", e, DSSOrchestratorErrorException.class); + } + + //打包导出工程 + String exportPath = zip(projectPath); + + //3、打包新的zip包上传BML + InputStream inputStream = bmlService.readLocalResourceFile(userName, exportPath); + BmlResource uploadResult = bmlService.upload(userName, inputStream, + dssOrchestratorInfo.getName() + ".OrcExport", projectName); + + //4、判断导出后是否改变Orc的版本 + if (addOrcVersion) { + orcVersionId = orchestratorVersionIncrease(dssOrchestratorInfo.getId(), + userName, dssOrchestratorInfo.getComment(), + workspace, dssOrchestratorInfo, projectName, dssLabels); + } + return new OrchestratorExportResult(uploadResult,String.valueOf(orcVersionId)); + //4、返回BML存储信息 + } else { + throw new DSSErrorException(90038, "该Orchestrator的版本号不存在,请检查版本号是否正确."); + } + } @Override public OrchestratorExportResult exportOrchestrator(String userName, Long orchestratorId, Long orcVersionId, String projectName, List dssLabels, boolean addOrcVersion, Workspace workspace) throws DSSErrorException { @@ -99,6 +182,7 @@ public OrchestratorExportResult exportOrchestrator(String userName, Long orchest DSSOrchestratorVersion dssOrchestratorVersion = orchestratorMapper.getOrchestratorVersion(orcVersionId); DSSOrchestratorInfo dssOrchestratorInfo = orchestratorMapper.getOrchestrator(dssOrchestratorVersion.getOrchestratorId()); if (dssOrchestratorInfo != null) { + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/default_orc/ String orcExportSaveBasePath = IoUtils.generateIOPath(userName, DEFAULT_ORC_NAME, ""); try { Files.createDirectories(Paths.get(orcExportSaveBasePath).toAbsolutePath().normalize()); diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ImportDSSOrchestratorPluginImpl.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ImportDSSOrchestratorPluginImpl.java index 8531c8312..1551327d0 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ImportDSSOrchestratorPluginImpl.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/impl/ImportDSSOrchestratorPluginImpl.java @@ -18,6 +18,7 @@ import com.webank.wedatasphere.dss.common.entity.BmlResource; import com.webank.wedatasphere.dss.common.exception.DSSErrorException; +import com.webank.wedatasphere.dss.common.exception.DSSRuntimeException; import com.webank.wedatasphere.dss.common.label.DSSLabel; import com.webank.wedatasphere.dss.common.label.DSSLabelUtil; import com.webank.wedatasphere.dss.common.utils.*; @@ -55,6 +56,7 @@ import java.util.List; import java.util.UUID; +import static com.webank.wedatasphere.dss.common.utils.IoUtils.FLOW_META_DIRECTORY_NAME; import static com.webank.wedatasphere.dss.orchestrator.publish.impl.ExportDSSOrchestratorPluginImpl.DEFAULT_ORC_NAME; @@ -80,6 +82,141 @@ public class ImportDSSOrchestratorPluginImpl extends AbstractDSSOrchestratorPlug @Autowired private AddOrchestratorVersionHook addOrchestratorVersionHook; + @Override + public DSSOrchestratorVersion importOrchestratorNew(RequestImportOrchestrator requestImportOrchestrator) throws Exception { + String userName = requestImportOrchestrator.getUserName(); + String projectName = requestImportOrchestrator.getProjectName(); + Long projectId = requestImportOrchestrator.getProjectId(); + String resourceId = requestImportOrchestrator.getResourceId(); + String version = requestImportOrchestrator.getBmlVersion(); + List dssLabels = requestImportOrchestrator.getDssLabels(); + Workspace workspace = requestImportOrchestrator.getWorkspace(); + + //1、下载BML的Orchestrator的导入包 + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu + String tempPath = IoUtils.generateTempIOPath(userName); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/projectxxx.zip + String inputZipPath = IoUtils.addFileSeparator(tempPath, projectName + ".zip"); + bmlService.downloadToLocalPath(userName, resourceId, version, inputZipPath); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/projectxxx + String projectPath = ZipHelper.unzip(inputZipPath,true); + String flowName = IoUtils.getSubdirectoriesNames(projectPath).stream().filter(name -> !name.startsWith(".")) + .findFirst().orElseThrow(() -> new DSSRuntimeException("import package has no flow(未导入任何工作流,请检查导入包格式)")); + String flowMetaPath = IoUtils.addFileSeparator(projectPath, FLOW_META_DIRECTORY_NAME, flowName); + + //2、导入Info信息(导入冲突处理) + DSSOrchestratorInfo importDssOrchestratorInfo = metaInputService.importOrchestratorNew(flowMetaPath); + importDssOrchestratorInfo.setProjectId(projectId); + //复制工程,直接使用新的UUID和复制后的工程ID + if (requestImportOrchestrator.getCopyProjectId() != null + && StringUtils.isNotBlank(requestImportOrchestrator.getCopyProjectName())) { + projectId = requestImportOrchestrator.getCopyProjectId(); + importDssOrchestratorInfo.setProjectId(projectId); + importDssOrchestratorInfo.setUUID(UUID.randomUUID().toString()); + } + //根据工程ID和编排名称查询 + String uuid = orchestratorMapper.getOrcNameByParam(importDssOrchestratorInfo.getProjectId(), importDssOrchestratorInfo.getName()); + //通过UUID查找是否已经导入过 + DSSOrchestratorInfo existFlag = orchestratorMapper.getOrchestratorByUUID(importDssOrchestratorInfo.getUUID()); + //add 和update都需要更新成当前环境id信息,放到新的版本记录中 + //todo 跨环境必须保证工程ID一样,或者需要更新导入包中的所有工程ID为当前最新ID,不一致的话关系到上下文、第三方工程的映射问题 + if (null != existFlag) { + //判断是否存在相同名称的编排 + if (StringUtils.isNotBlank(uuid) && !uuid.equals(importDssOrchestratorInfo.getUUID())) { + DSSExceptionUtils + .dealErrorException(61002, "The same orchestration name already exists", DSSErrorException.class); + } + importDssOrchestratorInfo.setId(existFlag.getId()); + } else { + //判断是否存在相同名称的编排 + if (StringUtils.isNotBlank(uuid)) { + DSSExceptionUtils + .dealErrorException(61002, "The same orchestration name already exists", DSSErrorException.class); + } + //使用生产环境的id + importDssOrchestratorInfo.setId(null); + importDssOrchestratorInfo.setCreator(userName); + importDssOrchestratorInfo.setCreateTime(new Date()); + //兼容 + if (importDssOrchestratorInfo.getWorkspaceId() == null) { + importDssOrchestratorInfo.setWorkspaceId(workspace.getWorkspaceId()); + } + if (StringUtils.isEmpty(importDssOrchestratorInfo.getOrchestratorMode())) { + importDssOrchestratorInfo.setOrchestratorMode("pom_work_flow"); + } + if (StringUtils.isEmpty(importDssOrchestratorInfo.getOrchestratorWay())) { + importDssOrchestratorInfo.setOrchestratorWay(",pom_work_flow_DAG,"); + } + } + + //4、导入版本Version信息 + DSSOrchestratorVersion dssOrchestratorVersion = new DSSOrchestratorVersion(); + dssOrchestratorVersion.setAppId(null); + dssOrchestratorVersion.setComment("orchestrator import"); + dssOrchestratorVersion.setOrchestratorId(importDssOrchestratorInfo.getId()); + dssOrchestratorVersion.setContent(""); + dssOrchestratorVersion.setProjectId(projectId); + dssOrchestratorVersion.setSource("Orchestrator create"); + dssOrchestratorVersion.setUpdater(userName); + //生产导入:默认是为无效,除非开启直接有效(在生成环境独立部署的时候,导入和发布是分开的);开发环境为有效 + int valid = DSSOrchestratorConf.DSS_IMPORT_VALID_IMMEDIATELY.getValue() || DSSLabelUtil.isDevEnv(dssLabels) ? 1 : 0; + dssOrchestratorVersion.setValidFlag(valid); + + DSSOrchestratorVersion oldVersion = orchestratorMapper.getLatestOrchestratorVersionByIdAndValidFlag(importDssOrchestratorInfo.getId(), 1); + if (oldVersion!=null) { + dssOrchestratorVersion.setVersion(OrchestratorUtils.increaseVersion(oldVersion.getVersion())); + } else { + dssOrchestratorVersion.setVersion(OrchestratorUtils.generateNewVersion()); + } + + //5、生成上下文ContextId + String contextId = contextService.createContextID(workspace.getWorkspaceName(), projectName, importDssOrchestratorInfo.getName(), dssOrchestratorVersion.getVersion(), userName); + dssOrchestratorVersion.setFormatContextId(contextId); + LOGGER.info("Create a new ContextId for import: {} ", contextId); + + //6、导入第三方应用信息,如工作流、Visualis、Qualities + DSSOrchestrator dssOrchestrator = orchestratorManager.getOrCreateOrchestrator(userName, + workspace.getWorkspaceName(), importDssOrchestratorInfo.getType(), dssLabels); + Long finalProjectId = projectId; + RefJobContentResponseRef responseRef = OrchestrationDevelopmentOperationUtils.tryOrchestrationOperation(importDssOrchestratorInfo, + dssOrchestrator, userName, workspace, dssLabels, + DevelopmentIntegrationStandard::getRefImportService, + developmentService -> ((RefImportService) developmentService).getRefImportOperation(), + dssContextRequestRef -> dssContextRequestRef.setContextId(contextId), + projectRefRequestRef -> projectRefRequestRef.setRefProjectId(finalProjectId).setProjectName(projectName), + (developmentOperation, developmentRequestRef) -> { + ImportRequestRef requestRef = (ImportRequestRef) developmentRequestRef; + requestRef.setResourceMap(MapUtils.newCommonMap(ImportRequestRef.RESOURCE_ID_KEY, resourceId, ImportRequestRef.RESOURCE_VERSION_KEY, version)); + requestRef.setNewVersion(dssOrchestratorVersion.getVersion()); + return ((RefImportOperation) developmentOperation).importRef(requestRef); + }, "import"); + long orchestrationId = (Long) responseRef.getRefJobContent().get(OrchestratorRefConstant.ORCHESTRATION_ID_KEY); + String orchestrationContent = (String) responseRef.getRefJobContent().get(OrchestratorRefConstant.ORCHESTRATION_CONTENT_KEY); + List paramConfTemplateIds = (List) responseRef.getRefJobContent().get(OrchestratorRefConstant.ORCHESTRATION_FLOWID_PARAMCONF_TEMPLATEID_TUPLES_KEY); + if(null != existFlag){ + if(oldVersion!=null) { + //如果生产中心的所有orc版本的valid_flag都是0(之前的所有发布都在convert期间失败了),那么oldVersion是为空的。 + addOrchestratorVersionHook.beforeAdd(oldVersion, Collections.emptyMap()); + } + //如果Orchestrator已经导入过,目前只更新版本信息,并更新基础信息name,其它信息不修改。 + orchestratorMapper.updateOrchestrator(importDssOrchestratorInfo); + }else{ + orchestratorMapper.addOrchestrator(importDssOrchestratorInfo); + } + + //更新返回內容 + dssOrchestratorVersion.setUpdateTime(new Date()); + dssOrchestratorVersion.setAppId(orchestrationId); + dssOrchestratorVersion.setContent(orchestrationContent); + dssOrchestratorVersion.setOrchestratorId(importDssOrchestratorInfo.getId()); + + orchestratorMapper.addOrchestratorVersion(dssOrchestratorVersion); + addOrchestratorVersionHook.afterAdd(dssOrchestratorVersion, Collections.singletonMap(OrchestratorRefConstant.ORCHESTRATION_FLOWID_PARAMCONF_TEMPLATEID_TUPLES_KEY,paramConfTemplateIds)); + LOGGER.info("import orchestrator success,orcId:{},appId:{}",importDssOrchestratorInfo.getId(),orchestrationId); + + return dssOrchestratorVersion; + } + @Override public DSSOrchestratorVersion importOrchestrator(RequestImportOrchestrator requestImportOrchestrator) throws Exception { String userName = requestImportOrchestrator.getUserName(); diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/MetaExportService.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/MetaExportService.java index 01afcd2b8..4a34b276d 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/MetaExportService.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/MetaExportService.java @@ -35,6 +35,7 @@ public interface MetaExportService { * @throws IOException */ void export(DSSOrchestratorInfo dssOrchestratorInfo, String savePath) throws IOException; + void exportNew(DSSOrchestratorInfo dssOrchestratorInfo, String savePath) throws IOException; void exportFlowBaseInfo(List allDSSFlows, List allFlowRelations, String savePath) throws IOException; diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/impl/MetaExportServiceImpl.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/impl/MetaExportServiceImpl.java index fc6d20153..4f0092ca0 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/impl/MetaExportServiceImpl.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/export/impl/MetaExportServiceImpl.java @@ -17,6 +17,9 @@ package com.webank.wedatasphere.dss.orchestrator.publish.io.export.impl; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.webank.wedatasphere.dss.common.utils.IoUtils; import com.webank.wedatasphere.dss.orchestrator.common.entity.DSSOrchestratorInfo; import com.webank.wedatasphere.dss.orchestrator.publish.io.export.MetaExportService; @@ -33,12 +36,42 @@ @Service("orcMetaExportService") public class MetaExportServiceImpl implements MetaExportService { + public static final String ORCHESTRATOR_META_KEY = "dss_orchestrator"; + public static final String FLOW_META_FILE_NAME = ".flowmeta"; private Logger logger = LoggerFactory.getLogger(this.getClass()); - - private final String fileName = "meta.txt"; + @Override + public void exportNew(DSSOrchestratorInfo dssOrchestratorInfo, String flowMetaPath) throws IOException { + File flowMetaFile = new File(flowMetaPath + File.separator + FLOW_META_FILE_NAME); + Gson gson = new Gson(); + + if (flowMetaFile.exists()) { + // 初始化JsonObject为null + JsonObject jsonObject = null; + // 先读取现有内容 + try (FileReader reader = new FileReader(flowMetaFile)) { + jsonObject = new JsonParser().parse(reader).getAsJsonObject(); + } // try-with-resources会自动关闭reader + // 更新JsonObject + if (jsonObject != null) { + jsonObject.add(ORCHESTRATOR_META_KEY, gson.toJsonTree(dssOrchestratorInfo)); + } + + // 写回修改后的内容 + try (FileWriter writer = new FileWriter(flowMetaFile)) { + gson.toJson(jsonObject, writer); + } // try-with-resources会自动关闭writer + + System.out.println("JSON文件已更新并保存。"); + } else { + // 文件不存在,直接创建并写入orchestratorInfo信息 + try (FileWriter writer = new FileWriter(flowMetaFile)) { + gson.toJson(dssOrchestratorInfo, writer); + } // try-with-resources会自动关闭writer + } + } @Override public void export(DSSOrchestratorInfo dssOrchestratorInfo, String savePath) throws IOException { diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/MetaInputService.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/MetaInputService.java index a672c6c4f..f8b66af03 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/MetaInputService.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/MetaInputService.java @@ -32,6 +32,7 @@ public interface MetaInputService { List importOrchestrator(String basePath) throws IOException; + DSSOrchestratorInfo importOrchestratorNew(String flowMetaPath) throws IOException; List inputFlow(String basePath) throws IOException; diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/impl/MetaInputServiceImpl.java b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/impl/MetaInputServiceImpl.java index 2691959d8..124b00561 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/impl/MetaInputServiceImpl.java +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/src/main/java/com/webank/wedatasphere/dss/orchestrator/publish/io/input/impl/MetaInputServiceImpl.java @@ -17,6 +17,9 @@ package com.webank.wedatasphere.dss.orchestrator.publish.io.input.impl; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import com.webank.wedatasphere.dss.common.utils.IoUtils; import com.webank.wedatasphere.dss.orchestrator.common.entity.DSSOrchestratorInfo; import com.webank.wedatasphere.dss.orchestrator.publish.io.input.MetaInputService; @@ -26,12 +29,11 @@ import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlowRelation; import org.springframework.stereotype.Service; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.util.List; +import static com.webank.wedatasphere.dss.orchestrator.publish.io.export.impl.MetaExportServiceImpl.*; + @Service("orcMetaInputService") public class MetaInputServiceImpl implements MetaInputService { @@ -40,6 +42,16 @@ public class MetaInputServiceImpl implements MetaInputService { private final String fileName = "meta.txt"; + @Override + public DSSOrchestratorInfo importOrchestratorNew( String flowMetaPath) throws IOException { + File flowMetaFile = new File(flowMetaPath + File.separator + FLOW_META_FILE_NAME); + JsonParser jsonParser = new JsonParser(); + Gson gson = new Gson(); + try (FileReader reader = new FileReader(flowMetaFile)) { + JsonObject jsonObject = jsonParser.parse(reader).getAsJsonObject(); + return gson.fromJson(jsonObject.get(ORCHESTRATOR_META_KEY), DSSOrchestratorInfo.class); + } + } @Override public List importOrchestrator(String basePath) throws IOException { try (InputStream inputStream = generateInputstream(basePath)) { diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/src/main/java/com/webank/wedatasphere/dss/workflow/common/parser/NodeParser.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/src/main/java/com/webank/wedatasphere/dss/workflow/common/parser/NodeParser.java index 53721e040..3745b9839 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/src/main/java/com/webank/wedatasphere/dss/workflow/common/parser/NodeParser.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/src/main/java/com/webank/wedatasphere/dss/workflow/common/parser/NodeParser.java @@ -30,4 +30,6 @@ public interface NodeParser { String updateSubFlowID(String nodeJson, long subflowId) throws IOException; String getNodeValue(String key, String nodeJson) throws IOException; List getNodeResource(String nodeJson); + + Map getNodeJobContent(String nodeJson) throws IOException; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java index 29b649069..0629e3444 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/DefaultWorkFlowManager.java @@ -77,6 +77,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; +import static com.webank.wedatasphere.dss.common.utils.IoUtils.FLOW_META_DIRECTORY_NAME; import static com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant.DEFAULT_SCHEDULER_APP_CONN; @Component @@ -200,7 +201,17 @@ public ResponseUnlockWorkflow unlockWorkflow(String userName, Long flowId, Boole DSSFlowEditLockManager.deleteLock(editLock.getLockContent()); return new ResponseUnlockWorkflow(ResponseUnlockWorkflow.UNLOCK_SUCCESS, null); } - + @Override + public BmlResource exportWorkflowNew(String userName, Long flowId, Long dssProjectId, + String projectName, Workspace workspace, + List dssLabels) throws Exception { + DSSFlow dssFlow = flowService.getFlowByID(flowId); + String exportPath = workFlowExportService.exportFlowInfoNew(dssProjectId, projectName, flowId, userName, workspace, dssLabels); + InputStream inputStream = bmlService.readLocalResourceFile(userName, exportPath); + BmlResource bmlResource = bmlService.upload(userName, inputStream, dssFlow.getName() + ".export", projectName); + logger.info("export workflow success. flowId:{},bmlResource:{} .",flowId,bmlResource); + return bmlResource; + } @Override public BmlResource exportWorkflow(String userName, Long flowId, Long dssProjectId, String projectName, Workspace workspace, @@ -212,6 +223,59 @@ public BmlResource exportWorkflow(String userName, Long flowId, Long dssProjectI logger.info("export workflow success. flowId:{},bmlResource:{} .",flowId,bmlResource); return bmlResource; } + @Override + public List importWorkflowNew(String userName, + String resourceId, + String bmlVersion, + DSSFlowImportParam dssFlowImportParam, + List dssLabels) throws DSSErrorException, IOException { + + //todo download workflow bml file contains flowInfo and flowRelationInfo + String projectName = dssFlowImportParam.getProjectName(); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu + String tempPath = IoUtils.generateTempIOPath(userName); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/arionliu/projectxxx.zip + String inputZipPath = IoUtils.addFileSeparator(tempPath, projectName + ".zip"); + bmlService.downloadToLocalPath(userName, resourceId, bmlVersion, inputZipPath); + try{ + String originProjectName=readImportZipProjectName(inputZipPath); + if(!projectName.equals(originProjectName)){ + String msg=String.format("target project name must be same with origin project name.origin project name:%s,target project name:%s(导入的目标工程名必须与导出时源工程名保持一致。源工程名:%s,目标工程名:%s)" + ,originProjectName,projectName,originProjectName,projectName); + throw new DSSRuntimeException(msg); + } + }catch (IOException e){ + throw new DSSRuntimeException("upload file format error(导入包格式错误)"); + } + String projectPath = ZipHelper.unzip(inputZipPath,true); + String flowName = IoUtils.getSubdirectoriesNames(projectPath).stream().filter(name -> !name.startsWith(".")) + .findFirst().orElseThrow(() -> new DSSRuntimeException("import package has no flow(未导入任何工作流,请检查导入包格式)")); + String flowMetaPath=IoUtils.addFileSeparator(projectPath, FLOW_META_DIRECTORY_NAME, flowName); + ImmutablePair,List> meta= metaInputService.inputFlowNew(flowMetaPath); + //导入工作流数据库信息 + List dssFlows = meta.getKey(); + //导入工作流关系信息 + List dwsFlowRelations = meta.getValue(); + + List dwsFlowRelationList = workFlowInputService.persistenceFlow(dssFlowImportParam.getProjectID(), + dssFlowImportParam.getUserName(), + dssFlows, + dwsFlowRelations); + //这里其实只会有1个元素 + List rootFlows = dwsFlowRelationList.stream().filter(DSSFlow::getRootFlow).collect(Collectors.toList()); + for (DSSFlow rootFlow : rootFlows) { + String flowCodePath0=IoUtils.addFileSeparator(projectPath, rootFlow.getName()); + String flowMetaPath0=IoUtils.addFileSeparator(projectPath, FLOW_META_DIRECTORY_NAME, rootFlow.getName()); + workFlowInputService.inputWorkFlowNew(dssFlowImportParam.getUserName(), + rootFlow, + projectName, + flowCodePath0, + flowMetaPath0,null, dssFlowImportParam.getWorkspace(), dssFlowImportParam.getOrcVersion(), + dssFlowImportParam.getContextId(), dssLabels); + } + logger.info("import workflow success.orcVersion:{},context Id:{}", dssFlowImportParam.getOrcVersion(), dssFlowImportParam.getContextId()); + return rootFlows; + } @Override public List importWorkflow(String userName, diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/WorkFlowManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/WorkFlowManager.java index 281e3405a..cfae4c644 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/WorkFlowManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/WorkFlowManager.java @@ -96,7 +96,23 @@ void deleteWorkflow(String userName, Long flowID) throws DSSErrorException; ResponseUnlockWorkflow unlockWorkflow(String userName, Long flowId, Boolean confirmDelete) throws DSSErrorException; - + /** + * 导出工作流 + * @param userName + * @param flowID + * @param dssProjectId + * @param projectName + * @param workspace + * @param dssLabels + * @return 导出的工作流,以Bml资源的形式返回 + * @throws Exception + */ + BmlResource exportWorkflowNew(String userName, + Long flowID, + Long dssProjectId, + String projectName, + Workspace workspace, + List dssLabels) throws Exception; /** * 导出工作流 * @param userName @@ -115,6 +131,11 @@ BmlResource exportWorkflow(String userName, Workspace workspace, List dssLabels) throws Exception; + List importWorkflowNew(String userName, + String resourceId, + String bmlVersion, + DSSFlowImportParam dssFlowImportParam, + List dssLabels) throws Exception; List importWorkflow(String userName, String resourceId, String bmlVersion, diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/MetaExportService.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/MetaExportService.java index 87216241d..47a47ff09 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/MetaExportService.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/MetaExportService.java @@ -26,5 +26,6 @@ public interface MetaExportService { void exportFlowBaseInfo(List allDSSFlows, List allFlowRelations, String savePath) throws IOException; + void exportFlowBaseInfoNew(List allDSSFlows, List allFlowRelations, String savePath) throws IOException; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/NodeExportService.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/NodeExportService.java index 8aa063b23..f472e96df 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/NodeExportService.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/NodeExportService.java @@ -25,4 +25,6 @@ public interface NodeExportService { void downloadNodeResourceToLocal(String userName, DSSNode dwsNode, String savePath); void downloadAppConnResourceToLocal(String userName, Long projectId, String projectName, DSSNode dwsNode, String savePath, Workspace workspace, List dssLabels) throws Exception; + void downloadNodeResourceToLocalNew(String userName, DSSNode dwsNode, String flowCodePath); + void downloadAppConnResourceToLocalNew(String userName, Long projectId, String projectName, DSSNode dwsNode, String flowCodePath, Workspace workspace, List dssLabels) throws Exception; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/WorkFlowExportService.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/WorkFlowExportService.java index 55eef0064..9a5a7deb1 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/WorkFlowExportService.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/WorkFlowExportService.java @@ -22,6 +22,19 @@ import java.util.List; public interface WorkFlowExportService { + /** + * 将一个工作流导出成压缩包,存放到本地磁盘,并返回压缩包的路径 + * @param dssProjectId 所属工作空间id + * @param projectName 所属项目名称 + * @param rootFlowId 工作流根节点id + * @param userName 用户名 + * @param workspace 所属工作空间 + * @param dssLabels label列表 + * @return 导出的工作流压缩包的文件地址 + * @throws Exception + */ + String exportFlowInfoNew(Long dssProjectId, String projectName, long rootFlowId, String userName, Workspace workspace, List dssLabels) throws Exception; + /** * 将一个工作流导出成压缩包,存放到本地磁盘,并返回压缩包的路径 * @param dssProjectId 所属工作空间id diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/MetaExportServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/MetaExportServiceImpl.java index 263c2d05d..c6df01590 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/MetaExportServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/MetaExportServiceImpl.java @@ -16,6 +16,7 @@ package com.webank.wedatasphere.dss.workflow.io.export.impl; +import com.webank.wedatasphere.dss.common.utils.DSSCommonUtils; import com.webank.wedatasphere.dss.common.utils.IoUtils; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlow; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlowRelation; @@ -25,17 +26,33 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import java.io.*; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service public class MetaExportServiceImpl implements MetaExportService { private Logger logger = LoggerFactory.getLogger(this.getClass()); - + public static final String FLOW_META_FILE_NAME = ".flowmeta"; + public static final String FLOW_META_KEY = "dss_flow"; + public static final String FLOW_RELATION_META_KEY = "dss_flow_relation"; private final String fileName = "meta.txt"; + @Override + public void exportFlowBaseInfoNew(List allDSSFlows, List allFlowRelations, String savePath) throws IOException { + try ( + OutputStream outputStream = IoUtils.generateExportOutputStream(savePath + File.separator + FLOW_META_FILE_NAME) + ) { + Map flowMetaMap = new HashMap<>(2); + flowMetaMap.put(FLOW_META_KEY, allDSSFlows); + flowMetaMap.put(FLOW_RELATION_META_KEY, allFlowRelations); + String flowMetaStr = DSSCommonUtils.COMMON_GSON.toJson(flowMetaMap); + org.apache.commons.io.IOUtils.write(flowMetaStr,outputStream,"UTF-8"); + } + } @Override public void exportFlowBaseInfo(List allDSSFlows, List allFlowRelations, String savePath) throws IOException { diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/NodeExportServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/NodeExportServiceImpl.java index 0e4aca71e..bc9ed04e5 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/NodeExportServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/NodeExportServiceImpl.java @@ -40,11 +40,13 @@ import java.io.InputStream; import java.util.List; import java.util.Map; +import java.util.Optional; @Service public class NodeExportServiceImpl implements NodeExportService { + public static final String APPCONN_FILE_NAME = ".appconnre"; private final Logger LOGGER = LoggerFactory.getLogger(this.getClass()); @Autowired @@ -55,6 +57,61 @@ public class NodeExportServiceImpl implements NodeExportService { @Autowired private WorkflowNodeService workflowNodeService; + @Override + public void downloadNodeResourceToLocalNew(String userName, DSSNode dwsNode, String flowCodePath) { + List resources = dwsNode.getResources(); + String scriptName = Optional.ofNullable(dwsNode.getJobContent()).map(jobContent -> jobContent.get("script")) + .map(Object::toString).orElse(null); + if (resources != null) { + resources.forEach(x -> { + // TODO: 2020/6/9 防止前台传的 resources:{{}],后期要去掉 + if (x.getResourceId() != null && x.getFileName() != null && x.getVersion() != null) { + String nodePath = flowCodePath + File.separator + dwsNode.getName(); + // 如果是scriptis节点,且资源名和jobContent中的script相同,则下载后的文件名为script名的后缀,如.sql。 否则说明是用户自定义文件,直接用filename + String resourceName = x.getFileName(); + if(resourceName.equals(scriptName)){ + resourceName = resourceName.substring(resourceName.lastIndexOf('.')); + } + String nodeResourcePath = nodePath + File.separator + resourceName; + bmlService.downloadToLocalPath(userName, x.getResourceId(), x.getVersion(), nodeResourcePath); + } else { + LOGGER.warn("Illegal resource information"); + LOGGER.warn("username:{},nodeId:{},nodeName:{},fileName:{},version:{},resourceId:{}", userName, dwsNode.getId(), dwsNode.getName(), x.getFileName(), x.getVersion(), x.getResourceId()); + } + }); + } + } + + @Override + public void downloadAppConnResourceToLocalNew(String userName, Long projectId, String projectName, DSSNode dwsNode, + String flowCodePath, Workspace workspace, List dssLabels) throws Exception { + CommonAppConnNode node = new CommonAppConnNode(); + node.setJobContent(dwsNode.getJobContent()); + node.setProjectId(projectId); + node.setWorkspace(workspace); + node.setDssLabels(dssLabels); + node.setNodeType(dwsNode.getNodeType()); + node.setName(dwsNode.getName()); + node.setId(dwsNode.getId()); + ExportResponseRef responseRef = workflowNodeService.exportNode(userName, node); + Map resourceMap = responseRef.getResourceMap(); + String nodePath = flowCodePath + File.separator + dwsNode.getName(); + String nodeResourcePath = nodePath + File.separator + APPCONN_FILE_NAME; + if(responseRef.isLinkisBMLResources()) { + String resourceId = resourceMap.get(ImportRequestRef.RESOURCE_ID_KEY).toString(); + String version = resourceMap.get(ImportRequestRef.RESOURCE_VERSION_KEY).toString(); + bmlService.downloadToLocalPath(userName, resourceId, version, nodeResourcePath); + } else { + InputStream inputStream = (InputStream) resourceMap.get(ImportRequestRef.INPUT_STREAM_KEY); + Closeable closeable = (Closeable) resourceMap.get(ImportRequestRef.CLOSEABLE_KEY); + try { + FileUtils.copyInputStreamToFile(inputStream, new File(nodeResourcePath)); + } finally { + IOUtils.closeQuietly(inputStream); + IOUtils.closeQuietly(closeable); + } + } + } @Override public void downloadNodeResourceToLocal(String userName, DSSNode dwsNode, String savePath) { List resources = dwsNode.getResources(); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java index 7417a682f..862432b02 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java @@ -17,6 +17,7 @@ package com.webank.wedatasphere.dss.workflow.io.export.impl; +import com.google.gson.*; import com.webank.wedatasphere.dss.common.entity.IOType; import com.webank.wedatasphere.dss.common.entity.Resource; import com.webank.wedatasphere.dss.common.entity.node.DSSEdge; @@ -49,6 +50,8 @@ import org.springframework.stereotype.Service; import java.io.File; +import java.io.IOException; +import java.io.OutputStream; import java.util.*; import java.util.concurrent.CountDownLatch; import java.util.concurrent.FutureTask; @@ -64,6 +67,9 @@ public class WorkFlowExportServiceImpl implements WorkFlowExportService { private Logger logger = LoggerFactory.getLogger(this.getClass()); + public static final String FLOW_FILE_NAME = ".flow"; + public static final String NODE_PARAMS_FILE_NAME = ".properties"; + @Autowired @Qualifier("workflowBmlService") private BMLService bmlService; @@ -87,6 +93,57 @@ public class WorkFlowExportServiceImpl implements WorkFlowExportService { private DSSFlowService flowService; + + @Override + public String exportFlowInfoNew(Long dssProjectId, String projectName, long rootFlowId, String userName, Workspace workspace, List dssLabels) throws Exception { + //获取rootFlow,和所有子Flow + DSSFlow rootFlow = flowMapper.selectFlowByID(rootFlowId); + List dssFlowList = new ArrayList<>(); + //生成rootflow及所有子flow + dssFlowList.add(rootFlow); + getAllDssFlowsByRootflowId(rootFlow, dssFlowList); + //生成rootflow及所有子flow的Relations + List flowIds = dssFlowList.stream().map(DSSFlow::getId).collect(Collectors.toList()); + List flowRelations = flowIds.isEmpty() ? new ArrayList<>() : flowMapper.listFlowRelation(flowIds); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/projectxxx + String projectPath = IoUtils.generateProjectIOPath(userName, projectName); + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/projectxxx/.flowmeta/flow_all_type_node/ + String flowMetaPath = IoUtils.generateFlowMetaIOPath(projectPath, rootFlow.getName()); + metaExportService.exportFlowBaseInfoNew(dssFlowList, flowRelations, flowMetaPath); + logger.info(userName + "-开始导出Flow:" + rootFlow.getName()); + List dssFlows = new ArrayList<>(); + for (DSSFlow dssFlow : dssFlowList) { + if (dssFlow.getRootFlow()) { + String flowMetaFilePath = IoUtils.addFileSeparator(flowMetaPath, FLOW_FILE_NAME); + //导出工作流json文件 + String flowJson = bmlService.readTextFromBML(userName, dssFlow.getResourceId(), dssFlow.getBmlVersion()); + if (!dssFlow.getHasSaved()) { + logger.info("工作流{}从未保存过,忽略", dssFlow.getName()); + } else if (StringUtils.isNotBlank(flowJson)) { + // /appcom/tmp/dss/yyyyMMddHHmmssSSS/projectxxx/flow_all_type_node/ + String flowCodePath = IoUtils.generateFlowCodeIOPath(projectPath, rootFlow.getName()); + exportFlowResourcesNew(userName, dssProjectId, projectName, flowCodePath, flowJson, dssFlow.getName(), workspace, dssLabels); + exportAllSubFlowsNew(userName, dssFlow, dssProjectId, projectName, flowCodePath,flowMetaPath, workspace, dssLabels); + String flowJsonWithoutParams = extractAndExportParams(flowJson, flowCodePath); + try ( + OutputStream outputStream = IoUtils.generateExportOutputStream(flowMetaFilePath ) + ) { + org.apache.commons.io.IOUtils.write(flowJsonWithoutParams,outputStream,"UTF-8"); + } + dssFlows.add(dssFlow); + } else { + String warnMsg = String.format(DSSWorkFlowConstant.PUBLISH_FLOW_REPORT_FORMATE, dssFlow.getName(), dssFlow.getBmlVersion()); + logger.info(warnMsg); + throw new DSSErrorException(90033, warnMsg); + } + } + } + if (dssFlows.isEmpty()) { + throw new DSSErrorException(90037, "该工程没有可以导出的工作流,请检查工作流是否都为空"); + } + //打包导出工程 + return ZipHelper.zip(projectPath); + } @Override public String exportFlowInfo(Long dssProjectId, String projectName, long rootFlowId, String userName, Workspace workspace, List dssLabels) throws Exception { //获取rootFlow,和所有子Flow @@ -132,7 +189,38 @@ public String exportFlowInfo(Long dssProjectId, String projectName, long rootFlo return ZipHelper.zip(flowExportSaveBasePath); } + private void exportAllSubFlowsNew(String userName, DSSFlow dssFlowParent, Long projectId, String projectName, + String parentFlowCodePath, String parentFlowMetaPath, Workspace workspace, List dssLabels) throws Exception { + List subFlows = dssFlowParent.getChildren(); + if (subFlows != null) { + for (DSSFlow subFlow : subFlows) { + String subFlowCodePath = parentFlowCodePath + File.separator + subFlow.getName(); + String subFlowMetaPath = parentFlowMetaPath + File.separator + subFlow.getName(); + + String subFlowMetaSavePath = subFlowMetaPath+ File.separator + FLOW_FILE_NAME; + //导出子flow的json文件 + String flowJson = bmlService.readTextFromBML(userName, subFlow.getResourceId(), subFlow.getBmlVersion()); + if (!subFlow.getHasSaved()) { + logger.info("工作流{}从未保存过,忽略", subFlow.getName()); + } else if (StringUtils.isNotBlank(flowJson)) { + exportFlowResourcesNew(userName, projectId, projectName, subFlowCodePath, flowJson, subFlow.getName(), workspace, dssLabels); + exportAllSubFlowsNew(userName, subFlow, projectId, projectName, subFlowCodePath, subFlowMetaPath, workspace, dssLabels); + String subFlowWithoutParams = extractAndExportParams(flowJson, subFlowCodePath); + try ( + OutputStream outputStream = IoUtils.generateExportOutputStream(subFlowMetaSavePath ) + ) { + org.apache.commons.io.IOUtils.write(subFlowWithoutParams,outputStream,"UTF-8"); + } + + } else { + String warnMsg = String.format(DSSWorkFlowConstant.PUBLISH_FLOW_REPORT_FORMATE, subFlow.getName(), subFlow.getBmlVersion()); + logger.info(warnMsg); + throw new DSSErrorException(90014, warnMsg); + } + } + } + } private void exportAllSubFlows(String userName, DSSFlow dssFlowParent, Long projectId, String projectName, String projectExportBasePath, Workspace workspace, List dssLabels) throws Exception { List subFlows = dssFlowParent.getChildren(); @@ -159,7 +247,83 @@ private void exportAllSubFlows(String userName, DSSFlow dssFlowParent, Long proj private String genWorkFlowExportDir(String projectExportPath, String flowName) { return projectExportPath + File.separator + flowName; } + /** + * 导出工作流中的各种资源,放到flowCodePath中。 + * 工作流中的资源包括工作流资源和节点资源 + * @param flowCodePath 保存工作流代码的目录 + * @param flowJson 工作流元信息 + * @param flowName 工作流明 + * @param dssLabels label列表 + * @throws Exception + */ + private void exportFlowResourcesNew(String userName, Long projectId, String projectName, + String flowCodePath, String flowJson, String flowName, + Workspace workspace, List dssLabels) throws Exception { + if (StringUtils.isNotEmpty(flowCodePath)) { + //导出工作流资源文件 + List resources = workFlowParser.getWorkFlowResources(flowJson); + if (resources != null) { + resources.forEach(resource -> { + downloadFlowResourceFromBmlNew(userName, resource, flowCodePath); + }); + } + //导出工作流节点资源文件,工作流节点appconn文件 + List nodes = workFlowParser.getWorkFlowNodes(flowJson); + if (nodes != null) { + for (DSSNode node : nodes) { + nodeExportService.downloadNodeResourceToLocalNew(userName, node, flowCodePath); + NodeInfo nodeInfo = nodeInfoMapper.getWorkflowNodeByType(node.getNodeType()); + if(nodeInfo==null){ + String msg = String.format("%s note type not exist,please check appconn install successfully", node.getNodeType()); + logger.error(msg); + throw new DSSRuntimeException(msg); + } + if (Boolean.TRUE.equals(nodeInfo.getSupportJump()) && nodeInfo.getJumpType() == 1) { + logger.info("node.getJobContent() is :{}", node.getJobContent()); + nodeExportService.downloadAppConnResourceToLocalNew(userName, projectId, projectName, node, flowCodePath, workspace, dssLabels); + } + } + } + + } else { + throw new DSSErrorException(90067, "工作流导出生成路径为空"); + } + } + + /** + * 从flowjson中分离各个节点的params参数,以及flow本身的参数,把参数写到磁盘,并返回分离后的flow + * @param flowJson 要分离参数的flow + * @param flowCodePath 工作流代码导出目录 + * @return 分离后的flow + */ + private String extractAndExportParams(String flowJson,String flowCodePath) throws IOException { + JsonParser parser = new JsonParser(); + JsonObject jsonObject = parser.parse(flowJson).getAsJsonObject(); + JsonArray nodeJsonArray = jsonObject.getAsJsonArray("nodes"); + Gson gson = new Gson(); + for (JsonElement element : nodeJsonArray) { + JsonObject node = element.getAsJsonObject(); + JsonElement params = node.remove("params"); + String nodeName = Optional.ofNullable(node.get("title")).map(JsonElement::getAsString).orElse(null); + if (params == null || nodeName == null) { + continue; + } + String nodeParamsPath = IoUtils.addFileSeparator(flowCodePath, nodeName, NODE_PARAMS_FILE_NAME); + String paramsJson = gson.toJson(params); + try ( + + OutputStream outputStream = IoUtils.generateExportOutputStream(nodeParamsPath ) + ) { + + org.apache.commons.io.IOUtils.write(paramsJson,outputStream,"UTF-8"); + + } + + } + return gson.toJson(jsonObject); + + } @Override public void exportFlowResources(String userName, Long projectId, String projectName, String projectSavePath, String flowJson, String flowName, @@ -300,7 +464,10 @@ public void exportFlowResources_for_multi_thread(String userName, Long projectId public String downloadFlowJsonFromBml(String userName, String resourceId, String version, String savePath) { return bmlService.downloadAndGetText(userName, resourceId, version, savePath); } - + private String downloadFlowResourceFromBmlNew(String userName, Resource resource, String flowCodePath) { + String flowResourcePath = IoUtils.addFileSeparator(flowCodePath,resource.getFileName()); + return bmlService.downloadToLocalPath(userName, resource.getResourceId(), resource.getVersion(), flowResourcePath); + } private String downloadFlowResourceFromBml(String userName, Resource resource, String savePath) { String flowResourcePath = savePath + File.separator + resource.getResourceId() + ".re"; return bmlService.downloadToLocalPath(userName, resource.getResourceId(), resource.getVersion(), flowResourcePath); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/MetaInputService.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/MetaInputService.java index 506de99e4..114052642 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/MetaInputService.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/MetaInputService.java @@ -19,6 +19,7 @@ import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlow; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlowRelation; +import org.apache.linkis.protocol.util.ImmutablePair; import java.io.IOException; import java.util.List; @@ -26,6 +27,7 @@ public interface MetaInputService { List inputFlow(String basePath) throws IOException; + ImmutablePair,List> inputFlowNew(String flowMetaPath) throws IOException; List inputFlowRelation(String basePath) throws IOException; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/NodeInputService.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/NodeInputService.java index e01c1f092..108de00b3 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/NodeInputService.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/NodeInputService.java @@ -29,9 +29,14 @@ public interface NodeInputService { String uploadResourceToBml(String userName, String nodeJson, String inputResourcePath, String projectName) throws IOException; + String uploadResourceToBmlNew(String userName, String nodeJson, String nodePath, String projectName) throws IOException; + String uploadAppConnResource(String userName, String projectName, DSSFlow dssFlow, String nodeJson, String flowContextId, String appConnResourcePath, Workspace workspace, String orcVersion, List dssLabels) throws DSSErrorException,IOException; + String uploadAppConnResourceNew(String userName, String projectName, DSSFlow dssFlow, + String nodeJson, String flowContextId, String nodePath, + Workspace workspace, String orcVersion, List dssLabels) throws DSSErrorException,IOException; String updateNodeSubflowID(String nodeJson, long subflowID) throws IOException; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/WorkFlowInputService.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/WorkFlowInputService.java index b954d8d28..0b7ef1470 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/WorkFlowInputService.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/WorkFlowInputService.java @@ -28,6 +28,10 @@ public interface WorkFlowInputService { + void inputWorkFlowNew(String userName, DSSFlow dssFlow, String projectName, + String flowCodePath, String flowMetaPath, Long parentFlowId, Workspace workspace, + String orcVersion, String contextId, List dssLabels) throws DSSErrorException,IOException; + /** * * @param userName diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/MetaInputServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/MetaInputServiceImpl.java index 0d181ebdc..f0971bed8 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/MetaInputServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/MetaInputServiceImpl.java @@ -16,19 +16,24 @@ package com.webank.wedatasphere.dss.workflow.io.input.impl; +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; import com.webank.wedatasphere.dss.common.utils.IoUtils; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlow; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlowRelation; import com.webank.wedatasphere.dss.workflow.io.input.MetaInputService; import com.webank.wedatasphere.dss.workflow.io.input.MetaReader; +import org.apache.linkis.protocol.util.ImmutablePair; import org.springframework.stereotype.Service; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; +import java.lang.reflect.Type; import java.util.List; +import static com.webank.wedatasphere.dss.workflow.io.export.impl.MetaExportServiceImpl.*; + @Service public class MetaInputServiceImpl implements MetaInputService { @@ -37,6 +42,20 @@ public class MetaInputServiceImpl implements MetaInputService { private final String fileName = "meta.txt"; + @Override + public ImmutablePair,List> inputFlowNew(String flowMetaPath) throws IOException { + File flowMetaFile = new File(flowMetaPath + File.separator + FLOW_META_FILE_NAME); + JsonParser jsonParser = new JsonParser(); + Gson gson = new Gson(); + try (FileReader reader = new FileReader(flowMetaFile)) { + Type flowListType = new TypeToken>() {}.getType(); + Type flowRelationListType = new TypeToken>() {}.getType(); + JsonObject jsonObject = jsonParser.parse(reader).getAsJsonObject(); + List flows = gson.fromJson(jsonObject.get(FLOW_META_KEY), flowListType); + List flowRelations = gson.fromJson(jsonObject.get(FLOW_RELATION_META_KEY), flowRelationListType); + return new ImmutablePair<>(flows, flowRelations); + } + } @Override public List inputFlow(String basePath) throws IOException { diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java index df2869718..bef421a56 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java @@ -22,6 +22,7 @@ import com.webank.wedatasphere.dss.common.entity.Resource; import com.webank.wedatasphere.dss.common.exception.DSSErrorException; import com.webank.wedatasphere.dss.common.label.DSSLabel; +import com.webank.wedatasphere.dss.common.utils.IoUtils; import com.webank.wedatasphere.dss.common.utils.MapUtils; import com.webank.wedatasphere.dss.contextservice.service.ContextService; import com.webank.wedatasphere.dss.contextservice.service.impl.ContextServiceImpl; @@ -47,6 +48,8 @@ import java.util.*; import java.util.function.Supplier; +import static com.webank.wedatasphere.dss.workflow.io.export.impl.NodeExportServiceImpl.APPCONN_FILE_NAME; + @Service public class NodeInputServiceImpl implements NodeInputService { @Autowired @@ -63,7 +66,33 @@ public class NodeInputServiceImpl implements NodeInputService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - + @Override + public String uploadResourceToBmlNew(String userName, String nodeJson, String nodePath, String projectName) throws IOException { + List resources = nodeParser.getNodeResource(nodeJson); + Map jobContent = nodeParser.getNodeJobContent(nodeJson); + String scriptName = Optional.ofNullable(jobContent.get("script")).map(Object::toString).orElse(null); + if (resources != null && resources.size() > 0) { + resources.forEach(resource -> { + if (resource.getVersion() != null && resource.getFileName() != null && resource.getResourceId() != null) { + //需要区分代码节点和非代码节点。非代码节点直接根据filename上传即可 + String fileName=resource.getFileName(); + if(fileName.equals(scriptName)){ + fileName = fileName.substring(fileName.lastIndexOf('.')); + } + String filePath = IoUtils.addFileSeparator(nodePath, fileName); + InputStream resourceInputStream = readResource(userName, resource, filePath); + BmlResource bmlReturnMap = bmlService.upload(userName, + resourceInputStream, UUID.randomUUID().toString() + ".json", projectName); + resource.setResourceId(bmlReturnMap.getResourceId()); + resource.setVersion(bmlReturnMap.getVersion()); + } else { + logger.warn("Illegal resource information"); + logger.warn("username:{},fileName:{},version:{},resourceId:{}", userName, resource.getFileName(), resource.getVersion(), resource.getResourceId()); + } + }); + } + return nodeParser.updateNodeResource(nodeJson, resources); + } @Override public String uploadResourceToBml(String userName, String nodeJson, String inputResourcePath, String projectName) throws IOException { List resources = nodeParser.getNodeResource(nodeJson); @@ -88,7 +117,65 @@ private InputStream readResource(String userName, Resource resource, String flow String readPath = flowResourcePath + resource.getResourceId() + "_" + resource.getVersion() + ".re"; return bmlService.readLocalResourceFile(userName, readPath); } + @Override + public String uploadAppConnResourceNew(String userName, String projectName, DSSFlow dssFlow, + String nodeJson, String flowContextId, String nodePath, + Workspace workspace, String orcVersion, List dssLabels) throws DSSErrorException, IOException { + Map nodeJsonMap = BDPJettyServerHelper.jacksonJson().readValue(nodeJson, Map.class); + String nodeType = nodeJsonMap.get("jobType").toString(); + String nodeId = nodeJsonMap.get("id").toString(); + String nodeResourcePath = IoUtils.addFileSeparator(nodePath,APPCONN_FILE_NAME) ; + Map nodeContent = (LinkedHashMap) nodeJsonMap.get("jobContent"); + CommonAppConnNode appConnNode = new CommonAppConnNode(); + appConnNode.setId(nodeId); + appConnNode.setName((String) nodeJsonMap.get("title")); + appConnNode.setDssLabels(dssLabels); + appConnNode.setNodeType(nodeType); + appConnNode.setJobContent(nodeContent); + appConnNode.setFlowId(dssFlow.getId()); + appConnNode.setProjectId(dssFlow.getProjectId()); + appConnNode.setWorkspace(workspace); + appConnNode.setContextId(flowContextId); + + Map nodeExportContent = null; + logger.info("nodeResourcePath:{}", nodeResourcePath); + File file = new File(nodeResourcePath); + if (file.exists()) { + InputStream resourceInputStream = bmlService.readLocalResourceFile(userName, nodeResourcePath); + Supplier> bmlResourceMap = () -> { + BmlResource resource = bmlService.upload(userName, resourceInputStream, UUID.randomUUID().toString() + ".json", + projectName); + return ImmutableMap.of( + "resourceId", resource.getResourceId(), + "version", resource.getVersion() + ); + }; + Supplier> streamResourceMap = () -> MapUtils.newCommonMap(ImportRequestRef.INPUT_STREAM_KEY, resourceInputStream); + try { + nodeExportContent = nodeService.importNode(userName, appConnNode, bmlResourceMap, streamResourceMap, orcVersion); + } catch (ExternalOperationFailedException e) { + logger.error("failed to import node.", e); + throw new DSSErrorException(e.getErrCode(), e.getMessage()); + } catch (Exception e) { + logger.error("failed to import node.", e); + throw new DSSErrorException(90011, e.getMessage()); + } + if (nodeExportContent != null) { + if (nodeExportContent.get("project_id") != null) { + Long newProjectId = Long.parseLong(nodeExportContent.get("project_id").toString()); + logger.warn(String.format("new appConn node add into dss,dssProjectId: %s,newProjectId: %s", appConnNode.getProjectId(), newProjectId)); + nodeExportContent.remove("project_id"); + } + nodeJsonMap.replace("jobContent", nodeExportContent); + appConnNode.setJobContent(nodeExportContent); + return BDPJettyServerHelper.jacksonJson().writeValueAsString(nodeJsonMap); + } + } else { + logger.warn("appConn node resource file does not exists. nodeId: {}" + nodeId); + } + return nodeJson ; + } @Override public String uploadAppConnResource(String userName, String projectName, DSSFlow dssFlow, String nodeJson, String flowContextId, String appConnResourcePath, diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java index e2e85305e..8d4ce6ad3 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java @@ -23,6 +23,7 @@ import com.webank.wedatasphere.dss.common.entity.Resource; import com.webank.wedatasphere.dss.common.exception.DSSErrorException; import com.webank.wedatasphere.dss.common.label.DSSLabel; +import com.webank.wedatasphere.dss.common.utils.IoUtils; import com.webank.wedatasphere.dss.common.utils.MapUtils; import com.webank.wedatasphere.dss.contextservice.service.ContextService; import com.webank.wedatasphere.dss.contextservice.service.impl.ContextServiceImpl; @@ -57,6 +58,9 @@ import java.util.function.Function; import java.util.stream.Collectors; +import static com.webank.wedatasphere.dss.workflow.io.export.impl.WorkFlowExportServiceImpl.FLOW_FILE_NAME; +import static com.webank.wedatasphere.dss.workflow.io.export.impl.WorkFlowExportServiceImpl.NODE_PARAMS_FILE_NAME; + @Service public class WorkFlowInputServiceImpl implements WorkFlowInputService { @@ -79,6 +83,56 @@ public class WorkFlowInputServiceImpl implements WorkFlowInputService { private FlowMapper flowMapper; private static ContextService contextService = ContextServiceImpl.getInstance(); + @Override + public void inputWorkFlowNew(String userName, + DSSFlow dssFlow, + String projectName, + String flowCodePath, + String flowMetaPath, + Long parentFlowId, + Workspace workspace, + String orcVersion, + String contextId, + List dssLabels) throws DSSErrorException, IOException { + String flowMetaFilePath = IoUtils.addFileSeparator(flowMetaPath, FLOW_FILE_NAME); + String flowJson = bmlService.readLocalTextFile(userName, flowMetaFilePath); + + // TODO: 2020/7/31 优化update方法里面的saveContent + flowJson = updateFlowContextIdAndVersion(userName, + workspace.getWorkspaceName(), + projectName, + flowJson, + dssFlow, + parentFlowId, + contextId, + orcVersion); + flowJson = inputWorkFlowNodesNew(userName, projectName, flowJson, dssFlow, + flowCodePath, workspace, orcVersion, dssLabels); + //如果包含subflow,需要一同导入subflow内容,并更新parentflow的json内容 + List subFlows = dssFlow.getChildren(); + List templateIds = new ArrayList<>(); + if (subFlows != null) { + for (DSSFlow subFlow : subFlows) { + String subCodePath = IoUtils.addFileSeparator(flowCodePath, subFlow.getName()); + String subMetaPath = IoUtils.addFileSeparator(flowMetaPath, subFlow.getName()); + inputWorkFlowNew(userName, subFlow, projectName, subCodePath,subMetaPath, dssFlow.getId(), + workspace, orcVersion, contextId, dssLabels); + templateIds.addAll(subFlow.getFlowIdParamConfTemplateIdTuples()); + } + } + + flowJson = uploadFlowResourceToBmlNew(userName, flowJson, flowCodePath, projectName); + + DSSFlow updateDssFlow = uploadFlowJsonToBml(userName, projectName, dssFlow, flowJson); + List tempIds = workFlowParser.getParamConfTemplate(flowJson); + List templateIdsInRoot = tempIds.stream() + .map(e->new String[]{updateDssFlow.getId().toString(),e}) + .collect(Collectors.toList()); + templateIds.addAll(templateIdsInRoot); + updateDssFlow.setFlowIdParamConfTemplateIdTuples(templateIds); + contextService.checkAndSaveContext(flowJson, String.valueOf(parentFlowId)); + flowMapper.updateFlowInputInfo(updateDssFlow) ; + } @Override public void inputWorkFlow(String userName, DSSFlow dssFlow, @@ -93,7 +147,7 @@ public void inputWorkFlow(String userName, String flowInputPath = inputProjectPath + File.separator + dssFlow.getName(); String flowJsonPath = flowInputPath + File.separator + dssFlow.getName() + ".json"; String flowJson = bmlService.readLocalTextFile(userName, flowJsonPath); - //生成新的节点key。 + //生成新的节点key。为了解决复制工程后,新工程出现原有工程工作流的历史执行记录 Set nodeKeys=findFlowNodeKeys(flowJson); Map oldNewNodeKeyMap = nodeKeys.stream().collect(Collectors.toMap(Function.identity(), v -> UUID.randomUUID().toString(),(e1,e2)->e1)); String updateFlowJson=flowJson; @@ -195,6 +249,80 @@ private String updateFlowContextIdAndVersion(String userName, } return workFlowParser.updateFlowJsonWithMap(flowJson, MapUtils.newCommonMap(CSCommonUtils.CONTEXT_ID_STR, contextId, DSSJobContentConstant.ORC_VERSION_KEY, orcVersion)); } + /** + * 导入工作流节点 + * @param userName + * @param projectName + * @param flowJson + * @param dssFlow + * @param workspace + * @param orcVersion + * @param dssLabels + * @return + * @throws DSSErrorException + * @throws IOException + */ + private String inputWorkFlowNodesNew(String userName, String projectName, String flowJson, + DSSFlow dssFlow, String flowCodePath, Workspace workspace, + String orcVersion, List dssLabels) throws DSSErrorException, IOException { + List nodeJsonList = workFlowParser.getWorkFlowNodesJson(flowJson); + if (nodeJsonList == null) { + throw new DSSErrorException(90073, "工作流内没有工作流节点,导入失败 " + dssFlow.getName()); + } + String updateContextId = workFlowParser.getValueWithKey(flowJson, CSCommonUtils.CONTEXT_ID_STR); + if (nodeJsonList.size() == 0) { + return flowJson; + } + List subflows = (List) dssFlow.getChildren(); + List> nodeJsonListRes = new ArrayList<>(); + if (nodeJsonList.size() > 0) { + for (String nodeJson : nodeJsonList) { + String nodeName = nodeParser.getNodeValue("title", nodeJson); + String nodePath = IoUtils.addFileSeparator(flowCodePath, nodeName); + //上传节点资源到bml,实现节点资源导入,返回新的节点json + String updateNodeJson = nodeInputService.uploadResourceToBmlNew(userName, nodeJson, nodePath, projectName); + //导入第三方节点 + updateNodeJson = nodeInputService.uploadAppConnResourceNew(userName, projectName, + dssFlow, updateNodeJson, updateContextId, nodePath, + workspace, orcVersion, dssLabels); + Map nodeJsonMap = BDPJettyServerHelper.jacksonJson().readValue(updateNodeJson, Map.class); + String nodeParams = readNodeParam(userName, nodePath); + + //更新subflowID + String nodeType = nodeJsonMap.get("jobType").toString(); + if ("workflow.subflow".equals(nodeType) && CollectionUtils.isNotEmpty(subflows)) { + String subFlowName = nodeJsonMap.get("title").toString(); + logger.info("subflows:{}", subflows); + List dssFlowList = subflows.stream().filter(subflow -> + subflow.getName().equals(subFlowName) + ).collect(Collectors.toList()); + if (dssFlowList.size() == 1) { + updateNodeJson = nodeInputService.updateNodeSubflowID(updateNodeJson, dssFlowList.get(0).getId()); + nodeJsonMap = BDPJettyServerHelper.jacksonJson().readValue(updateNodeJson, Map.class); + + } else if (dssFlowList.size() > 1) { + logger.error("工程内存在重复的子工作流节点名称,导入失败" + subFlowName); + throw new DSSErrorException(90077, "工程内存在重复的子工作流节点名称,导入失败" + subFlowName); + } else { + logger.error("工程内未能找到子工作流节点,导入失败" + subFlowName); + throw new DSSErrorException(90078, "工程内未能找到子工作流节点,导入失败" + subFlowName); + } + } + if (nodeParams != null) { + nodeJsonMap.put("params", nodeParams); + } + nodeJsonListRes.add(nodeJsonMap); + + } + } + + return workFlowParser.updateFlowJsonWithKey(flowJson, "nodes", nodeJsonListRes); + } + + private String readNodeParam(String userName,String nodePath){ + String paramsFilePath = IoUtils.addFileSeparator(nodePath, NODE_PARAMS_FILE_NAME); + return bmlService.readLocalTextFile(userName, paramsFilePath); + } private String inputWorkFlowNodes(String userName, String projectName, String flowJson, DSSFlow dssFlow, String flowPath, Workspace workspace, @@ -254,7 +382,23 @@ private String inputWorkFlowNodes(String userName, String projectName, String fl return workFlowParser.updateFlowJsonWithKey(flowJson, "nodes", nodeJsonListRes); } + private String uploadFlowResourceToBmlNew(String userName, String flowJson, String flowCodePath, String projectName) throws IOException { + List resourceList = workFlowParser.getWorkFlowResources(flowJson); + //上传文件获取resourceId和version save应该是已经有 + if (resourceList != null) { + resourceList.forEach(resource -> { + InputStream resourceInputStream = readFlowResourceNew(userName, resource, flowCodePath); + BmlResource bmlReturnMap = bmlService.upload(userName, resourceInputStream, UUID.randomUUID().toString() + ".json", projectName); + resource.setResourceId(bmlReturnMap.getResourceId()); + resource.setVersion(bmlReturnMap.getVersion()); + }); + if (resourceList.size() == 0) { + return flowJson; + } + } + return workFlowParser.updateFlowJsonWithKey(flowJson, "resources", resourceList); + } private String uploadFlowResourceToBml(String userName, String flowJson, String flowResourcePath, String projectName) throws IOException { List resourceList = workFlowParser.getWorkFlowResources(flowJson); @@ -272,7 +416,10 @@ private String uploadFlowResourceToBml(String userName, String flowJson, String } return workFlowParser.updateFlowJsonWithKey(flowJson, "resources", resourceList); } - + private InputStream readFlowResourceNew(String userName, Resource resource, String flowCodePath) { + String readPath = IoUtils.addFileSeparator(flowCodePath,resource.getFileName()); + return bmlService.readLocalResourceFile(userName, readPath); + } private InputStream readFlowResource(String userName, Resource resource, String flowResourcePath) { // TODO: 2020/3/20 和导出统一,资源都放resouce 如有问题,后再修改 String readPath = flowResourcePath + File.separator + "resource" + File.separator + resource.getResourceId() + ".re"; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/parser/DefaultNodeParser.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/parser/DefaultNodeParser.java index bcaf0dce7..391c34723 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/parser/DefaultNodeParser.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/parser/DefaultNodeParser.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -71,6 +72,14 @@ public String getNodeValue(String key, String nodeJson) throws IOException { } + + @Override + public Map getNodeJobContent(String nodeJson) throws IOException { + Map nodeJsonMap = BDPJettyServerHelper.jacksonJson().readValue(nodeJson, Map.class); + return (LinkedHashMap) nodeJsonMap.get("jobContent"); + } + + @Override public List getNodeResource(String nodeJson) { Gson gson = new Gson(); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/scala/com/webank/wedatasphere/dss/workflow/receiver/DSSWorkflowReceiver.scala b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/scala/com/webank/wedatasphere/dss/workflow/receiver/DSSWorkflowReceiver.scala index 954166b0d..4db4617bf 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/scala/com/webank/wedatasphere/dss/workflow/receiver/DSSWorkflowReceiver.scala +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/scala/com/webank/wedatasphere/dss/workflow/receiver/DSSWorkflowReceiver.scala @@ -59,7 +59,7 @@ class DSSWorkflowReceiver(workflowManager: WorkFlowManager) extends Receiver { workflowManager.unlockWorkflow(reqUnlockWorkflow.getUsername, reqUnlockWorkflow.getFlowId, reqUnlockWorkflow.getConfirmDelete) case reqExportFlow: RequestExportWorkflow => - val dssExportFlowResource: BmlResource = workflowManager.exportWorkflow( + val dssExportFlowResource: BmlResource = workflowManager.exportWorkflowNew( reqExportFlow.userName, reqExportFlow.flowID, reqExportFlow.projectId, @@ -77,7 +77,7 @@ class DSSWorkflowReceiver(workflowManager: WorkFlowManager) extends Receiver { dssFlowImportParam.setOrcVersion(requestImportWorkflow.getOrcVersion) dssFlowImportParam.setWorkspace(requestImportWorkflow.getWorkspace) dssFlowImportParam.setContextId(requestImportWorkflow.getContextId) - val dssFlows = workflowManager.importWorkflow(requestImportWorkflow.getUserName, + val dssFlows = workflowManager.importWorkflowNew(requestImportWorkflow.getUserName, requestImportWorkflow.getResourceId, requestImportWorkflow.getBmlVersion, dssFlowImportParam, requestImportWorkflow.getDssLabels) From c2317bee93b986dceef2b2aba0f841e6b955cbb6 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Thu, 11 Apr 2024 14:51:13 +0800 Subject: [PATCH 023/302] =?UTF-8?q?git=20add=EF=BC=9Aworkflow=20lock=20upd?= =?UTF-8?q?ate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../receiver/DSSGitReceiver.scala | 1 - .../dss-workflow/dss-workflow-server/pom.xml | 6 ++ .../constant/DSSWorkFlowConstant.java | 6 ++ .../dss/workflow/dao/LockMapper.java | 14 ++++ .../dss/workflow/dao/impl/lockMapper.xml | 27 ++++++++ .../workflow/lock/DSSFlowEditLockManager.java | 65 +++++++++++++++++-- .../service/impl/DSSFlowServiceImpl.java | 2 + .../service/impl/PublishServiceImpl.java | 2 + .../dss/workflow/util/DSSFlowStatusUtils.java | 17 +++++ 9 files changed, 135 insertions(+), 5 deletions(-) create mode 100644 dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java diff --git a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala index b5d0dcf38..ee93a2b59 100644 --- a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala +++ b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala @@ -25,7 +25,6 @@ import org.springframework.stereotype.Component import java.util import scala.concurrent.duration.Duration -@Component class DSSGitReceiver(gitProjectManagerService: DSSGitProjectManagerService, gitWorkflowManagerService: DSSGitWorkflowManagerService) extends Receiver { override def receive(message: Any, sender: Sender): Unit = {} diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml index e64bfa1dc..7a719f9f7 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml @@ -28,6 +28,12 @@ dss-workflow-server + + com.webank.wedatasphere.dss + dss-git-common + ${dss.version} + provided + com.webank.wedatasphere.dss dss-common diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java index d85658d7e..9167d8634 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/constant/DSSWorkFlowConstant.java @@ -60,4 +60,10 @@ public class DSSWorkFlowConstant { * 仅仅用于兼容老的、已经创建的工作量,用于自动路由到一个默认的调度系统。 */ public static final CommonVars DEFAULT_SCHEDULER_APP_CONN = CommonVars.apply("wds.dss.workflow.scheduler.default", "schedulis"); + /** + * 工作流状态:save-已发布 push-已提交 publish-已保存 + */ + public static final String FLOW_STATUS_SAVE = "save"; + public static final String FLOW_STATUS_PUSH = "push"; + public static final String FLOW_STATUS_PUBLISH = "publish"; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/LockMapper.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/LockMapper.java index c2f8ab5e3..ec741e671 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/LockMapper.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/LockMapper.java @@ -19,6 +19,8 @@ import org.apache.ibatis.annotations.Param; import org.springframework.dao.DuplicateKeyException; +import java.util.List; + public interface LockMapper { @@ -48,4 +50,16 @@ Boolean flowNotExistEditLock(@Param("flowID") Long flowID, void clearExpire(@Param("expireTime") String expireTime, @Param("flowId") long flowId); void deleteALL(); + + + void deleteExpectAfterSave(@Param("list") List list); + + + void insertFlowStatus(@Param("flowID") Long flowID, @Param("status") String status); + + void updateFlowStatus(@Param("flowID") Long flowID, @Param("status") String status); + + List selectFlowIdByStatus( @Param("status") String status); + + String selectStatusByFlowId(@Param("flowID") Long flowID); } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml index 41e45c40c..083cd7282 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml @@ -73,4 +73,31 @@ delete from dss_workflow_edit_lock + + + delete from dss_workflow_edit_lock where flow_id not in + + #{index} + + + + + INSERT INTO dss_workflow_status (`flow_id`, `status`, `create_time`, `update_time`) + VALUES + (#{flowID}, #{status}, NOW(), NOW()) + + + + update dss_workflow_status set `status` = #{status}, `update_time` = NOW() + where `flow_id` = #{flowID} + + + + + + \ No newline at end of file diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java index 2bb3298aa..9cc5b9853 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java @@ -16,27 +16,39 @@ package com.webank.wedatasphere.dss.workflow.lock; +import com.webank.wedatasphere.dss.common.entity.BmlResource; +import com.webank.wedatasphere.dss.common.entity.project.DSSProject; import com.webank.wedatasphere.dss.common.exception.DSSErrorException; +import com.webank.wedatasphere.dss.common.protocol.project.ProjectInfoRequest; +import com.webank.wedatasphere.dss.common.utils.RpcAskUtils; +import com.webank.wedatasphere.dss.git.common.protocol.request.GitCommitRequest; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitCommitResponse; +import com.webank.wedatasphere.dss.sender.service.DSSSenderServiceFactory; import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlow; import com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant; +import com.webank.wedatasphere.dss.workflow.dao.FlowMapper; import com.webank.wedatasphere.dss.workflow.dao.LockMapper; import com.webank.wedatasphere.dss.workflow.entity.DSSFlowEditLock; +import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; import org.apache.linkis.DataWorkCloudApplication; import org.apache.linkis.common.utils.Utils; import org.apache.commons.lang.StringUtils; +import org.apache.linkis.rpc.Sender; import org.apache.poi.util.StringUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DuplicateKeyException; +import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Optional; -import java.util.UUID; +import java.util.*; import java.util.concurrent.DelayQueue; import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit; +import static com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant.FLOW_STATUS_PUSH; +import static com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant.FLOW_STATUS_SAVE; + /** * 工作流编辑分布式锁 @@ -49,6 +61,8 @@ public class DSSFlowEditLockManager { private static LockMapper lockMapper; + private static FlowMapper flowMapper; + private static final DelayQueue unLockEvents = new DelayQueue<>(); private static final ThreadLocal sdf = ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); @@ -61,7 +75,16 @@ protected DSSFlowEditLockManager() { LOGGER.info("编辑锁超时时间为:{} ms", DSSWorkFlowConstant.DSS_FLOW_EDIT_LOCK_TIMEOUT.getValue()); init(); //程序重启时,删除所有编辑锁 - lockMapper.deleteALL(); + List publishList = lockMapper.selectFlowIdByStatus(DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + List pushList = lockMapper.selectFlowIdByStatus(DSSWorkFlowConstant.FLOW_STATUS_PUSH); + List result = new ArrayList<>(); + result.addAll(publishList); + result.addAll(pushList); + if (!CollectionUtils.isEmpty(result)) { + lockMapper.deleteExpectAfterSave(result); + }else { + lockMapper.deleteALL(); + } Utils.defaultScheduler().scheduleAtFixedRate(() -> { try { UnLockEvent pop = unLockEvents.poll(); @@ -173,6 +196,13 @@ public static void deleteLock(String flowEditLock) throws DSSErrorException { if (StringUtils.isNotBlank(flowEditLock)) { DSSFlowEditLock dssFlowEditLock = lockMapper.getFlowEditLockByLockContent(flowEditLock); if (dssFlowEditLock != null) { + String status = lockMapper.selectStatusByFlowId(dssFlowEditLock.getFlowID()); + if (DSSWorkFlowConstant.FLOW_STATUS_SAVE.equals(status)) { + DSSFlow dssFlow = flowMapper.selectFlowByID(dssFlowEditLock.getFlowID()); + DSSProject projectInfo = getProjectInfo(dssFlow.getProjectId()); +// pushProject(projectInfo.getName(), projectInfo.getWorkspaceId(), "resurce", "version", "path", projectInfo.getUsername(), "comment"); + DSSFlowStatusUtils.updateFlowStatus(dssFlow.getId(), FLOW_STATUS_PUSH); + } lockMapper.clearExpire(sdf.get().format(new Date(System.currentTimeMillis() - DSSWorkFlowConstant.DSS_FLOW_EDIT_LOCK_TIMEOUT.getValue())), dssFlowEditLock.getFlowID()); } } @@ -182,6 +212,29 @@ public static void deleteLock(String flowEditLock) throws DSSErrorException { } } + public static DSSProject getProjectInfo(Long projectId) throws DSSErrorException { + ProjectInfoRequest projectInfoRequest = new ProjectInfoRequest(); + projectInfoRequest.setProjectId(projectId); + DSSProject dssProject = RpcAskUtils.processAskException(DSSSenderServiceFactory.getOrCreateServiceInstance().getProjectServerSender() + .ask(projectInfoRequest), DSSProject.class, ProjectInfoRequest.class); + if (dssProject == null) { + throw new DSSErrorException(90001, "工程不存在"); + } + return dssProject; + } + + public static void pushProject(String projectName, Long workspaceId, String resource, String version, String path, String username, String comment) { + LOGGER.info("-------=======================begin to add testGit1=======================-------"); + Sender gitSender = DSSSenderServiceFactory.getOrCreateServiceInstance().getGitSender(); + Map file = new HashMap<>(); + // 测试数据 key表示项目名、value为项目BmlResource资源 + file.put(path, new BmlResource(resource, version)); + GitCommitRequest request1 = new GitCommitRequest(workspaceId, projectName, file, comment, username); + GitCommitResponse responseWorkflowValidNode = RpcAskUtils.processAskException(gitSender.ask(request1), GitCommitResponse.class, GitCommitRequest.class); + LOGGER.info("-------=======================End to add testGit1=======================-------: {}", responseWorkflowValidNode); + } + + public static String updateLock(String lock) throws DSSErrorException { if (StringUtils.isBlank(lock)) { throw new DSSErrorException(60066, "update workflow failed because you do not have flowEditLock!"); @@ -206,6 +259,10 @@ public static String updateLock(String lock) throws DSSErrorException { } public static boolean isLockExpire(DSSFlowEditLock flowEditLock) { + String status = lockMapper.selectStatusByFlowId(flowEditLock.getFlowID()); + if (StringUtils.isEmpty(status) && DSSWorkFlowConstant.FLOW_STATUS_SAVE.equals(status)) { + return false; + } return System.currentTimeMillis() - flowEditLock.getUpdateTime().getTime() >= DSSWorkFlowConstant.DSS_FLOW_EDIT_LOCK_TIMEOUT.getValue(); } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index 0c2c3ff4f..0ae0ad149 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -58,6 +58,7 @@ import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; import com.webank.wedatasphere.dss.workflow.service.SaveFlowHook; import com.webank.wedatasphere.dss.workflow.service.WorkflowNodeService; +import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.exception.ExceptionUtils; @@ -304,6 +305,7 @@ public String saveFlow(Long flowID, } saveFlowHook.afterSave(jsonFlow,dssFlow,parentFlowID); String version = bmlReturnMap.get("version").toString(); + DSSFlowStatusUtils.updateFlowStatus(flowID, FLOW_STATUS_SAVE); return version; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index 92bdc280b..2c87df6b2 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -34,6 +34,7 @@ import com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant; import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; import com.webank.wedatasphere.dss.workflow.service.PublishService; +import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; import org.apache.commons.lang.StringUtils; import org.apache.linkis.rpc.Sender; import org.slf4j.Logger; @@ -97,6 +98,7 @@ public String submitPublish(String convertUser, Long workflowId, if (response.getResponse().isFailed()) { throw new DSSErrorException(50311, response.getResponse().getMessage()); } + DSSFlowStatusUtils.updateFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); return response.getId(); } catch (DSSErrorException e) { throw e; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java new file mode 100644 index 000000000..ebce3fec8 --- /dev/null +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java @@ -0,0 +1,17 @@ +package com.webank.wedatasphere.dss.workflow.util; + +import com.webank.wedatasphere.dss.workflow.dao.LockMapper; +import org.apache.commons.lang.StringUtils; + +public class DSSFlowStatusUtils { + private static LockMapper lockMapper; + + public static void updateFlowStatus(Long flowId, String status) { + String oldStatus = lockMapper.selectStatusByFlowId(flowId); + if (StringUtils.isEmpty(oldStatus)) { + lockMapper.insertFlowStatus(flowId, status); + } else { + lockMapper.updateFlowStatus(flowId, status); + } + } +} From fe56a5b0a66a0be3f9b364104efb7dbb8af1578d Mon Sep 17 00:00:00 2001 From: xlinliu Date: Thu, 11 Apr 2024 17:21:06 +0800 Subject: [PATCH 024/302] update mvn version --- assembly/dss-package/pom.xml | 2 +- assembly/pom.xml | 2 +- dss-appconn/appconns/dss-datachecker-appconn/pom.xml | 4 ++-- dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-eventchecker-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-schedulis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-scriptis-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-sendemail-appconn/pom.xml | 2 +- .../dss-sendemail-appconn/sendemail-appconn-core/pom.xml | 2 +- dss-appconn/appconns/dss-sso-appconn/pom.xml | 2 +- dss-appconn/appconns/dss-workflow-appconn/pom.xml | 2 +- dss-appconn/dss-appconn-core/pom.xml | 2 +- dss-appconn/dss-appconn-loader/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-client/pom.xml | 2 +- .../dss-appconn-manager/dss-appconn-manager-core/pom.xml | 2 +- dss-appconn/dss-appconn-manager/pom.xml | 2 +- dss-appconn/dss-scheduler-appconn/pom.xml | 2 +- dss-appconn/linkis-appconn-engineplugin/pom.xml | 2 +- dss-appconn/pom.xml | 2 +- dss-apps/dss-apiservice-server/pom.xml | 2 +- dss-apps/dss-apps-server/pom.xml | 2 +- dss-apps/dss-data-api/dss-api-sql-template/pom.xml | 2 +- dss-apps/dss-data-api/dss-data-api-server/pom.xml | 2 +- dss-apps/dss-data-api/pom.xml | 2 +- dss-apps/dss-data-governance/dss-data-asset-server/pom.xml | 2 +- .../dss-data-classification-server/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-common/pom.xml | 2 +- .../dss-data-governance/dss-data-governance-server/pom.xml | 2 +- dss-apps/dss-data-governance/pom.xml | 2 +- dss-apps/dss-scriptis-server/pom.xml | 2 +- dss-apps/dss-user-guide/dss-user-guide-server/pom.xml | 2 +- dss-apps/dss-user-guide/pom.xml | 2 +- dss-apps/pom.xml | 2 +- dss-commons/dss-common/pom.xml | 2 +- dss-commons/dss-contextservice/pom.xml | 2 +- dss-commons/dss-sender-service/pom.xml | 2 +- dss-commons/pom.xml | 2 +- dss-framework/dss-appconn-framework/pom.xml | 2 +- dss-framework/dss-framework-admin-service/pom.xml | 2 +- dss-framework/dss-framework-common/pom.xml | 2 +- dss-framework/dss-framework-orchestrator-server/pom.xml | 2 +- dss-framework/dss-framework-project-server/pom.xml | 2 +- dss-framework/dss-framework-proxy-user-service/pom.xml | 2 +- dss-framework/dss-framework-workspace-server/pom.xml | 2 +- .../framework-plugins/dss-framework-migrate-server/pom.xml | 2 +- .../dss-framework-orchestrator-publish/pom.xml | 2 +- dss-framework/pom.xml | 2 +- dss-git/dss-git-common/pom.xml | 2 +- dss-git/dss-git-server/pom.xml | 6 +++--- dss-git/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-common/pom.xml | 2 +- .../dss-orchestrator-conversion-standard/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-core/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-db/pom.xml | 2 +- dss-orchestrator/dss-orchestrator-loader/pom.xml | 2 +- .../dss-workflow/dss-flow-execution-server/pom.xml | 2 +- .../dss-workflow/dss-linkis-node-execution/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-common/pom.xml | 2 +- .../dss-workflow/dss-workflow-conversion-standard/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-sdk/pom.xml | 2 +- .../orchestrators/dss-workflow/dss-workflow-server/pom.xml | 2 +- dss-orchestrator/orchestrators/dss-workflow/pom.xml | 2 +- dss-orchestrator/pom.xml | 2 +- dss-server/pom.xml | 2 +- .../development-process-standard-execution/pom.xml | 2 +- .../development-process-standard/pom.xml | 2 +- dss-standard/dss-standard-common/pom.xml | 2 +- dss-standard/pom.xml | 2 +- .../sso-standard/origin-sso-integration-standard/pom.xml | 2 +- .../spring-origin-sso-integration-plugin/pom.xml | 2 +- dss-standard/sso-standard/sso-integration-standard/pom.xml | 2 +- dss-standard/structure-standard/dss-project-plugin/pom.xml | 2 +- dss-standard/structure-standard/dss-role-plugin/pom.xml | 2 +- .../dss-structure-integration-standard/pom.xml | 2 +- .../spring-origin-dss-project-plugin/pom.xml | 2 +- plugins/azkaban/linkis-jobtype/pom.xml | 2 +- .../dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml | 2 +- .../dolphinscheduler/dss-dolphinscheduler-client/pom.xml | 2 +- plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml | 2 +- plugins/dolphinscheduler/pom.xml | 2 +- plugins/linkis/dss-gateway-support/pom.xml | 2 +- pom.xml | 4 ++-- 82 files changed, 86 insertions(+), 86 deletions(-) diff --git a/assembly/dss-package/pom.xml b/assembly/dss-package/pom.xml index 6cb3c2907..73d9253cd 100644 --- a/assembly/dss-package/pom.xml +++ b/assembly/dss-package/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/assembly/pom.xml b/assembly/pom.xml index 36fe79357..bf92e3d58 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml pom diff --git a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml index a5a43f1ed..483f9bf18 100644 --- a/dss-appconn/appconns/dss-datachecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-datachecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 @@ -54,7 +54,7 @@ com.webank.wedatasphere.dss dss-origin-sso-integration-standard - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT org.apache.linkis diff --git a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml index 65af4adf5..e141b828b 100644 --- a/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml +++ b/dss-appconn/appconns/dss-dolphinscheduler-appconn/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml index d6afbe555..8793bd119 100644 --- a/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml +++ b/dss-appconn/appconns/dss-eventchecker-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml index 2b9db0eb8..ac316cf2b 100644 --- a/dss-appconn/appconns/dss-schedulis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-schedulis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml index f091d88d8..214635def 100644 --- a/dss-appconn/appconns/dss-scriptis-appconn/pom.xml +++ b/dss-appconn/appconns/dss-scriptis-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml index 734217f54..e6f10dd24 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml index 2ef6b8024..8cf886e56 100644 --- a/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml +++ b/dss-appconn/appconns/dss-sendemail-appconn/sendemail-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-sso-appconn/pom.xml b/dss-appconn/appconns/dss-sso-appconn/pom.xml index 61dbc445d..be4d1d293 100644 --- a/dss-appconn/appconns/dss-sso-appconn/pom.xml +++ b/dss-appconn/appconns/dss-sso-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/appconns/dss-workflow-appconn/pom.xml b/dss-appconn/appconns/dss-workflow-appconn/pom.xml index b46b588aa..c940c50ed 100644 --- a/dss-appconn/appconns/dss-workflow-appconn/pom.xml +++ b/dss-appconn/appconns/dss-workflow-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-core/pom.xml b/dss-appconn/dss-appconn-core/pom.xml index f4328913c..9f465e35c 100644 --- a/dss-appconn/dss-appconn-core/pom.xml +++ b/dss-appconn/dss-appconn-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-loader/pom.xml b/dss-appconn/dss-appconn-loader/pom.xml index 1d66b58f7..9ec086193 100644 --- a/dss-appconn/dss-appconn-loader/pom.xml +++ b/dss-appconn/dss-appconn-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml index 9ad85e38c..0323f73e5 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-client/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml index 3a9eae97d..aa9fe2892 100644 --- a/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml +++ b/dss-appconn/dss-appconn-manager/dss-appconn-manager-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-appconn-manager/pom.xml b/dss-appconn/dss-appconn-manager/pom.xml index 9a05c4f5b..20d83a39e 100644 --- a/dss-appconn/dss-appconn-manager/pom.xml +++ b/dss-appconn/dss-appconn-manager/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/dss-scheduler-appconn/pom.xml b/dss-appconn/dss-scheduler-appconn/pom.xml index 6a3feb36b..941316f0f 100644 --- a/dss-appconn/dss-scheduler-appconn/pom.xml +++ b/dss-appconn/dss-scheduler-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/linkis-appconn-engineplugin/pom.xml b/dss-appconn/linkis-appconn-engineplugin/pom.xml index 4293c6b3c..3f0c750c5 100644 --- a/dss-appconn/linkis-appconn-engineplugin/pom.xml +++ b/dss-appconn/linkis-appconn-engineplugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-appconn/pom.xml b/dss-appconn/pom.xml index df5cf4be5..303c1e188 100644 --- a/dss-appconn/pom.xml +++ b/dss-appconn/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-apps/dss-apiservice-server/pom.xml b/dss-apps/dss-apiservice-server/pom.xml index deed27df2..bf9772482 100644 --- a/dss-apps/dss-apiservice-server/pom.xml +++ b/dss-apps/dss-apiservice-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-apps-server/pom.xml b/dss-apps/dss-apps-server/pom.xml index 685a787cf..f82116ca6 100644 --- a/dss-apps/dss-apps-server/pom.xml +++ b/dss-apps/dss-apps-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml index 6e55b87f7..d650e6c38 100644 --- a/dss-apps/dss-data-api/dss-api-sql-template/pom.xml +++ b/dss-apps/dss-data-api/dss-api-sql-template/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/dss-data-api-server/pom.xml b/dss-apps/dss-data-api/dss-data-api-server/pom.xml index c68ef8ace..16e28342e 100644 --- a/dss-apps/dss-data-api/dss-data-api-server/pom.xml +++ b/dss-apps/dss-data-api/dss-data-api-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-api/pom.xml b/dss-apps/dss-data-api/pom.xml index 3edfc57ac..b8e46bb6b 100644 --- a/dss-apps/dss-data-api/pom.xml +++ b/dss-apps/dss-data-api/pom.xml @@ -6,7 +6,7 @@ dss com.webank.wedatasphere.dss ../../pom.xml - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT 4.0.0 dss-data-api diff --git a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml index 07cb7f707..956f880ff 100644 --- a/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-asset-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml index 3acdb5294..cc2ddc178 100644 --- a/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-classification-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml index 8c647ec8f..102bf7354 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-common/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml index 4f23fec59..6d4f1d4e6 100644 --- a/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml +++ b/dss-apps/dss-data-governance/dss-data-governance-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-apps/dss-data-governance/pom.xml b/dss-apps/dss-data-governance/pom.xml index 0b7c329db..dc137fac1 100644 --- a/dss-apps/dss-data-governance/pom.xml +++ b/dss-apps/dss-data-governance/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/dss-scriptis-server/pom.xml b/dss-apps/dss-scriptis-server/pom.xml index a80964187..c552993eb 100644 --- a/dss-apps/dss-scriptis-server/pom.xml +++ b/dss-apps/dss-scriptis-server/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml diff --git a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml index 2027bc57e..0da1d7523 100644 --- a/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml +++ b/dss-apps/dss-user-guide/dss-user-guide-server/pom.xml @@ -5,7 +5,7 @@ dss-user-guide com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-apps/dss-user-guide/pom.xml b/dss-apps/dss-user-guide/pom.xml index 4bcd02625..3eb89b9e2 100644 --- a/dss-apps/dss-user-guide/pom.xml +++ b/dss-apps/dss-user-guide/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-apps/pom.xml b/dss-apps/pom.xml index 92aa89b16..5043c1e00 100644 --- a/dss-apps/pom.xml +++ b/dss-apps/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-commons/dss-common/pom.xml b/dss-commons/dss-common/pom.xml index eaa3cc495..047f299e5 100644 --- a/dss-commons/dss-common/pom.xml +++ b/dss-commons/dss-common/pom.xml @@ -22,7 +22,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml dss-common diff --git a/dss-commons/dss-contextservice/pom.xml b/dss-commons/dss-contextservice/pom.xml index eca1886cd..95c945f41 100644 --- a/dss-commons/dss-contextservice/pom.xml +++ b/dss-commons/dss-contextservice/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml dss-contextservice diff --git a/dss-commons/dss-sender-service/pom.xml b/dss-commons/dss-sender-service/pom.xml index 30ddf14c4..8c4e6ca31 100644 --- a/dss-commons/dss-sender-service/pom.xml +++ b/dss-commons/dss-sender-service/pom.xml @@ -21,7 +21,7 @@ dss-commons com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-commons/pom.xml b/dss-commons/pom.xml index 1594156cf..1df2e96b3 100644 --- a/dss-commons/pom.xml +++ b/dss-commons/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-framework/dss-appconn-framework/pom.xml b/dss-framework/dss-appconn-framework/pom.xml index 2d942b819..87bd41044 100644 --- a/dss-framework/dss-appconn-framework/pom.xml +++ b/dss-framework/dss-appconn-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-admin-service/pom.xml b/dss-framework/dss-framework-admin-service/pom.xml index 78d894682..ae743cb6d 100644 --- a/dss-framework/dss-framework-admin-service/pom.xml +++ b/dss-framework/dss-framework-admin-service/pom.xml @@ -4,7 +4,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml diff --git a/dss-framework/dss-framework-common/pom.xml b/dss-framework/dss-framework-common/pom.xml index 893779971..acdd56ad7 100644 --- a/dss-framework/dss-framework-common/pom.xml +++ b/dss-framework/dss-framework-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-orchestrator-server/pom.xml b/dss-framework/dss-framework-orchestrator-server/pom.xml index a277dddbf..cf6dab9da 100644 --- a/dss-framework/dss-framework-orchestrator-server/pom.xml +++ b/dss-framework/dss-framework-orchestrator-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-project-server/pom.xml b/dss-framework/dss-framework-project-server/pom.xml index 277ca4acc..89d321c5e 100644 --- a/dss-framework/dss-framework-project-server/pom.xml +++ b/dss-framework/dss-framework-project-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/dss-framework-proxy-user-service/pom.xml b/dss-framework/dss-framework-proxy-user-service/pom.xml index 694aafaee..7d8199be0 100644 --- a/dss-framework/dss-framework-proxy-user-service/pom.xml +++ b/dss-framework/dss-framework-proxy-user-service/pom.xml @@ -5,7 +5,7 @@ dss-framework com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT 4.0.0 diff --git a/dss-framework/dss-framework-workspace-server/pom.xml b/dss-framework/dss-framework-workspace-server/pom.xml index 4dc237583..8ce86cd04 100644 --- a/dss-framework/dss-framework-workspace-server/pom.xml +++ b/dss-framework/dss-framework-workspace-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml index cbba44804..c60a6361a 100644 --- a/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-migrate-server/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml index f353752b2..d5ea8a20e 100644 --- a/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml +++ b/dss-framework/framework-plugins/dss-framework-orchestrator-publish/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-framework/pom.xml b/dss-framework/pom.xml index 03d5e141f..30768829c 100644 --- a/dss-framework/pom.xml +++ b/dss-framework/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-git/dss-git-common/pom.xml b/dss-git/dss-git-common/pom.xml index 1d68d21cd..6031181ce 100644 --- a/dss-git/dss-git-common/pom.xml +++ b/dss-git/dss-git-common/pom.xml @@ -5,7 +5,7 @@ dss-git com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT 4.0.0 diff --git a/dss-git/dss-git-server/pom.xml b/dss-git/dss-git-server/pom.xml index 7415c4676..ed9370e1f 100644 --- a/dss-git/dss-git-server/pom.xml +++ b/dss-git/dss-git-server/pom.xml @@ -5,7 +5,7 @@ dss-git com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT 4.0.0 @@ -15,7 +15,7 @@ com.webank.wedatasphere.dss dss-common - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT com.webank.wedatasphere.dss @@ -25,7 +25,7 @@ com.webank.wedatasphere.dss dss-git-common - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT org.eclipse.jgit diff --git a/dss-git/pom.xml b/dss-git/pom.xml index f5bf084f3..cdb92b9ba 100644 --- a/dss-git/pom.xml +++ b/dss-git/pom.xml @@ -5,7 +5,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-common/pom.xml b/dss-orchestrator/dss-orchestrator-common/pom.xml index 2664da0fb..3a1da0d89 100644 --- a/dss-orchestrator/dss-orchestrator-common/pom.xml +++ b/dss-orchestrator/dss-orchestrator-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml index 81bc296cd..aec2e5db4 100644 --- a/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml +++ b/dss-orchestrator/dss-orchestrator-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-orchestrator com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-core/pom.xml b/dss-orchestrator/dss-orchestrator-core/pom.xml index f4632f8d9..3e9b2bfcc 100644 --- a/dss-orchestrator/dss-orchestrator-core/pom.xml +++ b/dss-orchestrator/dss-orchestrator-core/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-db/pom.xml b/dss-orchestrator/dss-orchestrator-db/pom.xml index e0ff81661..c27c6c752 100644 --- a/dss-orchestrator/dss-orchestrator-db/pom.xml +++ b/dss-orchestrator/dss-orchestrator-db/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/dss-orchestrator-loader/pom.xml b/dss-orchestrator/dss-orchestrator-loader/pom.xml index 786b146ed..f4938ee12 100644 --- a/dss-orchestrator/dss-orchestrator-loader/pom.xml +++ b/dss-orchestrator/dss-orchestrator-loader/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml index 71ebf0533..6c84379c1 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml index 267159e48..00a3609a5 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/pom.xml @@ -23,7 +23,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../../pom.xml diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml index 19ed8ba51..636776c9a 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml index b04d2f827..f45c507e0 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-conversion-standard/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml index 1bb38bd47..c9ac573c6 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-sdk/pom.xml @@ -21,7 +21,7 @@ dss-workflow com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml index 7a719f9f7..cadabe8ac 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/orchestrators/dss-workflow/pom.xml b/dss-orchestrator/orchestrators/dss-workflow/pom.xml index dd0332ed0..9aa7450c0 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/pom.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-orchestrator/pom.xml b/dss-orchestrator/pom.xml index 7db5c88d5..68dbba3b6 100644 --- a/dss-orchestrator/pom.xml +++ b/dss-orchestrator/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-server/pom.xml b/dss-server/pom.xml index 2a0bea047..1256a846d 100644 --- a/dss-server/pom.xml +++ b/dss-server/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard-execution/pom.xml b/dss-standard/development-standard/development-process-standard-execution/pom.xml index 73152d53f..2e792a15b 100644 --- a/dss-standard/development-standard/development-process-standard-execution/pom.xml +++ b/dss-standard/development-standard/development-process-standard-execution/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/development-standard/development-process-standard/pom.xml b/dss-standard/development-standard/development-process-standard/pom.xml index 9e2eeeddc..e5a87317a 100644 --- a/dss-standard/development-standard/development-process-standard/pom.xml +++ b/dss-standard/development-standard/development-process-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/dss-standard-common/pom.xml b/dss-standard/dss-standard-common/pom.xml index 0eb04080c..02d0026f0 100644 --- a/dss-standard/dss-standard-common/pom.xml +++ b/dss-standard/dss-standard-common/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/dss-standard/pom.xml b/dss-standard/pom.xml index 407d4b310..e7adf85ec 100644 --- a/dss-standard/pom.xml +++ b/dss-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml index 53e3df0c9..e354d5ff0 100644 --- a/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/origin-sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml index 3d0decf4d..c8674f6b0 100644 --- a/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml +++ b/dss-standard/sso-standard/spring-origin-sso-integration-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/sso-standard/sso-integration-standard/pom.xml b/dss-standard/sso-standard/sso-integration-standard/pom.xml index ae6b0934e..88a2fd29f 100644 --- a/dss-standard/sso-standard/sso-integration-standard/pom.xml +++ b/dss-standard/sso-standard/sso-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-project-plugin/pom.xml b/dss-standard/structure-standard/dss-project-plugin/pom.xml index 201653ce4..0653c70b9 100644 --- a/dss-standard/structure-standard/dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-role-plugin/pom.xml b/dss-standard/structure-standard/dss-role-plugin/pom.xml index d998d70cf..eaf45a494 100644 --- a/dss-standard/structure-standard/dss-role-plugin/pom.xml +++ b/dss-standard/structure-standard/dss-role-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml index c6a8ade84..4be7d394b 100644 --- a/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml +++ b/dss-standard/structure-standard/dss-structure-integration-standard/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml index f32d4ff68..3a359028d 100644 --- a/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml +++ b/dss-standard/structure-standard/spring-origin-dss-project-plugin/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/plugins/azkaban/linkis-jobtype/pom.xml b/plugins/azkaban/linkis-jobtype/pom.xml index 1df83160f..b356cba44 100644 --- a/plugins/azkaban/linkis-jobtype/pom.xml +++ b/plugins/azkaban/linkis-jobtype/pom.xml @@ -22,7 +22,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml linkis-jobtype diff --git a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml index ba7b8e3f6..a6d6f09c5 100644 --- a/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml +++ b/plugins/dolphinscheduler/dolphinscheduler-prod-metrics/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml index 4d39d90a5..9d7bae316 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-client/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml 4.0.0 diff --git a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml index dd082dd2d..6126d2cdf 100644 --- a/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml +++ b/plugins/dolphinscheduler/dss-dolphinscheduler-token/pom.xml @@ -22,7 +22,7 @@ dss-plugin-dolphinscheduler com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../pom.xml diff --git a/plugins/dolphinscheduler/pom.xml b/plugins/dolphinscheduler/pom.xml index b4ab5b2e6..00877c8a6 100644 --- a/plugins/dolphinscheduler/pom.xml +++ b/plugins/dolphinscheduler/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/plugins/linkis/dss-gateway-support/pom.xml b/plugins/linkis/dss-gateway-support/pom.xml index 20214563d..8388c8978 100644 --- a/plugins/linkis/dss-gateway-support/pom.xml +++ b/plugins/linkis/dss-gateway-support/pom.xml @@ -21,7 +21,7 @@ dss com.webank.wedatasphere.dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT ../../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 40a361154..fdc31062b 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ pom com.webank.wedatasphere.dss dss - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT dss-commons @@ -41,7 +41,7 @@ - 1.1.0.20-gitflow + 1.1.0.20-gitflow-SNAPSHOT 1.1.19-wds-SNAPSHOT 2.11.12 1.8 From 5b131eb6022d6b5220ab7ca2faf7bd106cf701c2 Mon Sep 17 00:00:00 2001 From: xlinliu Date: Thu, 11 Apr 2024 21:52:54 +0800 Subject: [PATCH 025/302] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=9F=BA=E4=BA=8E=E6=96=B0=E6=A0=BC=E5=BC=8F=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=BB=93=E6=9E=84=20fix1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/io/export/impl/WorkFlowExportServiceImpl.java | 3 --- .../dss/workflow/io/input/impl/NodeInputServiceImpl.java | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java index 862432b02..cd0e945d4 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/export/impl/WorkFlowExportServiceImpl.java @@ -306,9 +306,6 @@ private String extractAndExportParams(String flowJson,String flowCodePath) throw JsonObject node = element.getAsJsonObject(); JsonElement params = node.remove("params"); String nodeName = Optional.ofNullable(node.get("title")).map(JsonElement::getAsString).orElse(null); - if (params == null || nodeName == null) { - continue; - } String nodeParamsPath = IoUtils.addFileSeparator(flowCodePath, nodeName, NODE_PARAMS_FILE_NAME); String paramsJson = gson.toJson(params); try ( diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java index bef421a56..27d8c8a1e 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/NodeInputServiceImpl.java @@ -70,7 +70,7 @@ public class NodeInputServiceImpl implements NodeInputService { public String uploadResourceToBmlNew(String userName, String nodeJson, String nodePath, String projectName) throws IOException { List resources = nodeParser.getNodeResource(nodeJson); Map jobContent = nodeParser.getNodeJobContent(nodeJson); - String scriptName = Optional.ofNullable(jobContent.get("script")).map(Object::toString).orElse(null); + String scriptName = Optional.ofNullable(jobContent).map(e->e.get("script")).map(Object::toString).orElse(null); if (resources != null && resources.size() > 0) { resources.forEach(resource -> { if (resource.getVersion() != null && resource.getFileName() != null && resource.getResourceId() != null) { @@ -80,7 +80,7 @@ public String uploadResourceToBmlNew(String userName, String nodeJson, String no fileName = fileName.substring(fileName.lastIndexOf('.')); } String filePath = IoUtils.addFileSeparator(nodePath, fileName); - InputStream resourceInputStream = readResource(userName, resource, filePath); + InputStream resourceInputStream = bmlService.readLocalResourceFile(userName, filePath); BmlResource bmlReturnMap = bmlService.upload(userName, resourceInputStream, UUID.randomUUID().toString() + ".json", projectName); resource.setResourceId(bmlReturnMap.getResourceId()); From c2ac017e9fe150fdd8e038d4b284207f7dd788e2 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Thu, 11 Apr 2024 21:55:09 +0800 Subject: [PATCH 026/302] git fix --- .../dss/workflow/dao/impl/lockMapper.xml | 1 + .../workflow/lock/DSSFlowEditLockManager.java | 2 +- .../service/impl/DSSFlowServiceImpl.java | 5 ++++- .../service/impl/PublishServiceImpl.java | 5 ++++- .../dss/workflow/util/DSSFlowStatusUtils.java | 17 ----------------- 5 files changed, 10 insertions(+), 20 deletions(-) delete mode 100644 dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml index 083cd7282..7a791566a 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml @@ -85,6 +85,7 @@ INSERT INTO dss_workflow_status (`flow_id`, `status`, `create_time`, `update_time`) VALUES (#{flowID}, #{status}, NOW(), NOW()) + ON DUPLICATE KEY UPDATE `status` = #{status}, `update_time` = NOW() diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java index 9cc5b9853..33eee153c 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java @@ -201,7 +201,7 @@ public static void deleteLock(String flowEditLock) throws DSSErrorException { DSSFlow dssFlow = flowMapper.selectFlowByID(dssFlowEditLock.getFlowID()); DSSProject projectInfo = getProjectInfo(dssFlow.getProjectId()); // pushProject(projectInfo.getName(), projectInfo.getWorkspaceId(), "resurce", "version", "path", projectInfo.getUsername(), "comment"); - DSSFlowStatusUtils.updateFlowStatus(dssFlow.getId(), FLOW_STATUS_PUSH); + lockMapper.insertFlowStatus(dssFlow.getId(), FLOW_STATUS_PUSH); } lockMapper.clearExpire(sdf.get().format(new Date(System.currentTimeMillis() - DSSWorkFlowConstant.DSS_FLOW_EDIT_LOCK_TIMEOUT.getValue())), dssFlowEditLock.getFlowID()); } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index 0ae0ad149..55633e77a 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -47,6 +47,7 @@ import com.webank.wedatasphere.dss.workflow.core.entity.WorkflowWithContextImpl; import com.webank.wedatasphere.dss.workflow.core.json2flow.JsonToFlowParser; import com.webank.wedatasphere.dss.workflow.dao.FlowMapper; +import com.webank.wedatasphere.dss.workflow.dao.LockMapper; import com.webank.wedatasphere.dss.workflow.dao.NodeInfoMapper; import com.webank.wedatasphere.dss.workflow.entity.CommonAppConnNode; import com.webank.wedatasphere.dss.workflow.entity.NodeInfo; @@ -90,6 +91,8 @@ public class DSSFlowServiceImpl implements DSSFlowService { @Autowired private FlowMapper flowMapper; @Autowired + private LockMapper lockMapper; + @Autowired private NodeInfoMapper nodeInfoMapper; @Autowired private NodeInputService nodeInputService; @@ -305,7 +308,7 @@ public String saveFlow(Long flowID, } saveFlowHook.afterSave(jsonFlow,dssFlow,parentFlowID); String version = bmlReturnMap.get("version").toString(); - DSSFlowStatusUtils.updateFlowStatus(flowID, FLOW_STATUS_SAVE); + lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); return version; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index 2c87df6b2..8b6ab6535 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -32,6 +32,7 @@ import com.webank.wedatasphere.dss.workflow.common.entity.DSSFlow; import com.webank.wedatasphere.dss.workflow.common.parser.WorkFlowParser; import com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant; +import com.webank.wedatasphere.dss.workflow.dao.LockMapper; import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; import com.webank.wedatasphere.dss.workflow.service.PublishService; import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; @@ -51,6 +52,8 @@ public class PublishServiceImpl implements PublishService { private DSSFlowService dssFlowService; @Autowired private WorkFlowParser workFlowParser; + @Autowired + private LockMapper lockMapper; public void setDssFlowService(DSSFlowService dssFlowService) { this.dssFlowService = dssFlowService; @@ -98,7 +101,7 @@ public String submitPublish(String convertUser, Long workflowId, if (response.getResponse().isFailed()) { throw new DSSErrorException(50311, response.getResponse().getMessage()); } - DSSFlowStatusUtils.updateFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + lockMapper.insertFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); return response.getId(); } catch (DSSErrorException e) { throw e; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java deleted file mode 100644 index ebce3fec8..000000000 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/util/DSSFlowStatusUtils.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.webank.wedatasphere.dss.workflow.util; - -import com.webank.wedatasphere.dss.workflow.dao.LockMapper; -import org.apache.commons.lang.StringUtils; - -public class DSSFlowStatusUtils { - private static LockMapper lockMapper; - - public static void updateFlowStatus(Long flowId, String status) { - String oldStatus = lockMapper.selectStatusByFlowId(flowId); - if (StringUtils.isEmpty(oldStatus)) { - lockMapper.insertFlowStatus(flowId, status); - } else { - lockMapper.updateFlowStatus(flowId, status); - } - } -} From 600fa586a754f471cd7e62924637f9d13208d9b9 Mon Sep 17 00:00:00 2001 From: xlinliu Date: Thu, 11 Apr 2024 21:57:09 +0800 Subject: [PATCH 027/302] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=9F=BA=E4=BA=8E=E6=96=B0=E6=A0=BC=E5=BC=8F=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=BB=93=E6=9E=84=20fix2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java index 8d4ce6ad3..3d9dd0888 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java @@ -308,7 +308,7 @@ private String inputWorkFlowNodesNew(String userName, String projectName, String throw new DSSErrorException(90078, "工程内未能找到子工作流节点,导入失败" + subFlowName); } } - if (nodeParams != null) { + if (nodeParams != null && !"null".equalsIgnoreCase(nodeParams)) { nodeJsonMap.put("params", nodeParams); } nodeJsonListRes.add(nodeJsonMap); From 282161919e743fa2ad61697016e5647bf6d75709 Mon Sep 17 00:00:00 2001 From: xlinliu Date: Thu, 11 Apr 2024 21:57:09 +0800 Subject: [PATCH 028/302] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=9F=BA=E4=BA=8E=E6=96=B0=E6=A0=BC=E5=BC=8F=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=BB=93=E6=9E=84=20fix2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/io/input/impl/WorkFlowInputServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java index 3d9dd0888..d33ae1fa4 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/io/input/impl/WorkFlowInputServiceImpl.java @@ -286,7 +286,7 @@ private String inputWorkFlowNodesNew(String userName, String projectName, String dssFlow, updateNodeJson, updateContextId, nodePath, workspace, orcVersion, dssLabels); Map nodeJsonMap = BDPJettyServerHelper.jacksonJson().readValue(updateNodeJson, Map.class); - String nodeParams = readNodeParam(userName, nodePath); + String nodeParamsJson = readNodeParam(userName, nodePath); //更新subflowID String nodeType = nodeJsonMap.get("jobType").toString(); @@ -308,8 +308,8 @@ private String inputWorkFlowNodesNew(String userName, String projectName, String throw new DSSErrorException(90078, "工程内未能找到子工作流节点,导入失败" + subFlowName); } } - if (nodeParams != null && !"null".equalsIgnoreCase(nodeParams)) { - nodeJsonMap.put("params", nodeParams); + if (nodeParamsJson != null && !"null".equalsIgnoreCase(nodeParamsJson)) { + nodeJsonMap.put("params", BDPJettyServerHelper.jacksonJson().readValue(nodeParamsJson, Map.class)); } nodeJsonListRes.add(nodeJsonMap); From 500b7824bcb0f3ba0be3f88a1c8382855e4a53d6 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Fri, 12 Apr 2024 10:07:01 +0800 Subject: [PATCH 029/302] git fix --- .../dss/workflow/service/impl/DSSFlowServiceImpl.java | 1 - .../dss/workflow/service/impl/PublishServiceImpl.java | 1 - 2 files changed, 2 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index 55633e77a..c064ab801 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -59,7 +59,6 @@ import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; import com.webank.wedatasphere.dss.workflow.service.SaveFlowHook; import com.webank.wedatasphere.dss.workflow.service.WorkflowNodeService; -import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.exception.ExceptionUtils; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index 8b6ab6535..f236e31ba 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -35,7 +35,6 @@ import com.webank.wedatasphere.dss.workflow.dao.LockMapper; import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; import com.webank.wedatasphere.dss.workflow.service.PublishService; -import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; import org.apache.commons.lang.StringUtils; import org.apache.linkis.rpc.Sender; import org.slf4j.Logger; From b38b57423d058b248115882fd6412926b18a7563 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Fri, 12 Apr 2024 10:09:25 +0800 Subject: [PATCH 030/302] git fix --- .../wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java index 33eee153c..f8bbd7550 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java @@ -29,7 +29,6 @@ import com.webank.wedatasphere.dss.workflow.dao.FlowMapper; import com.webank.wedatasphere.dss.workflow.dao.LockMapper; import com.webank.wedatasphere.dss.workflow.entity.DSSFlowEditLock; -import com.webank.wedatasphere.dss.workflow.util.DSSFlowStatusUtils; import org.apache.linkis.DataWorkCloudApplication; import org.apache.linkis.common.utils.Utils; import org.apache.commons.lang.StringUtils; From 93e3896b32022c51eab7ac2c81f3cacd72a7fb7c Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Fri, 12 Apr 2024 17:58:54 +0800 Subject: [PATCH 031/302] update exclusion ooxml-schemas package name to poi-ooxml-schemas --- dss-commons/dss-common/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss-commons/dss-common/pom.xml b/dss-commons/dss-common/pom.xml index 3af009adc..25c083351 100644 --- a/dss-commons/dss-common/pom.xml +++ b/dss-commons/dss-common/pom.xml @@ -117,7 +117,7 @@ org.apache.poi - ooxml-schemas + poi-ooxml-schemas From 174555480b86ae0c790de32d1c54fe96235c4ae5 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 10:53:01 +0800 Subject: [PATCH 032/302] git replace "/" File.separator --- .../impl/DSSGitProjectManagerServiceImpl.java | 2 +- .../DSSGitWorkflowManagerServiceImpl.java | 27 ++++++++++----- .../dss/git/utils/DSSGitUtils.java | 33 ++++++++++--------- .../wedatasphere/dss/git/utils/FileUtils.java | 30 ++++++++++++++--- 4 files changed, 62 insertions(+), 30 deletions(-) diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java index 86c854115..871bfb322 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitProjectManagerServiceImpl.java @@ -47,7 +47,7 @@ public GitCreateProjectResponse create(GitCreateProjectRequest request) { // 本地创建Git项目 DSSGitUtils.create(request.getProjectName(), gitUser); // 获取git项目 - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + request.getProjectName() + File.separator +".git"); Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); // 关联远端Git DSSGitUtils.remote(repository, request.getProjectName(), gitUser); diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java index 063849a9f..c6764e915 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java @@ -23,6 +23,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; import java.util.concurrent.TimeUnit; @@ -47,7 +49,7 @@ public GItDiffResponse diff(GitDiffRequest request) { Repository repository = null; try { // Path to the Git repository (.git directory or its parent) - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); // 当前机器不存在就新建 if (repoDir.exists()) { repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); @@ -85,7 +87,7 @@ public GitCommitResponse commit(GitCommitRequest request) { GitCommitResponse commitResponse = null; try { // Path to the Git repository (.git directory or its parent) - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); // 当前机器不存在就新建 if (repoDir.exists()) { repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); @@ -115,8 +117,8 @@ public GitCommitResponse commit(GitCommitRequest request) { @Override public GitSearchResponse search(GitSearchRequest request) { - String gitDir = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"; - String workTree = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() ; + String gitDir = "/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"; + String workTree = "/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() ; List gitCommands = new ArrayList<>(Arrays.asList( "git", "--git-dir=" + gitDir, "--work-tree=" + workTree, "grep", "-l", request.getSearchContent() )); @@ -124,7 +126,7 @@ public GitSearchResponse search(GitSearchRequest request) { List fileList = process(gitCommands); List filePathList = new ArrayList<>(); for (String file : fileList) { - filePathList.add(GitServerConfig.GIT_SERVER_PATH.getValue()+ "/" + request.getProjectName() + "/" + file); + filePathList.add("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue())+ "/" + request.getProjectName() + "/" + file); } List fileCommands = new ArrayList<>(Arrays.asList( @@ -240,7 +242,7 @@ public GitDeleteResponse delete(GitDeleteRequest request) { GitDeleteResponse deleteResponse = null; try { // Path to the Git repository (.git directory or its parent) - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); // 当前机器不存在就新建 if (repoDir.exists()) { repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); @@ -279,10 +281,10 @@ public GitFileContentResponse getFileContent(GitFileContentRequest request) { return null; } Repository repository = null; - GitCommitResponse commitResponse = null; + GitFileContentResponse contentResponse = null; try { // Path to the Git repository (.git directory or its parent) - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); // 当前机器不存在就新建 if (repoDir.exists()) { repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); @@ -292,7 +294,14 @@ public GitFileContentResponse getFileContent(GitFileContentRequest request) { } DSSGitUtils.pull(repository, request.getProjectName(), gitUser); - DSSGitUtils.getTargetCommitFileContent(request.getProjectName(), request.getCommitId(), request.getFilePath()); + String content = DSSGitUtils.getTargetCommitFileContent(request.getProjectName(), request.getCommitId(), request.getFilePath()); + String fullpath = File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + FileUtils.normalizePath(request.getFilePath()); + File file = new File(fullpath); + String fileName = file.getName(); + BmlResource bmlResource = FileUtils.uploadResourceToBML(bmlService, gitUser.getGitUser(), content, fileName, request.getProjectName()); + logger.info("upload success, the fileName is : {}", request.getFilePath()); + contentResponse.setBmlResource(bmlResource); + return contentResponse; } catch (Exception e) { logger.error("pull failed, the reason is ",e); } finally { diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java index 91c061de0..2c2029466 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java @@ -75,7 +75,7 @@ public static void init(String projectName, GitUserEntity gitUserDO) throws DSSE } public static void remote(Repository repository, String projectName, GitUserEntity gitUser) { - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator + ".git"); try { Git git = new Git(repository); @@ -83,7 +83,7 @@ public static void remote(Repository repository, String projectName, GitUserEnti // 添加远程仓库引用 git.remoteAdd() .setName("origin") - .setUri(new URIish(GitServerConfig.GIT_URL_PRE.getValue() + gitUser.getGitUser() + "/" + projectName +".git")) + .setUri(new URIish(GitServerConfig.GIT_URL_PRE.getValue() + gitUser.getGitUser() + File.separator + projectName +".git")) .call(); logger.info("remote success"); @@ -96,8 +96,8 @@ public static void remote(Repository repository, String projectName, GitUserEnti public static void create(String projectName, GitUserEntity gitUserDO) { logger.info("start success"); - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName); // 指定仓库的目录 - File respo = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName); // 指定仓库的目录 + File respo = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator +".git"); if (!respo.exists()) { try { // 初始化仓库 @@ -186,7 +186,7 @@ public static void push(Repository repository, String projectName, GitUserEntity public static void reset(String projectName) { - String repoPath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"; // 仓库路径 + String repoPath = File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator + ".git"; // 仓库路径 try (Repository repository = new FileRepositoryBuilder() .setGitDir(new File(repoPath)) .build(); @@ -203,7 +203,7 @@ public static void reset(String projectName) { } public static void checkoutTargetCommit(GitRevertRequest request) { - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName()+ "/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + request.getProjectName()+ File.separator + ".git"); String commitId = request.getCommitId(); // 替换为目标commit的完整哈希值 try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); @@ -295,7 +295,7 @@ public static List parseProjectNames(String json) throws org.json.JSONEx } public static Set status(String projectName) { - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/.git"); // 修改为你的仓库路径 + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator +".git"); // 修改为你的仓库路径 try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build()) { Git git = new Git(repository); @@ -357,7 +357,7 @@ public static void archive(String projectName, GitUserEntity gitUserDO) { } public static void archiveLocal(String projectName) { - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName + "/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator + ".git"); if (!repoDir.exists()) { logger.info("file {} not exists", repoDir.getAbsolutePath()); return ; @@ -367,7 +367,7 @@ public static void archiveLocal(String projectName) { // 删除名为"origin"的远程仓库配置 git.remoteRemove().setRemoteName("origin").call(); // 删除本地文件 - FileUtils.removeDirectory(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName); + FileUtils.removeDirectory(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName); logger.info("Remote 'origin' removed successfully."); } catch (GitAPIException | IOException e) { logger.error("revert remote failed, the reason is: ",e); @@ -375,7 +375,7 @@ public static void archiveLocal(String projectName) { } public static void updateLocal(GitBaseRequest request, String filePath) { - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + request.getProjectName() + "/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + request.getProjectName() + File.separator + ".git"); Repository repository = null; try { repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); @@ -391,9 +391,9 @@ public static void updateLocal(GitBaseRequest request, String filePath) { } } - public static InputStream getTargetCommitFileContent(String projectName, String commitId, String filePath) { - String repoPath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName + "/.git"; - + public static String getTargetCommitFileContent(String projectName, String commitId, String filePath) { + String repoPath = File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator +".git"; + String content = ""; try { FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder(); try (Repository repository = repositoryBuilder.setGitDir(new File(repoPath)) @@ -423,7 +423,8 @@ public static InputStream getTargetCommitFileContent(String projectName, String try { ObjectLoader loader = repository.open(objectId); byte[] bytes = loader.getBytes(); - logger.info("File content: " + new String(bytes)); + content = new String(bytes); + logger.info("File content: " + content); } catch (Exception e) { logger.error("getFileContent Failed, the reason is: ", e); } @@ -435,12 +436,12 @@ public static InputStream getTargetCommitFileContent(String projectName, String } catch (IOException e) { logger.error("getFileContent Failed, the reason is: ", e); } - return null; + return content; } public static void getCommitId(String projectName, int num) { // 获取当前CommitId, - File repoDir = new File(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName + "/.git"); + File repoDir = new File(File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator + projectName + File.separator +".git"); try (Repository repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); Git git = new Git(repository)) { diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java index c4fd8b20a..83dcfbfc1 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/FileUtils.java @@ -24,7 +24,7 @@ public class FileUtils { public static void addFiles(String projectName) { - String filePath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/" + projectName +"/file1.txt"; + String filePath = "/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + projectName +"/file1.txt"; List lines = Arrays.asList("The first line", "The second line"); try { @@ -52,7 +52,7 @@ public static void removeFiles (String filePath) { } public static void addDirectory (String directory) { - String filePath = GitServerConfig.GIT_SERVER_PATH.getValue() + "/testGit1/file1.txt"; + String filePath = "/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/testGit1/file1.txt"; List lines = Arrays.asList("The first line", "The second line"); try { @@ -88,6 +88,16 @@ public static void removeDirectory (String removeDirectoryPath) { } } + public static BmlResource uploadResourceToBML(BMLService bmlService, String userName, String content, String fileName, String projectName) { + Map bmlReturnMap = bmlService.upload(userName, content, fileName, projectName); + + BmlResource bmlResource = new BmlResource(); + bmlResource.setResourceId(bmlReturnMap.get("resourceId").toString()); + bmlResource.setVersion(bmlReturnMap.get("version").toString()); + + return bmlResource; + } + public static String unzipFile(String zipFile) { logger.info("-------=======================beginning to uznip testGit1=======================-------{}", zipFile); @@ -121,9 +131,9 @@ public static File newFile(File destinationDir, ZipEntry zipEntry) throws IOExce } public static void removeAndUpdate (BMLService bmlService, String path, BmlResource bmlResource, String username) { - FileUtils.removeDirectory(GitServerConfig.GIT_SERVER_PATH.getValue() + "/" +path); + FileUtils.removeDirectory("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" +path); try { - downloadAndUnzipBMLResource(bmlService, path, bmlResource, username, GitServerConfig.GIT_SERVER_PATH.getValue()); + downloadAndUnzipBMLResource(bmlService, path, bmlResource, username, "/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue())); }catch (DSSErrorException e) { logger.error("unzip BML Resource Failed, the reason is : ", e); } @@ -159,4 +169,16 @@ private static String readImportZipProjectName(String zipFilePath) throws IOExce } throw new IOException(); } + + public static String normalizePath(String path) { + path = path.trim(); + while(path.startsWith(File.separator)) { + path = path.substring(File.separator.length()); + } + while(path.endsWith(File.separator)) { + path = path.substring(0, path.length()-File.separator.length()); + } + + return path; + } } From f36bd74b103f5fe55b9e57c6b821c5e4724b4374 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 16:34:15 +0800 Subject: [PATCH 033/302] git getHistory --- .../protocol/request/GitHistoryRequest.java | 40 ++++++++ .../response/GitCheckProjectResponse.java | 5 +- .../protocol/response/GitCommitResponse.java | 5 +- .../protocol/response/GitDeleteResponse.java | 4 - .../protocol/response/GitHistoryResponse.java | 22 +++++ .../dss/git/constant/DSSGitConstant.java | 11 +++ .../service/DSSGitWorkflowManagerService.java | 2 + .../DSSGitWorkflowManagerServiceImpl.java | 98 ++++++++++++------- .../dss/git/utils/DSSGitUtils.java | 43 ++++++++ 9 files changed, 182 insertions(+), 48 deletions(-) create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitHistoryRequest.java create mode 100644 dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitHistoryResponse.java create mode 100644 dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/constant/DSSGitConstant.java diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitHistoryRequest.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitHistoryRequest.java new file mode 100644 index 000000000..8e8be1ab3 --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/request/GitHistoryRequest.java @@ -0,0 +1,40 @@ +package com.webank.wedatasphere.dss.git.common.protocol.request; + +public class GitHistoryRequest extends GitBaseRequest{ + private String startCommitId; + private String endCommitId; + + public GitHistoryRequest(String startCommitId, String endCommitId) { + this.startCommitId = startCommitId; + this.endCommitId = endCommitId; + } + + public GitHistoryRequest(Long workspaceId, String projectName, String startCommitId, String endCommitId) { + super(workspaceId, projectName); + this.startCommitId = startCommitId; + this.endCommitId = endCommitId; + } + + public GitHistoryRequest() { + } + + public GitHistoryRequest(Long workspaceId, String projectName) { + super(workspaceId, projectName); + } + + public String getStartCommitId() { + return startCommitId; + } + + public void setStartCommitId(String startCommitId) { + this.startCommitId = startCommitId; + } + + public String getEndCommitId() { + return endCommitId; + } + + public void setEndCommitId(String endCommitId) { + this.endCommitId = endCommitId; + } +} diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java index 08bc1d792..ffba6c462 100644 --- a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCheckProjectResponse.java @@ -1,9 +1,6 @@ package com.webank.wedatasphere.dss.git.common.protocol.response; -/** - * @author zhaobincai - * @date 2024/3/28 15:06 - */ + public class GitCheckProjectResponse{ private String projectName; /** diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java index e366dd3a3..79a27418e 100644 --- a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitCommitResponse.java @@ -1,9 +1,6 @@ package com.webank.wedatasphere.dss.git.common.protocol.response; -/** - * @author zhaobincai - * @date 2024/3/25 10:15 - */ + public class GitCommitResponse{ private String commitId; private String commitTime; diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java index 3bbeb0a04..3682bb636 100644 --- a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDeleteResponse.java @@ -2,10 +2,6 @@ import java.util.List; -/** - * @author zhaobincai - * @date 2024/3/28 15:06 - */ public class GitDeleteResponse { private String projectName; diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitHistoryResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitHistoryResponse.java new file mode 100644 index 000000000..1254ce1be --- /dev/null +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitHistoryResponse.java @@ -0,0 +1,22 @@ +package com.webank.wedatasphere.dss.git.common.protocol.response; + +import java.util.List; + +public class GitHistoryResponse { + private List responses; + + public GitHistoryResponse(List responses) { + this.responses = responses; + } + + public GitHistoryResponse() { + } + + public List getResponses() { + return responses; + } + + public void setResponses(List responses) { + this.responses = responses; + } +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/constant/DSSGitConstant.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/constant/DSSGitConstant.java new file mode 100644 index 000000000..543f8420f --- /dev/null +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/constant/DSSGitConstant.java @@ -0,0 +1,11 @@ +package com.webank.wedatasphere.dss.git.constant; + +import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import com.webank.wedatasphere.dss.git.utils.FileUtils; + +import java.io.File; + +public class DSSGitConstant { + public static String GIT_PATH_PRE = File.separator + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + File.separator; + public static String GIT_PATH_SUFFIX = File.separator + ".git"; +} diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java index 55c5c7b69..e0706ed49 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java @@ -16,4 +16,6 @@ public interface DSSGitWorkflowManagerService { GitDeleteResponse delete(GitDeleteRequest request) throws ExecutionException, InterruptedException; GitFileContentResponse getFileContent(GitFileContentRequest request); + + GitHistoryResponse getHistory(GitHistoryRequest request); } diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java index c6764e915..edde0ac63 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java @@ -48,15 +48,11 @@ public GItDiffResponse diff(GitDiffRequest request) { GItDiffResponse diff = null; Repository repository = null; try { - // Path to the Git repository (.git directory or its parent) - File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); - // 当前机器不存在就新建 - if (repoDir.exists()) { - repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); - } else { - repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); - DSSGitUtils.remote(repository, request.getProjectName(), gitUser); - } + // 拼接.git路径 + String gitPath = DSSGitUtils.generateGitPath(request.getProjectName()); + // 获取git仓库 + File repoDir = new File(gitPath); + repository = getRepository(repoDir, request.getProjectName(), gitUser); // 本地保持最新状态 DSSGitUtils.pull(repository, request.getProjectName(), gitUser); // 解压BML文件到本地 todo 对接Server时放开调试 @@ -86,15 +82,11 @@ public GitCommitResponse commit(GitCommitRequest request) { Repository repository = null; GitCommitResponse commitResponse = null; try { - // Path to the Git repository (.git directory or its parent) - File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); - // 当前机器不存在就新建 - if (repoDir.exists()) { - repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); - } else { - repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); - DSSGitUtils.remote(repository, request.getProjectName(), gitUser); - } + // 拼接.git路径 + String gitPath = DSSGitUtils.generateGitPath(request.getProjectName()); + // 获取git仓库 + File repoDir = new File(gitPath); + repository = getRepository(repoDir, request.getProjectName(), gitUser); // 本地保持最新状态 DSSGitUtils.pull(repository, request.getProjectName(), gitUser); // 解压BML文件到本地 todo 对接Server时放开调试 @@ -241,15 +233,11 @@ public GitDeleteResponse delete(GitDeleteRequest request) { Repository repository = null; GitDeleteResponse deleteResponse = null; try { - // Path to the Git repository (.git directory or its parent) - File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); - // 当前机器不存在就新建 - if (repoDir.exists()) { - repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); - } else { - repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); - DSSGitUtils.remote(repository, request.getProjectName(), gitUser); - } + // 拼接.git路径 + String gitPath = DSSGitUtils.generateGitPath(request.getProjectName()); + // 获取git仓库 + File repoDir = new File(gitPath); + repository = getRepository(repoDir, request.getProjectName(), gitUser); // 本地保持最新状态 DSSGitUtils.pull(repository, request.getProjectName(), gitUser); List deleteFileList = request.getDeleteFileList(); @@ -283,15 +271,12 @@ public GitFileContentResponse getFileContent(GitFileContentRequest request) { Repository repository = null; GitFileContentResponse contentResponse = null; try { - // Path to the Git repository (.git directory or its parent) - File repoDir = new File("/" + FileUtils.normalizePath(GitServerConfig.GIT_SERVER_PATH.getValue()) + "/" + request.getProjectName() + "/.git"); - // 当前机器不存在就新建 - if (repoDir.exists()) { - repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); - } else { - repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); - DSSGitUtils.remote(repository, request.getProjectName(), gitUser); - } + // 拼接.git路径 + String gitPath = DSSGitUtils.generateGitPath(request.getProjectName()); + // 获取git仓库 + File repoDir = new File(gitPath); + repository = getRepository(repoDir, request.getProjectName(), gitUser); + // 本地保持最新状态 DSSGitUtils.pull(repository, request.getProjectName(), gitUser); String content = DSSGitUtils.getTargetCommitFileContent(request.getProjectName(), request.getCommitId(), request.getFilePath()); @@ -309,4 +294,45 @@ public GitFileContentResponse getFileContent(GitFileContentRequest request) { } return null; } + + @Override + public GitHistoryResponse getHistory(GitHistoryRequest request) { + GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); + if (gitUser == null) { + logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); + return null; + } + + Repository repository = null; + GitHistoryResponse response = new GitHistoryResponse(); + try { + // 拼接.git路径 + String gitPath = DSSGitUtils.generateGitPath(request.getProjectName()); + // 获取git仓库 + File repoDir = new File(gitPath); + repository = getRepository(repoDir, request.getProjectName(), gitUser); + // 本地保持最新状态 + DSSGitUtils.pull(repository, request.getProjectName(), gitUser); + + response = DSSGitUtils.listCommitsBetween(repository, request.getStartCommitId(), request.getEndCommitId()); + + } catch (Exception e) { + logger.error("pull failed, the reason is ",e); + } finally { + repository.close(); + } + return response; + } + + private Repository getRepository(File repoDir, String projectName, GitUserEntity gitUser) throws IOException { + Repository repository = null; + // 当前机器不存在就新建 + if (repoDir.exists()) { + repository = new FileRepositoryBuilder().setGitDir(repoDir).build(); + } else { + repository = FileRepositoryBuilder.create(new File(String.valueOf(repoDir))); + DSSGitUtils.remote(repository, projectName, gitUser); + } + return repository; + } } diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java index 2c2029466..b7a952b07 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java @@ -7,7 +7,9 @@ import com.webank.wedatasphere.dss.git.common.protocol.request.GitRevertRequest; import com.webank.wedatasphere.dss.git.common.protocol.response.GItDiffResponse; import com.webank.wedatasphere.dss.git.common.protocol.response.GitCommitResponse; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitHistoryResponse; import com.webank.wedatasphere.dss.git.config.GitServerConfig; +import com.webank.wedatasphere.dss.git.constant.DSSGitConstant; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; @@ -489,6 +491,47 @@ public static GitCommitResponse getCurrentCommit(Repository repository) { } } + public static GitHistoryResponse listCommitsBetween(Repository repository, String startCommitId, String endCommitId) throws Exception { + List gitCommitResponseList = new ArrayList<>(); + + ObjectId start = repository.resolve(startCommitId); + ObjectId end = repository.resolve(endCommitId); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try (RevWalk walk = new RevWalk(repository)) { + RevCommit startCommit = walk.parseCommit(start); + RevCommit endCommit = walk.parseCommit(end); + + walk.markStart(startCommit); + if (endCommit.getParentCount() > 0) { // Check if endCommit has any parents + walk.markUninteresting(walk.parseCommit(endCommit.getParent(0))); // Mark parent of end commit as uninteresting + } + + for (RevCommit commit : walk) { + PersonIdent authorIdent = commit.getAuthorIdent(); // 获取提交人信息 + GitCommitResponse commitResponse = new GitCommitResponse(); + commitResponse.setCommitId(commit.getId().getName()); + commitResponse.setCommitTime(sdf.format(commit.getAuthorIdent().getWhen())); + commitResponse.setComment(commit.getShortMessage()); + commitResponse.setCommitUser(commit.getAuthorIdent().getName()); + gitCommitResponseList.add(commitResponse); + System.out.println("Commit Hash: " + commit.getName()); // 提交的Hash值 + System.out.println("Commit Time: " + authorIdent.getWhen()); // 提交时间 + System.out.println("Commit Message: " + commit.getFullMessage()); // 提交信息 + System.out.println("Author: " + authorIdent.getName() + " <" + authorIdent.getEmailAddress() + ">"); // 提交人 + System.out.println("-----------------------------------------------------"); + } + } + GitHistoryResponse historyResponse = new GitHistoryResponse(); + historyResponse.setResponses(gitCommitResponseList); + return historyResponse; + } + + public static String generateGitPath(String projectName) { + // eg : /data/GitInstall/testGit/.git + return DSSGitConstant.GIT_PATH_PRE + projectName + DSSGitConstant.GIT_PATH_SUFFIX; + } + From a9b550a7b50711114fca72c4c0744c08f09a34dc Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 16:46:53 +0800 Subject: [PATCH 034/302] git getHistory add Receiver --- .../receiver/DSSGitChooser.scala | 3 ++- .../receiver/DSSGitReceiver.scala | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala index 975581bac..fc187f481 100644 --- a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala +++ b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitChooser.scala @@ -16,7 +16,7 @@ package com.webank.wedatasphere.dss.git.server.receiver -import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjectRequest, GitBaseRequest, GitCheckProjectRequest, GitCommitRequest, GitCreateProjectRequest, GitDeleteRequest, GitDiffRequest, GitFileContentRequest, GitRemoveRequest, GitRevertRequest, GitSearchRequest} +import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjectRequest, GitBaseRequest, GitCheckProjectRequest, GitCommitRequest, GitCreateProjectRequest, GitDeleteRequest, GitDiffRequest, GitFileContentRequest, GitHistoryRequest, GitRemoveRequest, GitRevertRequest, GitSearchRequest} import com.webank.wedatasphere.dss.git.service.{DSSGitProjectManagerService, DSSGitWorkflowManagerService} import javax.annotation.PostConstruct @@ -48,6 +48,7 @@ class DSSGitChooser extends ReceiverChooser { case _: GitSearchRequest => receiver case _: GitFileContentRequest => receiver case _: GitDeleteRequest => receiver + case _: GitHistoryRequest => receiver case _ => None } } \ No newline at end of file diff --git a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala index ee93a2b59..264707a01 100644 --- a/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala +++ b/dss-git/dss-git-server/src/main/scala/com.webank.wedatasphere.dss.git/receiver/DSSGitReceiver.scala @@ -16,7 +16,7 @@ package com.webank.wedatasphere.dss.git.server.receiver -import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjectRequest, GitCheckProjectRequest, GitCommitRequest, GitCreateProjectRequest, GitDeleteRequest, GitDiffRequest, GitFileContentRequest, GitRevertRequest, GitSearchRequest} +import com.webank.wedatasphere.dss.git.common.protocol.request.{GitArchiveProjectRequest, GitCheckProjectRequest, GitCommitRequest, GitCreateProjectRequest, GitDeleteRequest, GitDiffRequest, GitFileContentRequest, GitHistoryRequest, GitRevertRequest, GitSearchRequest} import com.webank.wedatasphere.dss.git.service.{DSSGitProjectManagerService, DSSGitWorkflowManagerService} import org.apache.linkis.rpc.{Receiver, Sender} import org.slf4j.{Logger, LoggerFactory} @@ -46,6 +46,8 @@ class DSSGitReceiver(gitProjectManagerService: DSSGitProjectManagerService, gitW gitWorkflowManagerService.delete(gitDeleteRequest) case gitFileContentRequest: GitFileContentRequest => gitWorkflowManagerService.getFileContent(gitFileContentRequest) + case gitHistoryRequest: GitHistoryRequest => + gitWorkflowManagerService.getHistory(gitHistoryRequest) case _ => None } From c71ce001ab4945057f8a9a6aafa96abac7958ac9 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 17:31:22 +0800 Subject: [PATCH 035/302] =?UTF-8?q?workflow=20lock=EF=BC=9Aonly=20update?= =?UTF-8?q?=20target=20project=20status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dss/common/entity/project/DSSProject.java | 14 ++++++++++++++ .../dss/workflow/lock/DSSFlowEditLockManager.java | 14 +++++++++----- .../workflow/service/impl/DSSFlowServiceImpl.java | 9 ++++++++- .../workflow/service/impl/PublishServiceImpl.java | 10 ++++++++-- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/entity/project/DSSProject.java b/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/entity/project/DSSProject.java index 7595a45ec..1e0112d98 100644 --- a/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/entity/project/DSSProject.java +++ b/dss-commons/dss-common/src/main/java/com/webank/wedatasphere/dss/common/entity/project/DSSProject.java @@ -40,6 +40,11 @@ public class DSSProject implements Project { private Boolean editable; + /** + * 1-接入git 0-不接入(默认) + */ + private Boolean associateGit; + @Override public Long getId() { @@ -169,6 +174,15 @@ public String toString() { ", workspaceId=" + workspaceId + ", workspaceName='" + workspaceName + '\'' + ", editable=" + editable + + ", associateGit=" + associateGit + '}'; } + + public Boolean getAssociateGit() { + return associateGit; + } + + public void setAssociateGit(Boolean associateGit) { + this.associateGit = associateGit; + } } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java index f8bbd7550..e973f3488 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java @@ -195,12 +195,16 @@ public static void deleteLock(String flowEditLock) throws DSSErrorException { if (StringUtils.isNotBlank(flowEditLock)) { DSSFlowEditLock dssFlowEditLock = lockMapper.getFlowEditLockByLockContent(flowEditLock); if (dssFlowEditLock != null) { - String status = lockMapper.selectStatusByFlowId(dssFlowEditLock.getFlowID()); - if (DSSWorkFlowConstant.FLOW_STATUS_SAVE.equals(status)) { - DSSFlow dssFlow = flowMapper.selectFlowByID(dssFlowEditLock.getFlowID()); - DSSProject projectInfo = getProjectInfo(dssFlow.getProjectId()); + // 获取当前项目信息 + DSSFlow dssFlow = flowMapper.selectFlowByID(dssFlowEditLock.getFlowID()); + DSSProject projectInfo = getProjectInfo(dssFlow.getProjectId()); + // 对于接入Git的项目,工作流解锁加入额外处理 + if (projectInfo.getAssociateGit()) { + String status = lockMapper.selectStatusByFlowId(dssFlowEditLock.getFlowID()); + if (DSSWorkFlowConstant.FLOW_STATUS_SAVE.equals(status)) { // pushProject(projectInfo.getName(), projectInfo.getWorkspaceId(), "resurce", "version", "path", projectInfo.getUsername(), "comment"); - lockMapper.insertFlowStatus(dssFlow.getId(), FLOW_STATUS_PUSH); + lockMapper.insertFlowStatus(dssFlow.getId(), FLOW_STATUS_PUSH); + } } lockMapper.clearExpire(sdf.get().format(new Date(System.currentTimeMillis() - DSSWorkFlowConstant.DSS_FLOW_EDIT_LOCK_TIMEOUT.getValue())), dssFlowEditLock.getFlowID()); } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index c064ab801..c9626df05 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -27,6 +27,7 @@ import com.webank.wedatasphere.dss.common.entity.node.DSSNode; import com.webank.wedatasphere.dss.common.entity.node.DSSNodeDefault; import com.webank.wedatasphere.dss.common.entity.node.Node; +import com.webank.wedatasphere.dss.common.entity.project.DSSProject; import com.webank.wedatasphere.dss.common.exception.DSSErrorException; import com.webank.wedatasphere.dss.common.exception.DSSRuntimeException; import com.webank.wedatasphere.dss.common.label.DSSLabel; @@ -54,6 +55,7 @@ import com.webank.wedatasphere.dss.workflow.entity.vo.ExtraToolBarsVO; import com.webank.wedatasphere.dss.workflow.io.export.NodeExportService; import com.webank.wedatasphere.dss.workflow.io.input.NodeInputService; +import com.webank.wedatasphere.dss.workflow.lock.DSSFlowEditLockManager; import com.webank.wedatasphere.dss.workflow.lock.Lock; import com.webank.wedatasphere.dss.common.service.BMLService; import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; @@ -307,7 +309,12 @@ public String saveFlow(Long flowID, } saveFlowHook.afterSave(jsonFlow,dssFlow,parentFlowID); String version = bmlReturnMap.get("version").toString(); - lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); + DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); + //仅对接入Git的项目 更新状态为 保存 + if (projectInfo!= null && projectInfo.getAssociateGit()) { + lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); + } + return version; } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index f236e31ba..f3b6dec33 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -33,6 +33,7 @@ import com.webank.wedatasphere.dss.workflow.common.parser.WorkFlowParser; import com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant; import com.webank.wedatasphere.dss.workflow.dao.LockMapper; +import com.webank.wedatasphere.dss.workflow.lock.DSSFlowEditLockManager; import com.webank.wedatasphere.dss.workflow.service.DSSFlowService; import com.webank.wedatasphere.dss.workflow.service.PublishService; import org.apache.commons.lang.StringUtils; @@ -43,7 +44,7 @@ import java.util.Map; -import static com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant.DEFAULT_SCHEDULER_APP_CONN; +import static com.webank.wedatasphere.dss.workflow.constant.DSSWorkFlowConstant.*; public class PublishServiceImpl implements PublishService { @@ -100,7 +101,12 @@ public String submitPublish(String convertUser, Long workflowId, if (response.getResponse().isFailed()) { throw new DSSErrorException(50311, response.getResponse().getMessage()); } - lockMapper.insertFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); + //仅对接入Git的项目更新状态为 发布-publish + if (projectInfo.getAssociateGit()) { + lockMapper.insertFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + } + return response.getId(); } catch (DSSErrorException e) { throw e; From bd20908fc8c452f95a5ae0e3cf017f1c2acb586a Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 17:47:56 +0800 Subject: [PATCH 036/302] =?UTF-8?q?workflow=20lock=EF=BC=9Aonly=20update?= =?UTF-8?q?=20target=20project=20status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wedatasphere/dss/workflow/dao/impl/lockMapper.xml | 1 - .../dss/workflow/lock/DSSFlowEditLockManager.java | 2 +- .../dss/workflow/service/impl/DSSFlowServiceImpl.java | 7 ++++++- .../dss/workflow/service/impl/PublishServiceImpl.java | 9 +++++++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml index 7a791566a..083cd7282 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml @@ -85,7 +85,6 @@ INSERT INTO dss_workflow_status (`flow_id`, `status`, `create_time`, `update_time`) VALUES (#{flowID}, #{status}, NOW(), NOW()) - ON DUPLICATE KEY UPDATE `status` = #{status}, `update_time` = NOW() diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java index e973f3488..222f51e99 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/lock/DSSFlowEditLockManager.java @@ -201,7 +201,7 @@ public static void deleteLock(String flowEditLock) throws DSSErrorException { // 对于接入Git的项目,工作流解锁加入额外处理 if (projectInfo.getAssociateGit()) { String status = lockMapper.selectStatusByFlowId(dssFlowEditLock.getFlowID()); - if (DSSWorkFlowConstant.FLOW_STATUS_SAVE.equals(status)) { + if (!StringUtils.isEmpty(status) && DSSWorkFlowConstant.FLOW_STATUS_SAVE.equals(status)) { // pushProject(projectInfo.getName(), projectInfo.getWorkspaceId(), "resurce", "version", "path", projectInfo.getUsername(), "comment"); lockMapper.insertFlowStatus(dssFlow.getId(), FLOW_STATUS_PUSH); } diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index c9626df05..483cc4576 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -312,7 +312,12 @@ public String saveFlow(Long flowID, DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); //仅对接入Git的项目 更新状态为 保存 if (projectInfo!= null && projectInfo.getAssociateGit()) { - lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); + String status = lockMapper.selectStatusByFlowId(flowID); + if (StringUtils.isEmpty(status)) { + lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); + } else { + lockMapper.updateFlowStatus(flowID,FLOW_STATUS_SAVE); + } } return version; diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index f3b6dec33..4841278cf 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -101,10 +101,15 @@ public String submitPublish(String convertUser, Long workflowId, if (response.getResponse().isFailed()) { throw new DSSErrorException(50311, response.getResponse().getMessage()); } - DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); + DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(workflowId); //仅对接入Git的项目更新状态为 发布-publish if (projectInfo.getAssociateGit()) { - lockMapper.insertFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + String status = lockMapper.selectStatusByFlowId(workflowId); + if (StringUtils.isEmpty(status)) { + lockMapper.insertFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + } else { + lockMapper.updateFlowStatus(workflowId,DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); + } } return response.getId(); From 37359dfae1df6dacf0114cad2decfeb5d7f47e1a Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 17:52:38 +0800 Subject: [PATCH 037/302] git workflow lock fix --- .../webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml index 083cd7282..3a78c3bd3 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/dao/impl/lockMapper.xml @@ -97,7 +97,7 @@ \ No newline at end of file From c8a88f00f01078c544a1bdc0dca72e93cfec6578 Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Mon, 15 Apr 2024 20:55:57 +0800 Subject: [PATCH 038/302] git workflow lock fix --- .../service/impl/DSSFlowServiceImpl.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index 483cc4576..30869108e 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -309,17 +309,20 @@ public String saveFlow(Long flowID, } saveFlowHook.afterSave(jsonFlow,dssFlow,parentFlowID); String version = bmlReturnMap.get("version").toString(); - DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); - //仅对接入Git的项目 更新状态为 保存 - if (projectInfo!= null && projectInfo.getAssociateGit()) { - String status = lockMapper.selectStatusByFlowId(flowID); - if (StringUtils.isEmpty(status)) { - lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); - } else { - lockMapper.updateFlowStatus(flowID,FLOW_STATUS_SAVE); + try { + DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); + //仅对接入Git的项目 更新状态为 保存 + if (projectInfo != null && projectInfo.getAssociateGit()) { + String status = lockMapper.selectStatusByFlowId(flowID); + if (StringUtils.isEmpty(status)) { + lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); + } else { + lockMapper.updateFlowStatus(flowID, FLOW_STATUS_SAVE); + } } + } catch (DSSErrorException e) { + logger.error("getProjectInfo failed by:", e); } - return version; } From f6eb4aa69f456191cf8648778a9ec66b94bf5aca Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 16 Apr 2024 10:21:00 +0800 Subject: [PATCH 039/302] git workflow lock fix1 --- .../dss/workflow/service/impl/DSSFlowServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index 30869108e..bcbf5b1cd 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -310,7 +310,7 @@ public String saveFlow(Long flowID, saveFlowHook.afterSave(jsonFlow,dssFlow,parentFlowID); String version = bmlReturnMap.get("version").toString(); try { - DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(flowID); + DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(dssFlow.getProjectId()); //仅对接入Git的项目 更新状态为 保存 if (projectInfo != null && projectInfo.getAssociateGit()) { String status = lockMapper.selectStatusByFlowId(flowID); From f5028738147d10234991cfdba852cd871c726afc Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 16 Apr 2024 10:44:30 +0800 Subject: [PATCH 040/302] git workflow lock fix2 --- .../dss/workflow/service/impl/DSSFlowServiceImpl.java | 2 +- .../dss/workflow/service/impl/PublishServiceImpl.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java index bcbf5b1cd..a37b52eff 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/DSSFlowServiceImpl.java @@ -312,7 +312,7 @@ public String saveFlow(Long flowID, try { DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(dssFlow.getProjectId()); //仅对接入Git的项目 更新状态为 保存 - if (projectInfo != null && projectInfo.getAssociateGit()) { + if (projectInfo.getAssociateGit()) { String status = lockMapper.selectStatusByFlowId(flowID); if (StringUtils.isEmpty(status)) { lockMapper.insertFlowStatus(flowID, FLOW_STATUS_SAVE); diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java index 4841278cf..42351d267 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-workflow-server/src/main/java/com/webank/wedatasphere/dss/workflow/service/impl/PublishServiceImpl.java @@ -101,9 +101,8 @@ public String submitPublish(String convertUser, Long workflowId, if (response.getResponse().isFailed()) { throw new DSSErrorException(50311, response.getResponse().getMessage()); } - DSSProject projectInfo = DSSFlowEditLockManager.getProjectInfo(workflowId); //仅对接入Git的项目更新状态为 发布-publish - if (projectInfo.getAssociateGit()) { + if (dssProject.getAssociateGit()) { String status = lockMapper.selectStatusByFlowId(workflowId); if (StringUtils.isEmpty(status)) { lockMapper.insertFlowStatus(workflowId, DSSWorkFlowConstant.FLOW_STATUS_PUBLISH); From 730129c8d0f80398dfd7fb1d411c0d1f1c126a14 Mon Sep 17 00:00:00 2001 From: SunpengWan <825559776@qq.com> Date: Tue, 16 Apr 2024 11:37:35 +0800 Subject: [PATCH 041/302] FlowEntranceJob class override clear function --- .../dss/flow/execution/entrance/job/FlowEntranceJob.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/src/main/scala/com/webank/wedatasphere/dss/flow/execution/entrance/job/FlowEntranceJob.scala b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/src/main/scala/com/webank/wedatasphere/dss/flow/execution/entrance/job/FlowEntranceJob.scala index f97475fb2..611abd395 100644 --- a/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/src/main/scala/com/webank/wedatasphere/dss/flow/execution/entrance/job/FlowEntranceJob.scala +++ b/dss-orchestrator/orchestrators/dss-workflow/dss-flow-execution-server/src/main/scala/com/webank/wedatasphere/dss/flow/execution/entrance/job/FlowEntranceJob.scala @@ -171,7 +171,7 @@ class FlowEntranceJob(persistManager:PersistenceManager) extends EntranceExecuti } - - + override def clear(): Unit = { + } } From 955f11b584d1dec69e9d02b542346668baad6d6c Mon Sep 17 00:00:00 2001 From: zhaobincai Date: Tue, 16 Apr 2024 11:49:59 +0800 Subject: [PATCH 042/302] git diff rename --- .../response/{GItDiffResponse.java => GitDiffResponse.java} | 6 +++--- .../dss/git/service/DSSGitWorkflowManagerService.java | 2 +- .../git/service/impl/DSSGitWorkflowManagerServiceImpl.java | 6 ++---- .../com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java | 6 +++--- 4 files changed, 9 insertions(+), 11 deletions(-) rename dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/{GItDiffResponse.java => GitDiffResponse.java} (76%) diff --git a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDiffResponse.java similarity index 76% rename from dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java rename to dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDiffResponse.java index 7495b05cf..14f8e1f13 100644 --- a/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GItDiffResponse.java +++ b/dss-git/dss-git-common/src/main/java/com.webank.wedatasphere.dss.git.common/protocol/response/GitDiffResponse.java @@ -3,14 +3,14 @@ import com.webank.wedatasphere.dss.git.common.protocol.GitTree; -public class GItDiffResponse{ +public class GitDiffResponse { private GitTree tree; - public GItDiffResponse(GitTree tree) { + public GitDiffResponse(GitTree tree) { this.tree = tree; } - public GItDiffResponse() { + public GitDiffResponse() { } public GitTree getTree() { diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java index e0706ed49..08822a741 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/DSSGitWorkflowManagerService.java @@ -7,7 +7,7 @@ import java.util.concurrent.ExecutionException; public interface DSSGitWorkflowManagerService { - GItDiffResponse diff(GitDiffRequest request) throws ExecutionException, InterruptedException; + GitDiffResponse diff(GitDiffRequest request) throws ExecutionException, InterruptedException; GitCommitResponse commit(GitCommitRequest request) throws ExecutionException, InterruptedException; diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java index edde0ac63..53d9887e1 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/service/impl/DSSGitWorkflowManagerServiceImpl.java @@ -23,8 +23,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStreamReader; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.*; import java.util.concurrent.TimeUnit; @@ -39,13 +37,13 @@ public class DSSGitWorkflowManagerServiceImpl implements DSSGitWorkflowManagerSe @Qualifier("workflowBmlService") private BMLService bmlService; @Override - public GItDiffResponse diff(GitDiffRequest request) { + public GitDiffResponse diff(GitDiffRequest request) { GitUserEntity gitUser = dssWorkspaceGitService.selectGit(request.getWorkspaceId()); if (gitUser == null) { logger.error("the workspace : {} don't associate with git", request.getWorkspaceId()); return null; } - GItDiffResponse diff = null; + GitDiffResponse diff = null; Repository repository = null; try { // 拼接.git路径 diff --git a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java index b7a952b07..9751f4847 100644 --- a/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java +++ b/dss-git/dss-git-server/src/main/java/com/webank/wedatasphere/dss/git/utils/DSSGitUtils.java @@ -5,7 +5,7 @@ import com.webank.wedatasphere.dss.git.common.protocol.GitTree; import com.webank.wedatasphere.dss.git.common.protocol.request.GitBaseRequest; import com.webank.wedatasphere.dss.git.common.protocol.request.GitRevertRequest; -import com.webank.wedatasphere.dss.git.common.protocol.response.GItDiffResponse; +import com.webank.wedatasphere.dss.git.common.protocol.response.GitDiffResponse; import com.webank.wedatasphere.dss.git.common.protocol.response.GitCommitResponse; import com.webank.wedatasphere.dss.git.common.protocol.response.GitHistoryResponse; import com.webank.wedatasphere.dss.git.config.GitServerConfig; @@ -137,7 +137,7 @@ public static void pull(Repository repository, String projectName, GitUserEntity } } - public static GItDiffResponse diff(String projectName) { + public static GitDiffResponse diff(String projectName) { Set status = status(projectName); GitTree root = new GitTree(""); @@ -146,7 +146,7 @@ public static GItDiffResponse diff(String projectName) { } // 打印树形结构 printTree("", root); - return new GItDiffResponse(root); + return new GitDiffResponse(root); } // 打印树结构 From d33f9cb10662b0a29997bdcb9daeae8e6bf767f4 Mon Sep 17 00:00:00 2001 From: ryanlei Date: Wed, 17 Apr 2024 10:14:39 +0800 Subject: [PATCH 043/302] feat: 1.3.0 changes --- .../module/apiServices/apiCard.vue | 2 +- .../module/apiServicesExecute/index.vue | 426 +- .../module/apiServicesExecute/result.vue | 351 + .../module/apiServicesExecute/title.vue | 109 + .../component/APIVersions.vue | 2 +- .../module/servicesMangement/index.vue | 4 +- .../cyeditor/cyeditor-context-menu/index.js | 2 +- web/packages/cyeditor/distlib/cyeditor.mjs | 34131 ---------------- web/packages/cyeditor/distlib/cyeditor.umd.js | 29 - web/packages/cyeditor/index.scss | 8 + web/packages/cyeditor/package.json | 2 +- .../module/common/tabCard/index.vue | 2 +- .../dataGovernance/view/fieldInfo/index.vue | 2 +- .../dataService/module/common/navMenu.vue | 2 +- .../module/dataManagement/index.vue | 4 +- .../assets/styles/workflow.scss | 2 +- .../components/tabList/index.scss | 2 +- web/packages/dss/module/footer/guide.vue | 4 +- .../dss/module/footer/libraryDetail.vue | 14 +- web/packages/dss/module/header/index.scss | 2 +- web/packages/dss/vue.config.js | 8 +- web/packages/editor/editor.vue | 2 +- web/packages/editorLsp/editor.vue | 2 +- web/packages/editorLsp/package.json | 1 - .../open-source/scriptis/apiPublish/index.vue | 3 +- .../components/importToHive/index.vue | 1 + .../module/hdfsSidebar/hdfsSidebar.vue | 9 +- .../hiveSidebar/hiveTableExport/index.scss | 13 +- .../hiveSidebar/hiveTableExport/index.vue | 51 +- .../module/workSidebar/workSidebar.vue | 28 +- .../scriptis/module/workbench/container.vue | 38 +- .../createTable/components/importTable.vue | 2 + .../components/importTable_csv.vue | 1 + .../module/workbench/createTable/index.vue | 9 +- .../module/workbench/script/editor.vue | 10 +- .../module/workbench/script/field.vue | 31 +- .../module/workbench/script/script.vue | 44 +- .../tableDetails/components/statistics.vue | 2 +- .../module/workbench/tableDetails/index.vue | 2 +- web/packages/scriptis/view/audit/index.scss | 4 +- web/packages/shared/common/i18n/en.json | 2 + web/packages/shared/common/i18n/zh.json | 2 + web/packages/shared/common/service/execute.js | 115 +- .../components/consoleComponent/console.vue | 92 +- .../components/consoleComponent/history.vue | 344 + .../components/consoleComponent/modal.js | 1 + .../components/consoleComponent/result.vue | 100 +- .../consoleComponent/resultsExport.vue | 70 +- .../components/consoleComponent/tableRow.vue | 21 +- .../components/consoleComponent/toolbar.vue | 511 +- .../components/resourceSimple/index.vue | 6 +- .../components/resourceSimple/queue.vue | 6 +- .../shared/components/table/table.vue | 8 +- .../workflows/assets/styles/workflow.scss | 2 +- .../module/common/tabList/index.scss | 2 +- web/packages/workflows/module/ide/index.vue | 3 +- .../module/process/component/console.vue | 28 +- .../process/component/designtoolbar.vue | 14 +- .../process/component/nodeparameter.vue | 35 +- .../workflows/module/process/index.vue | 9 +- .../workflows/module/process/module.vue | 35 +- .../workflows/view/workflow/importModal.vue | 4 +- .../workflows/view/workflow/index.vue | 422 +- web/packages/workspace/i18n/en.json | 6 +- web/packages/workspace/i18n/zh.json | 6 +- .../workspace/module/appProcess/index.vue | 2 +- .../workspace/module/bankHome/index.scss | 2 +- .../management/module/productsettings.vue | 2 +- .../module/managementPlatform/index.vue | 2 +- .../workspace/module/newHome/index.scss | 4 +- .../module/newProject/module/projectItem.vue | 2 +- .../permissions/module/departManagement.vue | 4 +- .../workspace/view/enginekill/index.vue | 147 +- 73 files changed, 2303 insertions(+), 35067 deletions(-) create mode 100644 web/packages/apiServices/module/apiServicesExecute/result.vue create mode 100644 web/packages/apiServices/module/apiServicesExecute/title.vue delete mode 100644 web/packages/cyeditor/distlib/cyeditor.mjs delete mode 100644 web/packages/cyeditor/distlib/cyeditor.umd.js create mode 100644 web/packages/shared/components/consoleComponent/history.vue diff --git a/web/packages/apiServices/module/apiServices/apiCard.vue b/web/packages/apiServices/module/apiServices/apiCard.vue index d035bc2de..0bf1ba39f 100644 --- a/web/packages/apiServices/module/apiServices/apiCard.vue +++ b/web/packages/apiServices/module/apiServices/apiCard.vue @@ -209,7 +209,7 @@ export default { right: 0; z-index: $zindex-select; transform: translateY(-50%); - /deep/.ivu-select-dropdown { + ::v-deep.ivu-select-dropdown { max-width: none; } } diff --git a/web/packages/apiServices/module/apiServicesExecute/index.vue b/web/packages/apiServices/module/apiServicesExecute/index.vue index df41c1bcf..021433042 100644 --- a/web/packages/apiServices/module/apiServicesExecute/index.vue +++ b/web/packages/apiServices/module/apiServicesExecute/index.vue @@ -1,5 +1,5 @@ diff --git a/web/packages/apiServices/module/apiServicesExecute/result.vue b/web/packages/apiServices/module/apiServicesExecute/result.vue new file mode 100644 index 000000000..024b9d1c1 --- /dev/null +++ b/web/packages/apiServices/module/apiServicesExecute/result.vue @@ -0,0 +1,351 @@ + + + + + \ No newline at end of file diff --git a/web/packages/apiServices/module/apiServicesExecute/title.vue b/web/packages/apiServices/module/apiServicesExecute/title.vue new file mode 100644 index 000000000..2807e1158 --- /dev/null +++ b/web/packages/apiServices/module/apiServicesExecute/title.vue @@ -0,0 +1,109 @@ + + + + diff --git a/web/packages/apiServices/module/servicesMangement/component/APIVersions.vue b/web/packages/apiServices/module/servicesMangement/component/APIVersions.vue index 8b51b3a0f..6be09a45a 100644 --- a/web/packages/apiServices/module/servicesMangement/component/APIVersions.vue +++ b/web/packages/apiServices/module/servicesMangement/component/APIVersions.vue @@ -272,7 +272,7 @@ export default { margin-top: 20px; } .viewModal { - /deep/.ivu-modal { + ::v-deep.ivu-modal { width: 80%!important; min-width: 700px; } diff --git a/web/packages/apiServices/module/servicesMangement/index.vue b/web/packages/apiServices/module/servicesMangement/index.vue index fec4b29f5..6b0c7d4d1 100644 --- a/web/packages/apiServices/module/servicesMangement/index.vue +++ b/web/packages/apiServices/module/servicesMangement/index.vue @@ -352,7 +352,7 @@ export default { font-size: 14px; vertical-align: middle; @include bg-color($light-base-color, $dark-base-color); - /deep/.ivu-breadcrumb-item-separator { + ::v-deep.ivu-breadcrumb-item-separator { color: #080808; } } @@ -374,7 +374,7 @@ export default { } } .approvalNoItem { - /deep/.ivu-form-item-content { + ::v-deep.ivu-form-item-content { display: flex; align-items: center; } diff --git a/web/packages/cyeditor/cyeditor-context-menu/index.js b/web/packages/cyeditor/cyeditor-context-menu/index.js index 0038c1e1a..11b543351 100644 --- a/web/packages/cyeditor/cyeditor-context-menu/index.js +++ b/web/packages/cyeditor/cyeditor-context-menu/index.js @@ -40,7 +40,7 @@ class ContextMenu { _initDom() { function getSvgIcon(icon) { - return `` + return icon ? `` : '' } this.ctxmenu.innerHTML = this._options.menus.reduce((str, item) => { return str + `
diff --git a/web/packages/cyeditor/distlib/cyeditor.mjs b/web/packages/cyeditor/distlib/cyeditor.mjs deleted file mode 100644 index 77f6d938f..000000000 --- a/web/packages/cyeditor/distlib/cyeditor.mjs +++ /dev/null @@ -1,34131 +0,0 @@ -var Cb = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; -function TG(a) { - return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a; -} -function yte(a) { - var r = typeof a; - return a != null && (r == "object" || r == "function"); -} -var iw = yte, kte = typeof Cb == "object" && Cb && Cb.Object === Object && Cb, Ete = kte, Ste = Ete, Cte = typeof self == "object" && self && self.Object === Object && self, xte = Ste || Cte || Function("return this")(), a5 = xte, Tte = a5, Lte = function() { - return Tte.Date.now(); -}, Pte = Lte, Dte = /\s/; -function jte(a) { - for (var r = a.length; r-- && Dte.test(a.charAt(r)); ) - ; - return r; -} -var Nte = jte, Ite = Nte, Mte = /^\s+/; -function Ote(a) { - return a && a.slice(0, Ite(a) + 1).replace(Mte, ""); -} -var Ate = Ote, Rte = a5, Bte = Rte.Symbol, E6 = Bte, c_ = E6, LG = Object.prototype, zte = LG.hasOwnProperty, Hte = LG.toString, Rp = c_ ? c_.toStringTag : void 0; -function _te(a) { - var r = zte.call(a, Rp), u = a[Rp]; - try { - a[Rp] = void 0; - var c = !0; - } catch { - } - var d = Hte.call(a); - return c && (r ? a[Rp] = u : delete a[Rp]), d; -} -var Gte = _te, $te = Object.prototype, Yte = $te.toString; -function Fte(a) { - return Yte.call(a); -} -var qte = Fte, l_ = E6, Vte = Gte, Wte = qte, Ute = "[object Null]", Kte = "[object Undefined]", f_ = l_ ? l_.toStringTag : void 0; -function Zte(a) { - return a == null ? a === void 0 ? Kte : Ute : f_ && f_ in Object(a) ? Vte(a) : Wte(a); -} -var PG = Zte; -function Xte(a) { - return a != null && typeof a == "object"; -} -var Qte = Xte, Jte = PG, ene = Qte, tne = "[object Symbol]"; -function nne(a) { - return typeof a == "symbol" || ene(a) && Jte(a) == tne; -} -var aw = nne, rne = Ate, h_ = iw, ine = aw, d_ = 0 / 0, ane = /^[-+]0x[0-9a-f]+$/i, one = /^0b[01]+$/i, sne = /^0o[0-7]+$/i, une = parseInt; -function cne(a) { - if (typeof a == "number") - return a; - if (ine(a)) - return d_; - if (h_(a)) { - var r = typeof a.valueOf == "function" ? a.valueOf() : a; - a = h_(r) ? r + "" : r; - } - if (typeof a != "string") - return a === 0 ? a : +a; - a = rne(a); - var u = one.test(a); - return u || sne.test(a) ? une(a.slice(2), u ? 2 : 8) : ane.test(a) ? d_ : +a; -} -var lne = cne, fne = iw, UL = Pte, v_ = lne, hne = "Expected a function", dne = Math.max, vne = Math.min; -function gne(a, r, u) { - var c, d, g, b, y, k, E = 0, C = !1, T = !1, P = !0; - if (typeof a != "function") - throw new TypeError(hne); - r = v_(r) || 0, fne(u) && (C = !!u.leading, T = "maxWait" in u, g = T ? dne(v_(u.maxWait) || 0, r) : g, P = "trailing" in u ? !!u.trailing : P); - function N(X) { - var K = c, ee = d; - return c = d = void 0, E = X, b = a.apply(ee, K), b; - } - function D(X) { - return E = X, y = setTimeout(B, r), C ? N(X) : b; - } - function H(X) { - var K = X - k, ee = X - E, Z = r - K; - return T ? vne(Z, g - ee) : Z; - } - function _(X) { - var K = X - k, ee = X - E; - return k === void 0 || K >= r || K < 0 || T && ee >= g; - } - function B() { - var X = UL(); - if (_(X)) - return $(X); - y = setTimeout(B, H(X)); - } - function $(X) { - return y = void 0, P && c ? N(X) : (c = d = void 0, b); - } - function F() { - y !== void 0 && clearTimeout(y), E = 0, c = k = d = y = void 0; - } - function W() { - return y === void 0 ? b : $(UL()); - } - function Q() { - var X = UL(), K = _(X); - if (c = arguments, d = this, k = X, K) { - if (y === void 0) - return D(k); - if (T) - return clearTimeout(y), y = setTimeout(B, r), N(k); - } - return y === void 0 && (y = setTimeout(B, r)), b; - } - return Q.cancel = F, Q.flush = W, Q; -} -var bne = gne, DG = { exports: {} }; -(function(a, r) { - (function() { - var u, c, d, g, b, y, k, E, C, T, P, N, D, H, _; - d = Math.floor, T = Math.min, c = function(B, $) { - return B < $ ? -1 : B > $ ? 1 : 0; - }, C = function(B, $, F, W, Q) { - var X; - if (F == null && (F = 0), Q == null && (Q = c), F < 0) - throw new Error("lo must be non-negative"); - for (W == null && (W = B.length); F < W; ) - X = d((F + W) / 2), Q($, B[X]) < 0 ? W = X : F = X + 1; - return [].splice.apply(B, [F, F - F].concat($)), $; - }, y = function(B, $, F) { - return F == null && (F = c), B.push($), H(B, 0, B.length - 1, F); - }, b = function(B, $) { - var F, W; - return $ == null && ($ = c), F = B.pop(), B.length ? (W = B[0], B[0] = F, _(B, 0, $)) : W = F, W; - }, E = function(B, $, F) { - var W; - return F == null && (F = c), W = B[0], B[0] = $, _(B, 0, F), W; - }, k = function(B, $, F) { - var W; - return F == null && (F = c), B.length && F(B[0], $) < 0 && (W = [B[0], $], $ = W[0], B[0] = W[1], _(B, 0, F)), $; - }, g = function(B, $) { - var F, W, Q, X, K, ee; - for ($ == null && ($ = c), X = function() { - ee = []; - for (var Z = 0, ae = d(B.length / 2); 0 <= ae ? Z < ae : Z > ae; 0 <= ae ? Z++ : Z--) - ee.push(Z); - return ee; - }.apply(this).reverse(), K = [], W = 0, Q = X.length; W < Q; W++) - F = X[W], K.push(_(B, F, $)); - return K; - }, D = function(B, $, F) { - var W; - if (F == null && (F = c), W = B.indexOf($), W !== -1) - return H(B, 0, W, F), _(B, W, F); - }, P = function(B, $, F) { - var W, Q, X, K, ee; - if (F == null && (F = c), Q = B.slice(0, $), !Q.length) - return Q; - for (g(Q, F), ee = B.slice($), X = 0, K = ee.length; X < K; X++) - W = ee[X], k(Q, W, F); - return Q.sort(F).reverse(); - }, N = function(B, $, F) { - var W, Q, X, K, ee, Z, ae, oe, J; - if (F == null && (F = c), $ * 10 <= B.length) { - if (X = B.slice(0, $).sort(F), !X.length) - return X; - for (Q = X[X.length - 1], ae = B.slice($), K = 0, Z = ae.length; K < Z; K++) - W = ae[K], F(W, Q) < 0 && (C(X, W, 0, null, F), X.pop(), Q = X[X.length - 1]); - return X; - } - for (g(B, F), J = [], ee = 0, oe = T($, B.length); 0 <= oe ? ee < oe : ee > oe; 0 <= oe ? ++ee : --ee) - J.push(b(B, F)); - return J; - }, H = function(B, $, F, W) { - var Q, X, K; - for (W == null && (W = c), Q = B[F]; F > $; ) { - if (K = F - 1 >> 1, X = B[K], W(Q, X) < 0) { - B[F] = X, F = K; - continue; - } - break; - } - return B[F] = Q; - }, _ = function(B, $, F) { - var W, Q, X, K, ee; - for (F == null && (F = c), Q = B.length, ee = $, X = B[$], W = 2 * $ + 1; W < Q; ) - K = W + 1, K < Q && !(F(B[W], B[K]) < 0) && (W = K), B[$] = B[W], $ = W, W = 2 * $ + 1; - return B[$] = X, H(B, ee, $, F); - }, u = function() { - B.push = y, B.pop = b, B.replace = E, B.pushpop = k, B.heapify = g, B.updateItem = D, B.nlargest = P, B.nsmallest = N; - function B($) { - this.cmp = $ ?? c, this.nodes = []; - } - return B.prototype.push = function($) { - return y(this.nodes, $, this.cmp); - }, B.prototype.pop = function() { - return b(this.nodes, this.cmp); - }, B.prototype.peek = function() { - return this.nodes[0]; - }, B.prototype.contains = function($) { - return this.nodes.indexOf($) !== -1; - }, B.prototype.replace = function($) { - return E(this.nodes, $, this.cmp); - }, B.prototype.pushpop = function($) { - return k(this.nodes, $, this.cmp); - }, B.prototype.heapify = function() { - return g(this.nodes, this.cmp); - }, B.prototype.updateItem = function($) { - return D(this.nodes, $, this.cmp); - }, B.prototype.clear = function() { - return this.nodes = []; - }, B.prototype.empty = function() { - return this.nodes.length === 0; - }, B.prototype.size = function() { - return this.nodes.length; - }, B.prototype.clone = function() { - var $; - return $ = new B(), $.nodes = this.nodes.slice(0), $; - }, B.prototype.toArray = function() { - return this.nodes.slice(0); - }, B.prototype.insert = B.prototype.push, B.prototype.top = B.prototype.peek, B.prototype.front = B.prototype.peek, B.prototype.has = B.prototype.contains, B.prototype.copy = B.prototype.clone, B; - }(), function(B, $) { - return a.exports = $(); - }(this, function() { - return u; - }); - }).call(Cb); -})(DG); -var pne = DG.exports, wne = pne, mne = Array.isArray, o5 = mne, yne = o5, kne = aw, Ene = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Sne = /^\w*$/; -function Cne(a, r) { - if (yne(a)) - return !1; - var u = typeof a; - return u == "number" || u == "symbol" || u == "boolean" || a == null || kne(a) ? !0 : Sne.test(a) || !Ene.test(a) || r != null && a in Object(r); -} -var xne = Cne, Tne = PG, Lne = iw, Pne = "[object AsyncFunction]", Dne = "[object Function]", jne = "[object GeneratorFunction]", Nne = "[object Proxy]"; -function Ine(a) { - if (!Lne(a)) - return !1; - var r = Tne(a); - return r == Dne || r == jne || r == Pne || r == Nne; -} -var Mne = Ine, One = a5, Ane = One["__core-js_shared__"], Rne = Ane, KL = Rne, g_ = function() { - var a = /[^.]+$/.exec(KL && KL.keys && KL.keys.IE_PROTO || ""); - return a ? "Symbol(src)_1." + a : ""; -}(); -function Bne(a) { - return !!g_ && g_ in a; -} -var zne = Bne, Hne = Function.prototype, _ne = Hne.toString; -function Gne(a) { - if (a != null) { - try { - return _ne.call(a); - } catch { - } - try { - return a + ""; - } catch { - } - } - return ""; -} -var $ne = Gne, Yne = Mne, Fne = zne, qne = iw, Vne = $ne, Wne = /[\\^$.*+?()[\]{}|]/g, Une = /^\[object .+?Constructor\]$/, Kne = Function.prototype, Zne = Object.prototype, Xne = Kne.toString, Qne = Zne.hasOwnProperty, Jne = RegExp( - "^" + Xne.call(Qne).replace(Wne, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" -); -function ere(a) { - if (!qne(a) || Fne(a)) - return !1; - var r = Yne(a) ? Jne : Une; - return r.test(Vne(a)); -} -var tre = ere; -function nre(a, r) { - return a == null ? void 0 : a[r]; -} -var rre = nre, ire = tre, are = rre; -function ore(a, r) { - var u = are(a, r); - return ire(u) ? u : void 0; -} -var S6 = ore, sre = S6, ure = sre(Object, "create"), s5 = ure, b_ = s5; -function cre() { - this.__data__ = b_ ? b_(null) : {}, this.size = 0; -} -var lre = cre; -function fre(a) { - var r = this.has(a) && delete this.__data__[a]; - return this.size -= r ? 1 : 0, r; -} -var hre = fre, dre = s5, vre = "__lodash_hash_undefined__", gre = Object.prototype, bre = gre.hasOwnProperty; -function pre(a) { - var r = this.__data__; - if (dre) { - var u = r[a]; - return u === vre ? void 0 : u; - } - return bre.call(r, a) ? r[a] : void 0; -} -var wre = pre, mre = s5, yre = Object.prototype, kre = yre.hasOwnProperty; -function Ere(a) { - var r = this.__data__; - return mre ? r[a] !== void 0 : kre.call(r, a); -} -var Sre = Ere, Cre = s5, xre = "__lodash_hash_undefined__"; -function Tre(a, r) { - var u = this.__data__; - return this.size += this.has(a) ? 0 : 1, u[a] = Cre && r === void 0 ? xre : r, this; -} -var Lre = Tre, Pre = lre, Dre = hre, jre = wre, Nre = Sre, Ire = Lre; -function Ab(a) { - var r = -1, u = a == null ? 0 : a.length; - for (this.clear(); ++r < u; ) { - var c = a[r]; - this.set(c[0], c[1]); - } -} -Ab.prototype.clear = Pre; -Ab.prototype.delete = Dre; -Ab.prototype.get = jre; -Ab.prototype.has = Nre; -Ab.prototype.set = Ire; -var Mre = Ab; -function Ore() { - this.__data__ = [], this.size = 0; -} -var Are = Ore; -function Rre(a, r) { - return a === r || a !== a && r !== r; -} -var jG = Rre, Bre = jG; -function zre(a, r) { - for (var u = a.length; u--; ) - if (Bre(a[u][0], r)) - return u; - return -1; -} -var u5 = zre, Hre = u5, _re = Array.prototype, Gre = _re.splice; -function $re(a) { - var r = this.__data__, u = Hre(r, a); - if (u < 0) - return !1; - var c = r.length - 1; - return u == c ? r.pop() : Gre.call(r, u, 1), --this.size, !0; -} -var Yre = $re, Fre = u5; -function qre(a) { - var r = this.__data__, u = Fre(r, a); - return u < 0 ? void 0 : r[u][1]; -} -var Vre = qre, Wre = u5; -function Ure(a) { - return Wre(this.__data__, a) > -1; -} -var Kre = Ure, Zre = u5; -function Xre(a, r) { - var u = this.__data__, c = Zre(u, a); - return c < 0 ? (++this.size, u.push([a, r])) : u[c][1] = r, this; -} -var Qre = Xre, Jre = Are, eie = Yre, tie = Vre, nie = Kre, rie = Qre; -function Rb(a) { - var r = -1, u = a == null ? 0 : a.length; - for (this.clear(); ++r < u; ) { - var c = a[r]; - this.set(c[0], c[1]); - } -} -Rb.prototype.clear = Jre; -Rb.prototype.delete = eie; -Rb.prototype.get = tie; -Rb.prototype.has = nie; -Rb.prototype.set = rie; -var iie = Rb, aie = S6, oie = a5, sie = aie(oie, "Map"), uie = sie, p_ = Mre, cie = iie, lie = uie; -function fie() { - this.size = 0, this.__data__ = { - hash: new p_(), - map: new (lie || cie)(), - string: new p_() - }; -} -var hie = fie; -function die(a) { - var r = typeof a; - return r == "string" || r == "number" || r == "symbol" || r == "boolean" ? a !== "__proto__" : a === null; -} -var vie = die, gie = vie; -function bie(a, r) { - var u = a.__data__; - return gie(r) ? u[typeof r == "string" ? "string" : "hash"] : u.map; -} -var c5 = bie, pie = c5; -function wie(a) { - var r = pie(this, a).delete(a); - return this.size -= r ? 1 : 0, r; -} -var mie = wie, yie = c5; -function kie(a) { - return yie(this, a).get(a); -} -var Eie = kie, Sie = c5; -function Cie(a) { - return Sie(this, a).has(a); -} -var xie = Cie, Tie = c5; -function Lie(a, r) { - var u = Tie(this, a), c = u.size; - return u.set(a, r), this.size += u.size == c ? 0 : 1, this; -} -var Pie = Lie, Die = hie, jie = mie, Nie = Eie, Iie = xie, Mie = Pie; -function Bb(a) { - var r = -1, u = a == null ? 0 : a.length; - for (this.clear(); ++r < u; ) { - var c = a[r]; - this.set(c[0], c[1]); - } -} -Bb.prototype.clear = Die; -Bb.prototype.delete = jie; -Bb.prototype.get = Nie; -Bb.prototype.has = Iie; -Bb.prototype.set = Mie; -var Oie = Bb, NG = Oie, Aie = "Expected a function"; -function C6(a, r) { - if (typeof a != "function" || r != null && typeof r != "function") - throw new TypeError(Aie); - var u = function() { - var c = arguments, d = r ? r.apply(this, c) : c[0], g = u.cache; - if (g.has(d)) - return g.get(d); - var b = a.apply(this, c); - return u.cache = g.set(d, b) || g, b; - }; - return u.cache = new (C6.Cache || NG)(), u; -} -C6.Cache = NG; -var Rie = C6, Bie = Rie, zie = 500; -function Hie(a) { - var r = Bie(a, function(c) { - return u.size === zie && u.clear(), c; - }), u = r.cache; - return r; -} -var _ie = Hie, Gie = _ie, $ie = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Yie = /\\(\\)?/g, Fie = Gie(function(a) { - var r = []; - return a.charCodeAt(0) === 46 && r.push(""), a.replace($ie, function(u, c, d, g) { - r.push(d ? g.replace(Yie, "$1") : c || u); - }), r; -}), IG = Fie; -function qie(a, r) { - for (var u = -1, c = a == null ? 0 : a.length, d = Array(c); ++u < c; ) - d[u] = r(a[u], u, a); - return d; -} -var MG = qie, w_ = E6, Vie = MG, Wie = o5, Uie = aw, Kie = 1 / 0, m_ = w_ ? w_.prototype : void 0, y_ = m_ ? m_.toString : void 0; -function OG(a) { - if (typeof a == "string") - return a; - if (Wie(a)) - return Vie(a, OG) + ""; - if (Uie(a)) - return y_ ? y_.call(a) : ""; - var r = a + ""; - return r == "0" && 1 / a == -Kie ? "-0" : r; -} -var Zie = OG, Xie = Zie; -function Qie(a) { - return a == null ? "" : Xie(a); -} -var AG = Qie, Jie = o5, eae = xne, tae = IG, nae = AG; -function rae(a, r) { - return Jie(a) ? a : eae(a, r) ? [a] : tae(nae(a)); -} -var RG = rae, iae = aw, aae = 1 / 0; -function oae(a) { - if (typeof a == "string" || iae(a)) - return a; - var r = a + ""; - return r == "0" && 1 / a == -aae ? "-0" : r; -} -var x6 = oae, sae = RG, uae = x6; -function cae(a, r) { - r = sae(r, a); - for (var u = 0, c = r.length; a != null && u < c; ) - a = a[uae(r[u++])]; - return u && u == c ? a : void 0; -} -var lae = cae, fae = lae; -function hae(a, r, u) { - var c = a == null ? void 0 : fae(a, r); - return c === void 0 ? u : c; -} -var dae = hae, vae = S6, gae = function() { - try { - var a = vae(Object, "defineProperty"); - return a({}, "", {}), a; - } catch { - } -}(), bae = gae, k_ = bae; -function pae(a, r, u) { - r == "__proto__" && k_ ? k_(a, r, { - configurable: !0, - enumerable: !0, - value: u, - writable: !0 - }) : a[r] = u; -} -var wae = pae, mae = wae, yae = jG, kae = Object.prototype, Eae = kae.hasOwnProperty; -function Sae(a, r, u) { - var c = a[r]; - (!(Eae.call(a, r) && yae(c, u)) || u === void 0 && !(r in a)) && mae(a, r, u); -} -var Cae = Sae, xae = 9007199254740991, Tae = /^(?:0|[1-9]\d*)$/; -function Lae(a, r) { - var u = typeof a; - return r = r ?? xae, !!r && (u == "number" || u != "symbol" && Tae.test(a)) && a > -1 && a % 1 == 0 && a < r; -} -var Pae = Lae, Dae = Cae, jae = RG, Nae = Pae, E_ = iw, Iae = x6; -function Mae(a, r, u, c) { - if (!E_(a)) - return a; - r = jae(r, a); - for (var d = -1, g = r.length, b = g - 1, y = a; y != null && ++d < g; ) { - var k = Iae(r[d]), E = u; - if (k === "__proto__" || k === "constructor" || k === "prototype") - return a; - if (d != b) { - var C = y[k]; - E = c ? c(C, k, y) : void 0, E === void 0 && (E = E_(C) ? C : Nae(r[d + 1]) ? [] : {}); - } - Dae(y, k, E), y = y[k]; - } - return a; -} -var Oae = Mae, Aae = Oae; -function Rae(a, r, u) { - return a == null ? a : Aae(a, r, u); -} -var Bae = Rae; -function zae(a, r) { - var u = -1, c = a.length; - for (r || (r = Array(c)); ++u < c; ) - r[u] = a[u]; - return r; -} -var Hae = zae, _ae = MG, Gae = Hae, $ae = o5, Yae = aw, Fae = IG, qae = x6, Vae = AG; -function Wae(a) { - return $ae(a) ? _ae(a, qae) : Yae(a) ? [a] : Gae(Fae(Vae(a))); -} -var Uae = Wae, Kae = bne, Zae = wne, Xae = dae, Qae = Bae, Jae = Uae; -function ow(a) { - return a && typeof a == "object" && "default" in a ? a : { default: a }; -} -var l5 = /* @__PURE__ */ ow(Kae), sw = /* @__PURE__ */ ow(Zae), eoe = /* @__PURE__ */ ow(Xae), toe = /* @__PURE__ */ ow(Qae), noe = /* @__PURE__ */ ow(Jae); -function Ra(a) { - "@babel/helpers - typeof"; - return Ra = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(r) { - return typeof r; - } : function(r) { - return r && typeof Symbol == "function" && r.constructor === Symbol && r !== Symbol.prototype ? "symbol" : typeof r; - }, Ra(a); -} -function T6(a, r) { - if (!(a instanceof r)) - throw new TypeError("Cannot call a class as a function"); -} -function S_(a, r) { - for (var u = 0; u < r.length; u++) { - var c = r[u]; - c.enumerable = c.enumerable || !1, c.configurable = !0, "value" in c && (c.writable = !0), Object.defineProperty(a, c.key, c); - } -} -function L6(a, r, u) { - return r && S_(a.prototype, r), u && S_(a, u), Object.defineProperty(a, "prototype", { - writable: !1 - }), a; -} -function BG(a, r, u) { - return r in a ? Object.defineProperty(a, r, { - value: u, - enumerable: !0, - configurable: !0, - writable: !0 - }) : a[r] = u, a; -} -function kc(a, r) { - return roe(a) || ioe(a, r) || aoe(a, r) || ooe(); -} -function roe(a) { - if (Array.isArray(a)) - return a; -} -function ioe(a, r) { - var u = a == null ? null : typeof Symbol < "u" && a[Symbol.iterator] || a["@@iterator"]; - if (u != null) { - var c = [], d = !0, g = !1, b, y; - try { - for (u = u.call(a); !(d = (b = u.next()).done) && (c.push(b.value), !(r && c.length === r)); d = !0) - ; - } catch (k) { - g = !0, y = k; - } finally { - try { - !d && u.return != null && u.return(); - } finally { - if (g) - throw y; - } - } - return c; - } -} -function aoe(a, r) { - if (a) { - if (typeof a == "string") - return C_(a, r); - var u = Object.prototype.toString.call(a).slice(8, -1); - if (u === "Object" && a.constructor && (u = a.constructor.name), u === "Map" || u === "Set") - return Array.from(a); - if (u === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)) - return C_(a, r); - } -} -function C_(a, r) { - (r == null || r > a.length) && (r = a.length); - for (var u = 0, c = new Array(r); u < r; u++) - c[u] = a[u]; - return c; -} -function ooe() { - throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); -} -var Oa = typeof window > "u" ? null : window, x_ = Oa ? Oa.navigator : null; -Oa && Oa.document; -var soe = Ra(""), zG = Ra({}), uoe = Ra(function() { -}), coe = typeof HTMLElement > "u" ? "undefined" : Ra(HTMLElement), uw = function(r) { - return r && r.instanceString && zi(r.instanceString) ? r.instanceString() : null; -}, qt = function(r) { - return r != null && Ra(r) == soe; -}, zi = function(r) { - return r != null && Ra(r) === uoe; -}, Qr = function(r) { - return !tu(r) && (Array.isArray ? Array.isArray(r) : r != null && r instanceof Array); -}, fr = function(r) { - return r != null && Ra(r) === zG && !Qr(r) && r.constructor === Object; -}, loe = function(r) { - return r != null && Ra(r) === zG; -}, kt = function(r) { - return r != null && Ra(r) === Ra(1) && !isNaN(r); -}, foe = function(r) { - return kt(r) && Math.floor(r) === r; -}, ZE = function(r) { - if (coe !== "undefined") - return r != null && r instanceof HTMLElement; -}, tu = function(r) { - return cw(r) || HG(r); -}, cw = function(r) { - return uw(r) === "collection" && r._private.single; -}, HG = function(r) { - return uw(r) === "collection" && !r._private.single; -}, P6 = function(r) { - return uw(r) === "core"; -}, _G = function(r) { - return uw(r) === "stylesheet"; -}, hoe = function(r) { - return uw(r) === "event"; -}, zh = function(r) { - return r == null ? !0 : !!(r === "" || r.match(/^\s+$/)); -}, doe = function(r) { - return typeof HTMLElement > "u" ? !1 : r instanceof HTMLElement; -}, voe = function(r) { - return fr(r) && kt(r.x1) && kt(r.x2) && kt(r.y1) && kt(r.y2); -}, goe = function(r) { - return loe(r) && zi(r.then); -}, boe = function() { - return x_ && x_.userAgent.match(/msie|trident|edge/i); -}, Up = function(r, u) { - u || (u = function() { - if (arguments.length === 1) - return arguments[0]; - if (arguments.length === 0) - return "undefined"; - for (var g = [], b = 0; b < arguments.length; b++) - g.push(arguments[b]); - return g.join("$"); - }); - var c = function d() { - var g = this, b = arguments, y, k = u.apply(g, b), E = d.cache; - return (y = E[k]) || (y = E[k] = r.apply(g, b)), y; - }; - return c.cache = {}, c; -}, D6 = Up(function(a) { - return a.replace(/([A-Z])/g, function(r) { - return "-" + r.toLowerCase(); - }); -}), f5 = Up(function(a) { - return a.replace(/(-\w)/g, function(r) { - return r[1].toUpperCase(); - }); -}), GG = Up(function(a, r) { - return a + r[0].toUpperCase() + r.substring(1); -}, function(a, r) { - return a + "$" + r; -}), T_ = function(r) { - return zh(r) ? r : r.charAt(0).toUpperCase() + r.substring(1); -}, Aa = "(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))", poe = "rgb[a]?\\((" + Aa + "[%]?)\\s*,\\s*(" + Aa + "[%]?)\\s*,\\s*(" + Aa + "[%]?)(?:\\s*,\\s*(" + Aa + "))?\\)", woe = "rgb[a]?\\((?:" + Aa + "[%]?)\\s*,\\s*(?:" + Aa + "[%]?)\\s*,\\s*(?:" + Aa + "[%]?)(?:\\s*,\\s*(?:" + Aa + "))?\\)", moe = "hsl[a]?\\((" + Aa + ")\\s*,\\s*(" + Aa + "[%])\\s*,\\s*(" + Aa + "[%])(?:\\s*,\\s*(" + Aa + "))?\\)", yoe = "hsl[a]?\\((?:" + Aa + ")\\s*,\\s*(?:" + Aa + "[%])\\s*,\\s*(?:" + Aa + "[%])(?:\\s*,\\s*(?:" + Aa + "))?\\)", koe = "\\#[0-9a-fA-F]{3}", Eoe = "\\#[0-9a-fA-F]{6}", $G = function(r, u) { - return r < u ? -1 : r > u ? 1 : 0; -}, Soe = function(r, u) { - return -1 * $G(r, u); -}, on = Object.assign != null ? Object.assign.bind(Object) : function(a) { - for (var r = arguments, u = 1; u < r.length; u++) { - var c = r[u]; - if (c != null) - for (var d = Object.keys(c), g = 0; g < d.length; g++) { - var b = d[g]; - a[b] = c[b]; - } - } - return a; -}, Coe = function(r) { - if (!(!(r.length === 4 || r.length === 7) || r[0] !== "#")) { - var u = r.length === 4, c, d, g, b = 16; - return u ? (c = parseInt(r[1] + r[1], b), d = parseInt(r[2] + r[2], b), g = parseInt(r[3] + r[3], b)) : (c = parseInt(r[1] + r[2], b), d = parseInt(r[3] + r[4], b), g = parseInt(r[5] + r[6], b)), [c, d, g]; - } -}, xoe = function(r) { - var u, c, d, g, b, y, k, E; - function C(D, H, _) { - return _ < 0 && (_ += 1), _ > 1 && (_ -= 1), _ < 1 / 6 ? D + (H - D) * 6 * _ : _ < 1 / 2 ? H : _ < 2 / 3 ? D + (H - D) * (2 / 3 - _) * 6 : D; - } - var T = new RegExp("^" + moe + "$").exec(r); - if (T) { - if (c = parseInt(T[1]), c < 0 ? c = (360 - -1 * c % 360) % 360 : c > 360 && (c = c % 360), c /= 360, d = parseFloat(T[2]), d < 0 || d > 100 || (d = d / 100, g = parseFloat(T[3]), g < 0 || g > 100) || (g = g / 100, b = T[4], b !== void 0 && (b = parseFloat(b), b < 0 || b > 1))) - return; - if (d === 0) - y = k = E = Math.round(g * 255); - else { - var P = g < 0.5 ? g * (1 + d) : g + d - g * d, N = 2 * g - P; - y = Math.round(255 * C(N, P, c + 1 / 3)), k = Math.round(255 * C(N, P, c)), E = Math.round(255 * C(N, P, c - 1 / 3)); - } - u = [y, k, E, b]; - } - return u; -}, Toe = function(r) { - var u, c = new RegExp("^" + poe + "$").exec(r); - if (c) { - u = []; - for (var d = [], g = 1; g <= 3; g++) { - var b = c[g]; - if (b[b.length - 1] === "%" && (d[g] = !0), b = parseFloat(b), d[g] && (b = b / 100 * 255), b < 0 || b > 255) - return; - u.push(Math.floor(b)); - } - var y = d[1] || d[2] || d[3], k = d[1] && d[2] && d[3]; - if (y && !k) - return; - var E = c[4]; - if (E !== void 0) { - if (E = parseFloat(E), E < 0 || E > 1) - return; - u.push(E); - } - } - return u; -}, Loe = function(r) { - return Doe[r.toLowerCase()]; -}, Poe = function(r) { - return (Qr(r) ? r : null) || Loe(r) || Coe(r) || Toe(r) || xoe(r); -}, Doe = { - // special colour names - transparent: [0, 0, 0, 0], - // NB alpha === 0 - // regular colours - aliceblue: [240, 248, 255], - antiquewhite: [250, 235, 215], - aqua: [0, 255, 255], - aquamarine: [127, 255, 212], - azure: [240, 255, 255], - beige: [245, 245, 220], - bisque: [255, 228, 196], - black: [0, 0, 0], - blanchedalmond: [255, 235, 205], - blue: [0, 0, 255], - blueviolet: [138, 43, 226], - brown: [165, 42, 42], - burlywood: [222, 184, 135], - cadetblue: [95, 158, 160], - chartreuse: [127, 255, 0], - chocolate: [210, 105, 30], - coral: [255, 127, 80], - cornflowerblue: [100, 149, 237], - cornsilk: [255, 248, 220], - crimson: [220, 20, 60], - cyan: [0, 255, 255], - darkblue: [0, 0, 139], - darkcyan: [0, 139, 139], - darkgoldenrod: [184, 134, 11], - darkgray: [169, 169, 169], - darkgreen: [0, 100, 0], - darkgrey: [169, 169, 169], - darkkhaki: [189, 183, 107], - darkmagenta: [139, 0, 139], - darkolivegreen: [85, 107, 47], - darkorange: [255, 140, 0], - darkorchid: [153, 50, 204], - darkred: [139, 0, 0], - darksalmon: [233, 150, 122], - darkseagreen: [143, 188, 143], - darkslateblue: [72, 61, 139], - darkslategray: [47, 79, 79], - darkslategrey: [47, 79, 79], - darkturquoise: [0, 206, 209], - darkviolet: [148, 0, 211], - deeppink: [255, 20, 147], - deepskyblue: [0, 191, 255], - dimgray: [105, 105, 105], - dimgrey: [105, 105, 105], - dodgerblue: [30, 144, 255], - firebrick: [178, 34, 34], - floralwhite: [255, 250, 240], - forestgreen: [34, 139, 34], - fuchsia: [255, 0, 255], - gainsboro: [220, 220, 220], - ghostwhite: [248, 248, 255], - gold: [255, 215, 0], - goldenrod: [218, 165, 32], - gray: [128, 128, 128], - grey: [128, 128, 128], - green: [0, 128, 0], - greenyellow: [173, 255, 47], - honeydew: [240, 255, 240], - hotpink: [255, 105, 180], - indianred: [205, 92, 92], - indigo: [75, 0, 130], - ivory: [255, 255, 240], - khaki: [240, 230, 140], - lavender: [230, 230, 250], - lavenderblush: [255, 240, 245], - lawngreen: [124, 252, 0], - lemonchiffon: [255, 250, 205], - lightblue: [173, 216, 230], - lightcoral: [240, 128, 128], - lightcyan: [224, 255, 255], - lightgoldenrodyellow: [250, 250, 210], - lightgray: [211, 211, 211], - lightgreen: [144, 238, 144], - lightgrey: [211, 211, 211], - lightpink: [255, 182, 193], - lightsalmon: [255, 160, 122], - lightseagreen: [32, 178, 170], - lightskyblue: [135, 206, 250], - lightslategray: [119, 136, 153], - lightslategrey: [119, 136, 153], - lightsteelblue: [176, 196, 222], - lightyellow: [255, 255, 224], - lime: [0, 255, 0], - limegreen: [50, 205, 50], - linen: [250, 240, 230], - magenta: [255, 0, 255], - maroon: [128, 0, 0], - mediumaquamarine: [102, 205, 170], - mediumblue: [0, 0, 205], - mediumorchid: [186, 85, 211], - mediumpurple: [147, 112, 219], - mediumseagreen: [60, 179, 113], - mediumslateblue: [123, 104, 238], - mediumspringgreen: [0, 250, 154], - mediumturquoise: [72, 209, 204], - mediumvioletred: [199, 21, 133], - midnightblue: [25, 25, 112], - mintcream: [245, 255, 250], - mistyrose: [255, 228, 225], - moccasin: [255, 228, 181], - navajowhite: [255, 222, 173], - navy: [0, 0, 128], - oldlace: [253, 245, 230], - olive: [128, 128, 0], - olivedrab: [107, 142, 35], - orange: [255, 165, 0], - orangered: [255, 69, 0], - orchid: [218, 112, 214], - palegoldenrod: [238, 232, 170], - palegreen: [152, 251, 152], - paleturquoise: [175, 238, 238], - palevioletred: [219, 112, 147], - papayawhip: [255, 239, 213], - peachpuff: [255, 218, 185], - peru: [205, 133, 63], - pink: [255, 192, 203], - plum: [221, 160, 221], - powderblue: [176, 224, 230], - purple: [128, 0, 128], - red: [255, 0, 0], - rosybrown: [188, 143, 143], - royalblue: [65, 105, 225], - saddlebrown: [139, 69, 19], - salmon: [250, 128, 114], - sandybrown: [244, 164, 96], - seagreen: [46, 139, 87], - seashell: [255, 245, 238], - sienna: [160, 82, 45], - silver: [192, 192, 192], - skyblue: [135, 206, 235], - slateblue: [106, 90, 205], - slategray: [112, 128, 144], - slategrey: [112, 128, 144], - snow: [255, 250, 250], - springgreen: [0, 255, 127], - steelblue: [70, 130, 180], - tan: [210, 180, 140], - teal: [0, 128, 128], - thistle: [216, 191, 216], - tomato: [255, 99, 71], - turquoise: [64, 224, 208], - violet: [238, 130, 238], - wheat: [245, 222, 179], - white: [255, 255, 255], - whitesmoke: [245, 245, 245], - yellow: [255, 255, 0], - yellowgreen: [154, 205, 50] -}, YG = function(r) { - for (var u = r.map, c = r.keys, d = c.length, g = 0; g < d; g++) { - var b = c[g]; - if (fr(b)) - throw Error("Tried to set map with object key"); - g < c.length - 1 ? (u[b] == null && (u[b] = {}), u = u[b]) : u[b] = r.value; - } -}, FG = function(r) { - for (var u = r.map, c = r.keys, d = c.length, g = 0; g < d; g++) { - var b = c[g]; - if (fr(b)) - throw Error("Tried to get map with object key"); - if (u = u[b], u == null) - return u; - } - return u; -}, ZL = Oa ? Oa.performance : null, qG = ZL && ZL.now ? function() { - return ZL.now(); -} : function() { - return Date.now(); -}, joe = function() { - if (Oa) { - if (Oa.requestAnimationFrame) - return function(a) { - Oa.requestAnimationFrame(a); - }; - if (Oa.mozRequestAnimationFrame) - return function(a) { - Oa.mozRequestAnimationFrame(a); - }; - if (Oa.webkitRequestAnimationFrame) - return function(a) { - Oa.webkitRequestAnimationFrame(a); - }; - if (Oa.msRequestAnimationFrame) - return function(a) { - Oa.msRequestAnimationFrame(a); - }; - } - return function(a) { - a && setTimeout(function() { - a(qG()); - }, 1e3 / 60); - }; -}(), XE = function(r) { - return joe(r); -}, kf = qG, xb = 9261, VG = 65599, $p = 5381, WG = function(r) { - for (var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : xb, c = u, d; d = r.next(), !d.done; ) - c = c * VG + d.value | 0; - return c; -}, Kp = function(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : xb; - return u * VG + r | 0; -}, Zp = function(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : $p; - return (u << 5) + u + r | 0; -}, Noe = function(r, u) { - return r * 2097152 + u; -}, Ih = function(r) { - return r[0] * 2097152 + r[1]; -}, NE = function(r, u) { - return [Kp(r[0], u[0]), Zp(r[1], u[1])]; -}, Ioe = function(r, u) { - var c = { - value: 0, - done: !1 - }, d = 0, g = r.length, b = { - next: function() { - return d < g ? c.value = r[d++] : c.done = !0, c; - } - }; - return WG(b, u); -}, fv = function(r, u) { - var c = { - value: 0, - done: !1 - }, d = 0, g = r.length, b = { - next: function() { - return d < g ? c.value = r.charCodeAt(d++) : c.done = !0, c; - } - }; - return WG(b, u); -}, UG = function() { - return Moe(arguments); -}, Moe = function(r) { - for (var u, c = 0; c < r.length; c++) { - var d = r[c]; - c === 0 ? u = fv(d) : u = fv(d, u); - } - return u; -}, L_ = !0, Ooe = console.warn != null, Aoe = console.trace != null, j6 = Number.MAX_SAFE_INTEGER || 9007199254740991, KG = function() { - return !0; -}, QE = function() { - return !1; -}, P_ = function() { - return 0; -}, N6 = function() { -}, Qi = function(r) { - throw new Error(r); -}, ZG = function(r) { - if (r !== void 0) - L_ = !!r; - else - return L_; -}, Sr = function(r) { - ZG() && (Ooe ? console.warn(r) : (console.log(r), Aoe && console.trace())); -}, Roe = function(r) { - return on({}, r); -}, kl = function(r) { - return r == null ? r : Qr(r) ? r.slice() : fr(r) ? Roe(r) : r; -}, Boe = function(r) { - return r.slice(); -}, XG = function(r, u) { - for ( - // loop :) - u = r = ""; - // b - result , a - numeric letiable - r++ < 36; - // - u += r * 51 & 52 ? ( - // return a random number or 4 - (r ^ 15 ? ( - // generate a random number from 0 to 15 - 8 ^ Math.random() * (r ^ 20 ? 16 : 4) - ) : 4).toString(16) - ) : "-" - ) - ; - return u; -}, zoe = {}, QG = function() { - return zoe; -}, po = function(r) { - var u = Object.keys(r); - return function(c) { - for (var d = {}, g = 0; g < u.length; g++) { - var b = u[g], y = c == null ? void 0 : c[b]; - d[b] = y === void 0 ? r[b] : y; - } - return d; - }; -}, Hh = function(r, u, c) { - for (var d = r.length - 1; d >= 0 && !(r[d] === u && (r.splice(d, 1), c)); d--) - ; -}, I6 = function(r) { - r.splice(0, r.length); -}, Hoe = function(r, u) { - for (var c = 0; c < u.length; c++) { - var d = u[c]; - r.push(d); - } -}, Sc = function(r, u, c) { - return c && (u = GG(c, u)), r[u]; -}, Oh = function(r, u, c, d) { - c && (u = GG(c, u)), r[u] = d; -}, _oe = /* @__PURE__ */ function() { - function a() { - T6(this, a), this._obj = {}; - } - return L6(a, [{ - key: "set", - value: function(u, c) { - return this._obj[u] = c, this; - } - }, { - key: "delete", - value: function(u) { - return this._obj[u] = void 0, this; - } - }, { - key: "clear", - value: function() { - this._obj = {}; - } - }, { - key: "has", - value: function(u) { - return this._obj[u] !== void 0; - } - }, { - key: "get", - value: function(u) { - return this._obj[u]; - } - }]), a; -}(), El = typeof Map < "u" ? Map : _oe, Goe = "undefined", $oe = /* @__PURE__ */ function() { - function a(r) { - if (T6(this, a), this._obj = /* @__PURE__ */ Object.create(null), this.size = 0, r != null) { - var u; - r.instanceString != null && r.instanceString() === this.instanceString() ? u = r.toArray() : u = r; - for (var c = 0; c < u.length; c++) - this.add(u[c]); - } - } - return L6(a, [{ - key: "instanceString", - value: function() { - return "set"; - } - }, { - key: "add", - value: function(u) { - var c = this._obj; - c[u] !== 1 && (c[u] = 1, this.size++); - } - }, { - key: "delete", - value: function(u) { - var c = this._obj; - c[u] === 1 && (c[u] = 0, this.size--); - } - }, { - key: "clear", - value: function() { - this._obj = /* @__PURE__ */ Object.create(null); - } - }, { - key: "has", - value: function(u) { - return this._obj[u] === 1; - } - }, { - key: "toArray", - value: function() { - var u = this; - return Object.keys(this._obj).filter(function(c) { - return u.has(c); - }); - } - }, { - key: "forEach", - value: function(u, c) { - return this.toArray().forEach(u, c); - } - }]), a; -}(), zb = (typeof Set > "u" ? "undefined" : Ra(Set)) !== Goe ? Set : $oe, h5 = function(r, u) { - var c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; - if (r === void 0 || u === void 0 || !P6(r)) { - Qi("An element must have a core reference and parameters set"); - return; - } - var d = u.group; - if (d == null && (u.data && u.data.source != null && u.data.target != null ? d = "edges" : d = "nodes"), d !== "nodes" && d !== "edges") { - Qi("An element must be of type `nodes` or `edges`; you specified `" + d + "`"); - return; - } - this.length = 1, this[0] = this; - var g = this._private = { - cy: r, - single: !0, - // indicates this is an element - data: u.data || {}, - // data object - position: u.position || { - x: 0, - y: 0 - }, - // (x, y) position pair - autoWidth: void 0, - // width and height of nodes calculated by the renderer when set to special 'auto' value - autoHeight: void 0, - autoPadding: void 0, - compoundBoundsClean: !1, - // whether the compound dimensions need to be recalculated the next time dimensions are read - listeners: [], - // array of bound listeners - group: d, - // string; 'nodes' or 'edges' - style: {}, - // properties as set by the style - rstyle: {}, - // properties for style sent from the renderer to the core - styleCxts: [], - // applied style contexts from the styler - styleKeys: {}, - // per-group keys of style property values - removed: !0, - // whether it's inside the vis; true if removed (set true here since we call restore) - selected: !!u.selected, - // whether it's selected - selectable: u.selectable === void 0 ? !0 : !!u.selectable, - // whether it's selectable - locked: !!u.locked, - // whether the element is locked (cannot be moved) - grabbed: !1, - // whether the element is grabbed by the mouse; renderer sets this privately - grabbable: u.grabbable === void 0 ? !0 : !!u.grabbable, - // whether the element can be grabbed - pannable: u.pannable === void 0 ? d === "edges" : !!u.pannable, - // whether the element has passthrough panning enabled - active: !1, - // whether the element is active from user interaction - classes: new zb(), - // map ( className => true ) - animation: { - // object for currently-running animations - current: [], - queue: [] - }, - rscratch: {}, - // object in which the renderer can store information - scratch: u.scratch || {}, - // scratch objects - edges: [], - // array of connected edges - children: [], - // array of children - parent: u.parent && u.parent.isNode() ? u.parent : null, - // parent ref - traversalCache: {}, - // cache of output of traversal functions - backgrounding: !1, - // whether background images are loading - bbCache: null, - // cache of the current bounding box - bbCacheShift: { - x: 0, - y: 0 - }, - // shift applied to cached bb to be applied on next get - bodyBounds: null, - // bounds cache of element body, w/o overlay - overlayBounds: null, - // bounds cache of element body, including overlay - labelBounds: { - // bounds cache of labels - all: null, - source: null, - target: null, - main: null - }, - arrowBounds: { - // bounds cache of edge arrows - source: null, - target: null, - "mid-source": null, - "mid-target": null - } - }; - if (g.position.x == null && (g.position.x = 0), g.position.y == null && (g.position.y = 0), u.renderedPosition) { - var b = u.renderedPosition, y = r.pan(), k = r.zoom(); - g.position = { - x: (b.x - y.x) / k, - y: (b.y - y.y) / k - }; - } - var E = []; - Qr(u.classes) ? E = u.classes : qt(u.classes) && (E = u.classes.split(/\s+/)); - for (var C = 0, T = E.length; C < T; C++) { - var P = E[C]; - !P || P === "" || g.classes.add(P); - } - this.createEmitter(); - var N = u.style || u.css; - N && (Sr("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."), this.style(N)), (c === void 0 || c) && this.restore(); -}, D_ = function(r) { - return r = { - bfs: r.bfs || !r.dfs, - dfs: r.dfs || !r.bfs - }, function(c, d, g) { - var b; - fr(c) && !tu(c) && (b = c, c = b.roots || b.root, d = b.visit, g = b.directed), g = arguments.length === 2 && !zi(d) ? d : g, d = zi(d) ? d : function() { - }; - for (var y = this._private.cy, k = c = qt(c) ? this.filter(c) : c, E = [], C = [], T = {}, P = {}, N = {}, D = 0, H, _ = this.byGroup(), B = _.nodes, $ = _.edges, F = 0; F < k.length; F++) { - var W = k[F], Q = W.id(); - W.isNode() && (E.unshift(W), r.bfs && (N[Q] = !0, C.push(W)), P[Q] = 0); - } - for (var X = function() { - var fe = r.bfs ? E.shift() : E.pop(), se = fe.id(); - if (r.dfs) { - if (N[se]) - return "continue"; - N[se] = !0, C.push(fe); - } - var pe = P[se], he = T[se], de = he != null ? he.source() : null, ke = he != null ? he.target() : null, Pe = he == null ? void 0 : fe.same(de) ? ke[0] : de[0], Ae = void 0; - if (Ae = d(fe, he, Pe, D++, pe), Ae === !0) - return H = fe, "break"; - if (Ae === !1) - return "break"; - for (var Te = fe.connectedEdges().filter(function(Ge) { - return (!g || Ge.source().same(fe)) && $.has(Ge); - }), Oe = 0; Oe < Te.length; Oe++) { - var ze = Te[Oe], We = ze.connectedNodes().filter(function(Ge) { - return !Ge.same(fe) && B.has(Ge); - }), $e = We.id(); - We.length !== 0 && !N[$e] && (We = We[0], E.push(We), r.bfs && (N[$e] = !0, C.push(We)), T[$e] = ze, P[$e] = P[se] + 1); - } - }; E.length !== 0; ) { - var K = X(); - if (K !== "continue" && K === "break") - break; - } - for (var ee = y.collection(), Z = 0; Z < C.length; Z++) { - var ae = C[Z], oe = T[ae.id()]; - oe != null && ee.push(oe), ee.push(ae); - } - return { - path: y.collection(ee), - found: y.collection(H) - }; - }; -}, Xp = { - breadthFirstSearch: D_({ - bfs: !0 - }), - depthFirstSearch: D_({ - dfs: !0 - }) -}; -Xp.bfs = Xp.breadthFirstSearch; -Xp.dfs = Xp.depthFirstSearch; -var Yoe = po({ - root: null, - weight: function(r) { - return 1; - }, - directed: !1 -}), Foe = { - dijkstra: function(r) { - if (!fr(r)) { - var u = arguments; - r = { - root: u[0], - weight: u[1], - directed: u[2] - }; - } - var c = Yoe(r), d = c.root, g = c.weight, b = c.directed, y = this, k = g, E = qt(d) ? this.filter(d)[0] : d[0], C = {}, T = {}, P = {}, N = this.byGroup(), D = N.nodes, H = N.edges; - H.unmergeBy(function(pe) { - return pe.isLoop(); - }); - for (var _ = function(he) { - return C[he.id()]; - }, B = function(he, de) { - C[he.id()] = de, $.updateItem(he); - }, $ = new sw.default(function(pe, he) { - return _(pe) - _(he); - }), F = 0; F < D.length; F++) { - var W = D[F]; - C[W.id()] = W.same(E) ? 0 : 1 / 0, $.push(W); - } - for (var Q = function(he, de) { - for (var ke = (b ? he.edgesTo(de) : he.edgesWith(de)).intersect(H), Pe = 1 / 0, Ae, Te = 0; Te < ke.length; Te++) { - var Oe = ke[Te], ze = k(Oe); - (ze < Pe || !Ae) && (Pe = ze, Ae = Oe); - } - return { - edge: Ae, - dist: Pe - }; - }; $.size() > 0; ) { - var X = $.pop(), K = _(X), ee = X.id(); - if (P[ee] = K, K !== 1 / 0) - for (var Z = X.neighborhood().intersect(D), ae = 0; ae < Z.length; ae++) { - var oe = Z[ae], J = oe.id(), fe = Q(X, oe), se = K + fe.dist; - se < _(oe) && (B(oe, se), T[J] = { - node: X, - edge: fe.edge - }); - } - } - return { - distanceTo: function(he) { - var de = qt(he) ? D.filter(he)[0] : he[0]; - return P[de.id()]; - }, - pathTo: function(he) { - var de = qt(he) ? D.filter(he)[0] : he[0], ke = [], Pe = de, Ae = Pe.id(); - if (de.length > 0) - for (ke.unshift(de); T[Ae]; ) { - var Te = T[Ae]; - ke.unshift(Te.edge), ke.unshift(Te.node), Pe = Te.node, Ae = Pe.id(); - } - return y.spawn(ke); - } - }; - } -}, qoe = { - // kruskal's algorithm (finds min spanning tree, assuming undirected graph) - // implemented from pseudocode from wikipedia - kruskal: function(r) { - r = r || function(F) { - return 1; - }; - for (var u = this.byGroup(), c = u.nodes, d = u.edges, g = c.length, b = new Array(g), y = c, k = function(W) { - for (var Q = 0; Q < b.length; Q++) { - var X = b[Q]; - if (X.has(W)) - return Q; - } - }, E = 0; E < g; E++) - b[E] = this.spawn(c[E]); - for (var C = d.sort(function(F, W) { - return r(F) - r(W); - }), T = 0; T < C.length; T++) { - var P = C[T], N = P.source()[0], D = P.target()[0], H = k(N), _ = k(D), B = b[H], $ = b[_]; - H !== _ && (y.merge(P), B.merge($), b.splice(_, 1)); - } - return y; - } -}, Voe = po({ - root: null, - goal: null, - weight: function(r) { - return 1; - }, - heuristic: function(r) { - return 0; - }, - directed: !1 -}), Woe = { - // Implemented from pseudocode from wikipedia - aStar: function(r) { - var u = this.cy(), c = Voe(r), d = c.root, g = c.goal, b = c.heuristic, y = c.directed, k = c.weight; - d = u.collection(d)[0], g = u.collection(g)[0]; - var E = d.id(), C = g.id(), T = {}, P = {}, N = {}, D = new sw.default(function(Ae, Te) { - return P[Ae.id()] - P[Te.id()]; - }), H = new zb(), _ = {}, B = {}, $ = function(Te, Oe) { - D.push(Te), H.add(Oe); - }, F, W, Q = function() { - F = D.pop(), W = F.id(), H.delete(W); - }, X = function(Te) { - return H.has(Te); - }; - $(d, E), T[E] = 0, P[E] = b(d); - for (var K = 0; D.size() > 0; ) { - if (Q(), K++, W === C) { - for (var ee = [], Z = g, ae = C, oe = B[ae]; ee.unshift(Z), oe != null && ee.unshift(oe), Z = _[ae], Z != null; ) - ae = Z.id(), oe = B[ae]; - return { - found: !0, - distance: T[W], - path: this.spawn(ee), - steps: K - }; - } - N[W] = !0; - for (var J = F._private.edges, fe = 0; fe < J.length; fe++) { - var se = J[fe]; - if (this.hasElementWithId(se.id()) && !(y && se.data("source") !== W)) { - var pe = se.source(), he = se.target(), de = pe.id() !== W ? pe : he, ke = de.id(); - if (this.hasElementWithId(ke) && !N[ke]) { - var Pe = T[W] + k(se); - if (!X(ke)) { - T[ke] = Pe, P[ke] = Pe + b(de), $(de, ke), _[ke] = F, B[ke] = se; - continue; - } - Pe < T[ke] && (T[ke] = Pe, P[ke] = Pe + b(de), _[ke] = F, B[ke] = se); - } - } - } - } - return { - found: !1, - distance: void 0, - path: void 0, - steps: K - }; - } -}, Uoe = po({ - weight: function(r) { - return 1; - }, - directed: !1 -}), Koe = { - // Implemented from pseudocode from wikipedia - floydWarshall: function(r) { - for (var u = this.cy(), c = Uoe(r), d = c.weight, g = c.directed, b = d, y = this.byGroup(), k = y.nodes, E = y.edges, C = k.length, T = C * C, P = function(ze) { - return k.indexOf(ze); - }, N = function(ze) { - return k[ze]; - }, D = new Array(T), H = 0; H < T; H++) { - var _ = H % C, B = (H - _) / C; - B === _ ? D[H] = 0 : D[H] = 1 / 0; - } - for (var $ = new Array(T), F = new Array(T), W = 0; W < E.length; W++) { - var Q = E[W], X = Q.source()[0], K = Q.target()[0]; - if (X !== K) { - var ee = P(X), Z = P(K), ae = ee * C + Z, oe = b(Q); - if (D[ae] > oe && (D[ae] = oe, $[ae] = Z, F[ae] = Q), !g) { - var J = Z * C + ee; - !g && D[J] > oe && (D[J] = oe, $[J] = ee, F[J] = Q); - } - } - } - for (var fe = 0; fe < C; fe++) - for (var se = 0; se < C; se++) - for (var pe = se * C + fe, he = 0; he < C; he++) { - var de = se * C + he, ke = fe * C + he; - D[pe] + D[ke] < D[de] && (D[de] = D[pe] + D[ke], $[de] = $[pe]); - } - var Pe = function(ze) { - return (qt(ze) ? u.filter(ze) : ze)[0]; - }, Ae = function(ze) { - return P(Pe(ze)); - }, Te = { - distance: function(ze, We) { - var $e = Ae(ze), Ge = Ae(We); - return D[$e * C + Ge]; - }, - path: function(ze, We) { - var $e = Ae(ze), Ge = Ae(We), me = N($e); - if ($e === Ge) - return me.collection(); - if ($[$e * C + Ge] == null) - return u.collection(); - var Ve = u.collection(), Ke = $e, at; - for (Ve.merge(me); $e !== Ge; ) - Ke = $e, $e = $[$e * C + Ge], at = F[Ke * C + $e], Ve.merge(at), Ve.merge(N($e)); - return Ve; - } - }; - return Te; - } - // floydWarshall -}, Zoe = po({ - weight: function(r) { - return 1; - }, - directed: !1, - root: null -}), Xoe = { - // Implemented from pseudocode from wikipedia - bellmanFord: function(r) { - var u = this, c = Zoe(r), d = c.weight, g = c.directed, b = c.root, y = d, k = this, E = this.cy(), C = this.byGroup(), T = C.edges, P = C.nodes, N = P.length, D = new El(), H = !1, _ = []; - b = E.collection(b)[0], T.unmergeBy(function(Lt) { - return Lt.isLoop(); - }); - for (var B = T.length, $ = function(yt) { - var Mt = D.get(yt.id()); - return Mt || (Mt = {}, D.set(yt.id(), Mt)), Mt; - }, F = function(yt) { - return (qt(yt) ? E.$(yt) : yt)[0]; - }, W = function(yt) { - return $(F(yt)).dist; - }, Q = function(yt) { - for (var Mt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : b, In = F(yt), Pn = [], Vt = In; ; ) { - if (Vt == null) - return u.spawn(); - var ar = $(Vt), Qe = ar.edge, ne = ar.pred; - if (Pn.unshift(Vt[0]), Vt.same(Mt) && Pn.length > 0) - break; - Qe != null && Pn.unshift(Qe), Vt = ne; - } - return k.spawn(Pn); - }, X = 0; X < N; X++) { - var K = P[X], ee = $(K); - K.same(b) ? ee.dist = 0 : ee.dist = 1 / 0, ee.pred = null, ee.edge = null; - } - for (var Z = !1, ae = function(yt, Mt, In, Pn, Vt, ar) { - var Qe = Pn.dist + ar; - Qe < Vt.dist && !In.same(Pn.edge) && (Vt.dist = Qe, Vt.pred = yt, Vt.edge = In, Z = !0); - }, oe = 1; oe < N; oe++) { - Z = !1; - for (var J = 0; J < B; J++) { - var fe = T[J], se = fe.source(), pe = fe.target(), he = y(fe), de = $(se), ke = $(pe); - ae(se, pe, fe, de, ke, he), g || ae(pe, se, fe, ke, de, he); - } - if (!Z) - break; - } - if (Z) - for (var Pe = [], Ae = 0; Ae < B; Ae++) { - var Te = T[Ae], Oe = Te.source(), ze = Te.target(), We = y(Te), $e = $(Oe).dist, Ge = $(ze).dist; - if ($e + We < Ge || !g && Ge + We < $e) - if (H || (Sr("Graph contains a negative weight cycle for Bellman-Ford"), H = !0), r.findNegativeWeightCycles !== !1) { - var me = []; - $e + We < Ge && me.push(Oe), !g && Ge + We < $e && me.push(ze); - for (var Ve = me.length, Ke = 0; Ke < Ve; Ke++) { - var at = me[Ke], ft = [at]; - ft.push($(at).edge); - for (var en = $(at).pred; ft.indexOf(en) === -1; ) - ft.push(en), ft.push($(en).edge), en = $(en).pred; - ft = ft.slice(ft.indexOf(en)); - for (var gn = ft[0].id(), mt = 0, ht = 2; ht < ft.length; ht += 2) - ft[ht].id() < gn && (gn = ft[ht].id(), mt = ht); - ft = ft.slice(mt).concat(ft.slice(0, mt)), ft.push(ft[0]); - var Rt = ft.map(function(Lt) { - return Lt.id(); - }).join(","); - Pe.indexOf(Rt) === -1 && (_.push(k.spawn(ft)), Pe.push(Rt)); - } - } else - break; - } - return { - distanceTo: W, - pathTo: Q, - hasNegativeWeightCycle: H, - negativeWeightCycles: _ - }; - } - // bellmanFord -}, Qoe = Math.sqrt(2), Joe = function(r, u, c) { - c.length === 0 && Qi("Karger-Stein must be run on a connected (sub)graph"); - for (var d = c[r], g = d[1], b = d[2], y = u[g], k = u[b], E = c, C = E.length - 1; C >= 0; C--) { - var T = E[C], P = T[1], N = T[2]; - (u[P] === y && u[N] === k || u[P] === k && u[N] === y) && E.splice(C, 1); - } - for (var D = 0; D < E.length; D++) { - var H = E[D]; - H[1] === k ? (E[D] = H.slice(), E[D][1] = y) : H[2] === k && (E[D] = H.slice(), E[D][2] = y); - } - for (var _ = 0; _ < u.length; _++) - u[_] === k && (u[_] = y); - return E; -}, XL = function(r, u, c, d) { - for (; c > d; ) { - var g = Math.floor(Math.random() * u.length); - u = Joe(g, r, u), c--; - } - return u; -}, ese = { - // Computes the minimum cut of an undirected graph - // Returns the correct answer with high probability - kargerStein: function() { - var r = this, u = this.byGroup(), c = u.nodes, d = u.edges; - d.unmergeBy(function(ke) { - return ke.isLoop(); - }); - var g = c.length, b = d.length, y = Math.ceil(Math.pow(Math.log(g) / Math.LN2, 2)), k = Math.floor(g / Qoe); - if (g < 2) { - Qi("At least 2 nodes are required for Karger-Stein algorithm"); - return; - } - for (var E = [], C = 0; C < b; C++) { - var T = d[C]; - E.push([C, c.indexOf(T.source()), c.indexOf(T.target())]); - } - for (var P = 1 / 0, N = [], D = new Array(g), H = new Array(g), _ = new Array(g), B = function(Pe, Ae) { - for (var Te = 0; Te < g; Te++) - Ae[Te] = Pe[Te]; - }, $ = 0; $ <= y; $++) { - for (var F = 0; F < g; F++) - H[F] = F; - var W = XL(H, E.slice(), g, k), Q = W.slice(); - B(H, _); - var X = XL(H, W, k, 2), K = XL(_, Q, k, 2); - X.length <= K.length && X.length < P ? (P = X.length, N = X, B(H, D)) : K.length <= X.length && K.length < P && (P = K.length, N = K, B(_, D)); - } - for (var ee = this.spawn(N.map(function(ke) { - return d[ke[0]]; - })), Z = this.spawn(), ae = this.spawn(), oe = D[0], J = 0; J < D.length; J++) { - var fe = D[J], se = c[J]; - fe === oe ? Z.merge(se) : ae.merge(se); - } - var pe = function(Pe) { - var Ae = r.spawn(); - return Pe.forEach(function(Te) { - Ae.merge(Te), Te.connectedEdges().forEach(function(Oe) { - r.contains(Oe) && !ee.contains(Oe) && Ae.merge(Oe); - }); - }), Ae; - }, he = [pe(Z), pe(ae)], de = { - cut: ee, - components: he, - // n.b. partitions are included to be compatible with the old api spec - // (could be removed in a future major version) - partition1: Z, - partition2: ae - }; - return de; - } -}, tse = function(r) { - return { - x: r.x, - y: r.y - }; -}, d5 = function(r, u, c) { - return { - x: r.x * u + c.x, - y: r.y * u + c.y - }; -}, JG = function(r, u, c) { - return { - x: (r.x - c.x) / u, - y: (r.y - c.y) / u - }; -}, Tb = function(r) { - return { - x: r[0], - y: r[1] - }; -}, nse = function(r) { - for (var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : r.length, d = 1 / 0, g = u; g < c; g++) { - var b = r[g]; - isFinite(b) && (d = Math.min(b, d)); - } - return d; -}, rse = function(r) { - for (var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : r.length, d = -1 / 0, g = u; g < c; g++) { - var b = r[g]; - isFinite(b) && (d = Math.max(b, d)); - } - return d; -}, ise = function(r) { - for (var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : r.length, d = 0, g = 0, b = u; b < c; b++) { - var y = r[b]; - isFinite(y) && (d += y, g++); - } - return d / g; -}, ase = function(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : r.length, d = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, g = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, b = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0; - d ? r = r.slice(u, c) : (c < r.length && r.splice(c, r.length - c), u > 0 && r.splice(0, u)); - for (var y = 0, k = r.length - 1; k >= 0; k--) { - var E = r[k]; - b ? isFinite(E) || (r[k] = -1 / 0, y++) : r.splice(k, 1); - } - g && r.sort(function(P, N) { - return P - N; - }); - var C = r.length, T = Math.floor(C / 2); - return C % 2 !== 0 ? r[T + 1 + y] : (r[T - 1 + y] + r[T + y]) / 2; -}, ose = function(r) { - return Math.PI * r / 180; -}, IE = function(r, u) { - return Math.atan2(u, r) - Math.PI / 2; -}, M6 = Math.log2 || function(a) { - return Math.log(a) / Math.log(2); -}, e$ = function(r) { - return r > 0 ? 1 : r < 0 ? -1 : 0; -}, hv = function(r, u) { - return Math.sqrt(uv(r, u)); -}, uv = function(r, u) { - var c = u.x - r.x, d = u.y - r.y; - return c * c + d * d; -}, sse = function(r) { - for (var u = r.length, c = 0, d = 0; d < u; d++) - c += r[d]; - for (var g = 0; g < u; g++) - r[g] = r[g] / c; - return r; -}, Ja = function(r, u, c, d) { - return (1 - d) * (1 - d) * r + 2 * (1 - d) * d * u + d * d * c; -}, Pb = function(r, u, c, d) { - return { - x: Ja(r.x, u.x, c.x, d), - y: Ja(r.y, u.y, c.y, d) - }; -}, use = function(r, u, c, d) { - var g = { - x: u.x - r.x, - y: u.y - r.y - }, b = hv(r, u), y = { - x: g.x / b, - y: g.y / b - }; - return c = c ?? 0, d = d ?? c * b, { - x: r.x + y.x * d, - y: r.y + y.y * d - }; -}, Qp = function(r, u, c) { - return Math.max(r, Math.min(c, u)); -}, Ms = function(r) { - if (r == null) - return { - x1: 1 / 0, - y1: 1 / 0, - x2: -1 / 0, - y2: -1 / 0, - w: 0, - h: 0 - }; - if (r.x1 != null && r.y1 != null) { - if (r.x2 != null && r.y2 != null && r.x2 >= r.x1 && r.y2 >= r.y1) - return { - x1: r.x1, - y1: r.y1, - x2: r.x2, - y2: r.y2, - w: r.x2 - r.x1, - h: r.y2 - r.y1 - }; - if (r.w != null && r.h != null && r.w >= 0 && r.h >= 0) - return { - x1: r.x1, - y1: r.y1, - x2: r.x1 + r.w, - y2: r.y1 + r.h, - w: r.w, - h: r.h - }; - } -}, cse = function(r) { - return { - x1: r.x1, - x2: r.x2, - w: r.w, - y1: r.y1, - y2: r.y2, - h: r.h - }; -}, lse = function(r) { - r.x1 = 1 / 0, r.y1 = 1 / 0, r.x2 = -1 / 0, r.y2 = -1 / 0, r.w = 0, r.h = 0; -}, fse = function(r, u) { - r.x1 = Math.min(r.x1, u.x1), r.x2 = Math.max(r.x2, u.x2), r.w = r.x2 - r.x1, r.y1 = Math.min(r.y1, u.y1), r.y2 = Math.max(r.y2, u.y2), r.h = r.y2 - r.y1; -}, hse = function(r, u, c) { - r.x1 = Math.min(r.x1, u), r.x2 = Math.max(r.x2, u), r.w = r.x2 - r.x1, r.y1 = Math.min(r.y1, c), r.y2 = Math.max(r.y2, c), r.h = r.y2 - r.y1; -}, YE = function(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; - return r.x1 -= u, r.x2 += u, r.y1 -= u, r.y2 += u, r.w = r.x2 - r.x1, r.h = r.y2 - r.y1, r; -}, QL = function(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0], c, d, g, b; - if (u.length === 1) - c = d = g = b = u[0]; - else if (u.length === 2) - c = g = u[0], b = d = u[1]; - else if (u.length === 4) { - var y = kc(u, 4); - c = y[0], d = y[1], g = y[2], b = y[3]; - } - return r.x1 -= b, r.x2 += d, r.y1 -= c, r.y2 += g, r.w = r.x2 - r.x1, r.h = r.y2 - r.y1, r; -}, j_ = function(r, u) { - r.x1 = u.x1, r.y1 = u.y1, r.x2 = u.x2, r.y2 = u.y2, r.w = r.x2 - r.x1, r.h = r.y2 - r.y1; -}, O6 = function(r, u) { - return !(r.x1 > u.x2 || u.x1 > r.x2 || r.x2 < u.x1 || u.x2 < r.x1 || r.y2 < u.y1 || u.y2 < r.y1 || r.y1 > u.y2 || u.y1 > r.y2); -}, Ib = function(r, u, c) { - return r.x1 <= u && u <= r.x2 && r.y1 <= c && c <= r.y2; -}, dse = function(r, u) { - return Ib(r, u.x, u.y); -}, t$ = function(r, u) { - return Ib(r, u.x1, u.y1) && Ib(r, u.x2, u.y2); -}, n$ = function(r, u, c, d, g, b, y) { - var k = lw(g, b), E = g / 2, C = b / 2, T; - { - var P = c - E + k - y, N = d - C - y, D = c + E - k + y, H = N; - if (T = Ah(r, u, c, d, P, N, D, H, !1), T.length > 0) - return T; - } - { - var _ = c + E + y, B = d - C + k - y, $ = _, F = d + C - k + y; - if (T = Ah(r, u, c, d, _, B, $, F, !1), T.length > 0) - return T; - } - { - var W = c - E + k - y, Q = d + C + y, X = c + E - k + y, K = Q; - if (T = Ah(r, u, c, d, W, Q, X, K, !1), T.length > 0) - return T; - } - { - var ee = c - E - y, Z = d - C + k - y, ae = ee, oe = d + C - k + y; - if (T = Ah(r, u, c, d, ee, Z, ae, oe, !1), T.length > 0) - return T; - } - var J; - { - var fe = c - E + k, se = d - C + k; - if (J = Yp(r, u, c, d, fe, se, k + y), J.length > 0 && J[0] <= fe && J[1] <= se) - return [J[0], J[1]]; - } - { - var pe = c + E - k, he = d - C + k; - if (J = Yp(r, u, c, d, pe, he, k + y), J.length > 0 && J[0] >= pe && J[1] <= he) - return [J[0], J[1]]; - } - { - var de = c + E - k, ke = d + C - k; - if (J = Yp(r, u, c, d, de, ke, k + y), J.length > 0 && J[0] >= de && J[1] >= ke) - return [J[0], J[1]]; - } - { - var Pe = c - E + k, Ae = d + C - k; - if (J = Yp(r, u, c, d, Pe, Ae, k + y), J.length > 0 && J[0] <= Pe && J[1] >= Ae) - return [J[0], J[1]]; - } - return []; -}, vse = function(r, u, c, d, g, b, y) { - var k = y, E = Math.min(c, g), C = Math.max(c, g), T = Math.min(d, b), P = Math.max(d, b); - return E - k <= r && r <= C + k && T - k <= u && u <= P + k; -}, gse = function(r, u, c, d, g, b, y, k, E) { - var C = { - x1: Math.min(c, y, g) - E, - x2: Math.max(c, y, g) + E, - y1: Math.min(d, k, b) - E, - y2: Math.max(d, k, b) + E - }; - return !(r < C.x1 || r > C.x2 || u < C.y1 || u > C.y2); -}, bse = function(r, u, c, d) { - c -= d; - var g = u * u - 4 * r * c; - if (g < 0) - return []; - var b = Math.sqrt(g), y = 2 * r, k = (-u + b) / y, E = (-u - b) / y; - return [k, E]; -}, pse = function(r, u, c, d, g) { - var b = 1e-5; - r === 0 && (r = b), u /= r, c /= r, d /= r; - var y, k, E, C, T, P, N, D; - if (k = (3 * c - u * u) / 9, E = -(27 * d) + u * (9 * c - 2 * (u * u)), E /= 54, y = k * k * k + E * E, g[1] = 0, N = u / 3, y > 0) { - T = E + Math.sqrt(y), T = T < 0 ? -Math.pow(-T, 1 / 3) : Math.pow(T, 1 / 3), P = E - Math.sqrt(y), P = P < 0 ? -Math.pow(-P, 1 / 3) : Math.pow(P, 1 / 3), g[0] = -N + T + P, N += (T + P) / 2, g[4] = g[2] = -N, N = Math.sqrt(3) * (-P + T) / 2, g[3] = N, g[5] = -N; - return; - } - if (g[5] = g[3] = 0, y === 0) { - D = E < 0 ? -Math.pow(-E, 1 / 3) : Math.pow(E, 1 / 3), g[0] = -N + 2 * D, g[4] = g[2] = -(D + N); - return; - } - k = -k, C = k * k * k, C = Math.acos(E / Math.sqrt(C)), D = 2 * Math.sqrt(k), g[0] = -N + D * Math.cos(C / 3), g[2] = -N + D * Math.cos((C + 2 * Math.PI) / 3), g[4] = -N + D * Math.cos((C + 4 * Math.PI) / 3); -}, wse = function(r, u, c, d, g, b, y, k) { - var E = 1 * c * c - 4 * c * g + 2 * c * y + 4 * g * g - 4 * g * y + y * y + d * d - 4 * d * b + 2 * d * k + 4 * b * b - 4 * b * k + k * k, C = 1 * 9 * c * g - 3 * c * c - 3 * c * y - 6 * g * g + 3 * g * y + 9 * d * b - 3 * d * d - 3 * d * k - 6 * b * b + 3 * b * k, T = 1 * 3 * c * c - 6 * c * g + c * y - c * r + 2 * g * g + 2 * g * r - y * r + 3 * d * d - 6 * d * b + d * k - d * u + 2 * b * b + 2 * b * u - k * u, P = 1 * c * g - c * c + c * r - g * r + d * b - d * d + d * u - b * u, N = []; - pse(E, C, T, P, N); - for (var D = 1e-7, H = [], _ = 0; _ < 6; _ += 2) - Math.abs(N[_ + 1]) < D && N[_] >= 0 && N[_] <= 1 && H.push(N[_]); - H.push(1), H.push(0); - for (var B = -1, $, F, W, Q = 0; Q < H.length; Q++) - $ = Math.pow(1 - H[Q], 2) * c + 2 * (1 - H[Q]) * H[Q] * g + H[Q] * H[Q] * y, F = Math.pow(1 - H[Q], 2) * d + 2 * (1 - H[Q]) * H[Q] * b + H[Q] * H[Q] * k, W = Math.pow($ - r, 2) + Math.pow(F - u, 2), B >= 0 ? W < B && (B = W) : B = W; - return B; -}, mse = function(r, u, c, d, g, b) { - var y = [r - c, u - d], k = [g - c, b - d], E = k[0] * k[0] + k[1] * k[1], C = y[0] * y[0] + y[1] * y[1], T = y[0] * k[0] + y[1] * k[1], P = T * T / E; - return T < 0 ? C : P > E ? (r - g) * (r - g) + (u - b) * (u - b) : C - P; -}, Is = function(r, u, c) { - for (var d, g, b, y, k, E = 0, C = 0; C < c.length / 2; C++) - if (d = c[C * 2], g = c[C * 2 + 1], C + 1 < c.length / 2 ? (b = c[(C + 1) * 2], y = c[(C + 1) * 2 + 1]) : (b = c[(C + 1 - c.length / 2) * 2], y = c[(C + 1 - c.length / 2) * 2 + 1]), !(d == r && b == r)) - if (d >= r && r >= b || d <= r && r <= b) - k = (r - d) / (b - d) * (y - g) + g, k > u && E++; - else - continue; - return E % 2 !== 0; -}, Ef = function(r, u, c, d, g, b, y, k, E) { - var C = new Array(c.length), T; - k[0] != null ? (T = Math.atan(k[1] / k[0]), k[0] < 0 ? T = T + Math.PI / 2 : T = -T - Math.PI / 2) : T = k; - for (var P = Math.cos(-T), N = Math.sin(-T), D = 0; D < C.length / 2; D++) - C[D * 2] = b / 2 * (c[D * 2] * P - c[D * 2 + 1] * N), C[D * 2 + 1] = y / 2 * (c[D * 2 + 1] * P + c[D * 2] * N), C[D * 2] += d, C[D * 2 + 1] += g; - var H; - if (E > 0) { - var _ = i$(C, -E); - H = r$(_); - } else - H = C; - return Is(r, u, H); -}, yse = function(r, u, c, d, g, b, y) { - for (var k = new Array(c.length), E = b / 2, C = y / 2, T = A6(b, y), P = T * T, N = 0; N < c.length / 4; N++) { - var D = void 0, H = void 0; - N === 0 ? D = c.length - 2 : D = N * 4 - 2, H = N * 4 + 2; - var _ = d + E * c[N * 4], B = g + C * c[N * 4 + 1], $ = -c[D] * c[H] - c[D + 1] * c[H + 1], F = T / Math.tan(Math.acos($) / 2), W = _ - F * c[D], Q = B - F * c[D + 1], X = _ + F * c[H], K = B + F * c[H + 1]; - k[N * 4] = W, k[N * 4 + 1] = Q, k[N * 4 + 2] = X, k[N * 4 + 3] = K; - var ee = c[D + 1], Z = -c[D], ae = ee * c[H] + Z * c[H + 1]; - ae < 0 && (ee *= -1, Z *= -1); - var oe = W + ee * T, J = Q + Z * T, fe = Math.pow(oe - r, 2) + Math.pow(J - u, 2); - if (fe <= P) - return !0; - } - return Is(r, u, k); -}, r$ = function(r) { - for (var u = new Array(r.length / 2), c, d, g, b, y, k, E, C, T = 0; T < r.length / 4; T++) { - c = r[T * 4], d = r[T * 4 + 1], g = r[T * 4 + 2], b = r[T * 4 + 3], T < r.length / 4 - 1 ? (y = r[(T + 1) * 4], k = r[(T + 1) * 4 + 1], E = r[(T + 1) * 4 + 2], C = r[(T + 1) * 4 + 3]) : (y = r[0], k = r[1], E = r[2], C = r[3]); - var P = Ah(c, d, g, b, y, k, E, C, !0); - u[T * 2] = P[0], u[T * 2 + 1] = P[1]; - } - return u; -}, i$ = function(r, u) { - for (var c = new Array(r.length * 2), d, g, b, y, k = 0; k < r.length / 2; k++) { - d = r[k * 2], g = r[k * 2 + 1], k < r.length / 2 - 1 ? (b = r[(k + 1) * 2], y = r[(k + 1) * 2 + 1]) : (b = r[0], y = r[1]); - var E = y - g, C = -(b - d), T = Math.sqrt(E * E + C * C), P = E / T, N = C / T; - c[k * 4] = d + P * u, c[k * 4 + 1] = g + N * u, c[k * 4 + 2] = b + P * u, c[k * 4 + 3] = y + N * u; - } - return c; -}, kse = function(r, u, c, d, g, b) { - var y = c - r, k = d - u; - y /= g, k /= b; - var E = Math.sqrt(y * y + k * k), C = E - 1; - if (C < 0) - return []; - var T = C / E; - return [(c - r) * T + r, (d - u) * T + u]; -}, lv = function(r, u, c, d, g, b, y) { - return r -= g, u -= b, r /= c / 2 + y, u /= d / 2 + y, r * r + u * u <= 1; -}, Yp = function(r, u, c, d, g, b, y) { - var k = [c - r, d - u], E = [r - g, u - b], C = k[0] * k[0] + k[1] * k[1], T = 2 * (E[0] * k[0] + E[1] * k[1]), P = E[0] * E[0] + E[1] * E[1] - y * y, N = T * T - 4 * C * P; - if (N < 0) - return []; - var D = (-T + Math.sqrt(N)) / (2 * C), H = (-T - Math.sqrt(N)) / (2 * C), _ = Math.min(D, H), B = Math.max(D, H), $ = []; - if (_ >= 0 && _ <= 1 && $.push(_), B >= 0 && B <= 1 && $.push(B), $.length === 0) - return []; - var F = $[0] * k[0] + r, W = $[0] * k[1] + u; - if ($.length > 1) { - if ($[0] == $[1]) - return [F, W]; - var Q = $[1] * k[0] + r, X = $[1] * k[1] + u; - return [F, W, Q, X]; - } else - return [F, W]; -}, JL = function(r, u, c) { - return u <= r && r <= c || c <= r && r <= u ? r : r <= u && u <= c || c <= u && u <= r ? u : c; -}, Ah = function(r, u, c, d, g, b, y, k, E) { - var C = r - g, T = c - r, P = y - g, N = u - b, D = d - u, H = k - b, _ = P * N - H * C, B = T * N - D * C, $ = H * T - P * D; - if ($ !== 0) { - var F = _ / $, W = B / $, Q = 1e-3, X = 0 - Q, K = 1 + Q; - return X <= F && F <= K && X <= W && W <= K ? [r + F * T, u + F * D] : E ? [r + F * T, u + F * D] : []; - } else - return _ === 0 || B === 0 ? JL(r, c, y) === y ? [y, k] : JL(r, c, g) === g ? [g, b] : JL(g, y, c) === c ? [c, d] : [] : []; -}, Jp = function(r, u, c, d, g, b, y, k) { - var E = [], C, T = new Array(c.length), P = !0; - b == null && (P = !1); - var N; - if (P) { - for (var D = 0; D < T.length / 2; D++) - T[D * 2] = c[D * 2] * b + d, T[D * 2 + 1] = c[D * 2 + 1] * y + g; - if (k > 0) { - var H = i$(T, -k); - N = r$(H); - } else - N = T; - } else - N = c; - for (var _, B, $, F, W = 0; W < N.length / 2; W++) - _ = N[W * 2], B = N[W * 2 + 1], W < N.length / 2 - 1 ? ($ = N[(W + 1) * 2], F = N[(W + 1) * 2 + 1]) : ($ = N[0], F = N[1]), C = Ah(r, u, d, g, _, B, $, F), C.length !== 0 && E.push(C[0], C[1]); - return E; -}, Ese = function(r, u, c, d, g, b, y, k) { - for (var E = [], C, T = new Array(c.length), P = b / 2, N = y / 2, D = A6(b, y), H = 0; H < c.length / 4; H++) { - var _ = void 0, B = void 0; - H === 0 ? _ = c.length - 2 : _ = H * 4 - 2, B = H * 4 + 2; - var $ = d + P * c[H * 4], F = g + N * c[H * 4 + 1], W = -c[_] * c[B] - c[_ + 1] * c[B + 1], Q = D / Math.tan(Math.acos(W) / 2), X = $ - Q * c[_], K = F - Q * c[_ + 1], ee = $ + Q * c[B], Z = F + Q * c[B + 1]; - H === 0 ? (T[c.length - 2] = X, T[c.length - 1] = K) : (T[H * 4 - 2] = X, T[H * 4 - 1] = K), T[H * 4] = ee, T[H * 4 + 1] = Z; - var ae = c[_ + 1], oe = -c[_], J = ae * c[B] + oe * c[B + 1]; - J < 0 && (ae *= -1, oe *= -1); - var fe = X + ae * D, se = K + oe * D; - C = Yp(r, u, d, g, fe, se, D), C.length !== 0 && E.push(C[0], C[1]); - } - for (var pe = 0; pe < T.length / 4; pe++) - C = Ah(r, u, d, g, T[pe * 4], T[pe * 4 + 1], T[pe * 4 + 2], T[pe * 4 + 3], !1), C.length !== 0 && E.push(C[0], C[1]); - if (E.length > 2) { - for (var he = [E[0], E[1]], de = Math.pow(he[0] - r, 2) + Math.pow(he[1] - u, 2), ke = 1; ke < E.length / 2; ke++) { - var Pe = Math.pow(E[ke * 2] - r, 2) + Math.pow(E[ke * 2 + 1] - u, 2); - Pe <= de && (he[0] = E[ke * 2], he[1] = E[ke * 2 + 1], de = Pe); - } - return he; - } - return E; -}, ME = function(r, u, c) { - var d = [r[0] - u[0], r[1] - u[1]], g = Math.sqrt(d[0] * d[0] + d[1] * d[1]), b = (g - c) / g; - return b < 0 && (b = 1e-5), [u[0] + b * d[0], u[1] + b * d[1]]; -}, us = function(r, u) { - var c = c6(r, u); - return c = a$(c), c; -}, a$ = function(r) { - for (var u, c, d = r.length / 2, g = 1 / 0, b = 1 / 0, y = -1 / 0, k = -1 / 0, E = 0; E < d; E++) - u = r[2 * E], c = r[2 * E + 1], g = Math.min(g, u), y = Math.max(y, u), b = Math.min(b, c), k = Math.max(k, c); - for (var C = 2 / (y - g), T = 2 / (k - b), P = 0; P < d; P++) - u = r[2 * P] = r[2 * P] * C, c = r[2 * P + 1] = r[2 * P + 1] * T, g = Math.min(g, u), y = Math.max(y, u), b = Math.min(b, c), k = Math.max(k, c); - if (b < -1) - for (var N = 0; N < d; N++) - c = r[2 * N + 1] = r[2 * N + 1] + (-1 - b); - return r; -}, c6 = function(r, u) { - var c = 1 / r * 2 * Math.PI, d = r % 2 === 0 ? Math.PI / 2 + c / 2 : Math.PI / 2; - d += u; - for (var g = new Array(r * 2), b, y = 0; y < r; y++) - b = y * c + d, g[2 * y] = Math.cos(b), g[2 * y + 1] = Math.sin(-b); - return g; -}, lw = function(r, u) { - return Math.min(r / 4, u / 4, 8); -}, A6 = function(r, u) { - return Math.min(r / 10, u / 10, 8); -}, o$ = function() { - return 8; -}, Sse = function(r, u, c) { - return [r - 2 * u + c, 2 * (u - r), r]; -}, l6 = function(r, u) { - return { - heightOffset: Math.min(15, 0.05 * u), - widthOffset: Math.min(100, 0.25 * r), - ctrlPtOffsetPct: 0.05 - }; -}, Cse = po({ - dampingFactor: 0.8, - precision: 1e-6, - iterations: 200, - weight: function(r) { - return 1; - } -}), xse = { - pageRank: function(r) { - for (var u = Cse(r), c = u.dampingFactor, d = u.precision, g = u.iterations, b = u.weight, y = this._private.cy, k = this.byGroup(), E = k.nodes, C = k.edges, T = E.length, P = T * T, N = C.length, D = new Array(P), H = new Array(T), _ = (1 - c) / T, B = 0; B < T; B++) { - for (var $ = 0; $ < T; $++) { - var F = B * T + $; - D[F] = 0; - } - H[B] = 0; - } - for (var W = 0; W < N; W++) { - var Q = C[W], X = Q.data("source"), K = Q.data("target"); - if (X !== K) { - var ee = E.indexOfId(X), Z = E.indexOfId(K), ae = b(Q), oe = Z * T + ee; - D[oe] += ae, H[ee] += ae; - } - } - for (var J = 1 / T + _, fe = 0; fe < T; fe++) - if (H[fe] === 0) - for (var se = 0; se < T; se++) { - var pe = se * T + fe; - D[pe] = J; - } - else - for (var he = 0; he < T; he++) { - var de = he * T + fe; - D[de] = D[de] / H[fe] + _; - } - for (var ke = new Array(T), Pe = new Array(T), Ae, Te = 0; Te < T; Te++) - ke[Te] = 1; - for (var Oe = 0; Oe < g; Oe++) { - for (var ze = 0; ze < T; ze++) - Pe[ze] = 0; - for (var We = 0; We < T; We++) - for (var $e = 0; $e < T; $e++) { - var Ge = We * T + $e; - Pe[We] += D[Ge] * ke[$e]; - } - sse(Pe), Ae = ke, ke = Pe, Pe = Ae; - for (var me = 0, Ve = 0; Ve < T; Ve++) { - var Ke = Ae[Ve] - ke[Ve]; - me += Ke * Ke; - } - if (me < d) - break; - } - var at = { - rank: function(en) { - return en = y.collection(en)[0], ke[E.indexOf(en)]; - } - }; - return at; - } - // pageRank -}, N_ = po({ - root: null, - weight: function(r) { - return 1; - }, - directed: !1, - alpha: 0 -}), Db = { - degreeCentralityNormalized: function(r) { - r = N_(r); - var u = this.cy(), c = this.nodes(), d = c.length; - if (r.directed) { - for (var C = {}, T = {}, P = 0, N = 0, D = 0; D < d; D++) { - var H = c[D], _ = H.id(); - r.root = H; - var B = this.degreeCentrality(r); - P < B.indegree && (P = B.indegree), N < B.outdegree && (N = B.outdegree), C[_] = B.indegree, T[_] = B.outdegree; - } - return { - indegree: function(F) { - return P == 0 ? 0 : (qt(F) && (F = u.filter(F)), C[F.id()] / P); - }, - outdegree: function(F) { - return N === 0 ? 0 : (qt(F) && (F = u.filter(F)), T[F.id()] / N); - } - }; - } else { - for (var g = {}, b = 0, y = 0; y < d; y++) { - var k = c[y]; - r.root = k; - var E = this.degreeCentrality(r); - b < E.degree && (b = E.degree), g[k.id()] = E.degree; - } - return { - degree: function(F) { - return b === 0 ? 0 : (qt(F) && (F = u.filter(F)), g[F.id()] / b); - } - }; - } - }, - // degreeCentralityNormalized - // Implemented from the algorithm in Opsahl's paper - // "Node centrality in weighted networks: Generalizing degree and shortest paths" - // check the heading 2 "Degree" - degreeCentrality: function(r) { - r = N_(r); - var u = this.cy(), c = this, d = r, g = d.root, b = d.weight, y = d.directed, k = d.alpha; - if (g = u.collection(g)[0], y) { - for (var N = g.connectedEdges(), D = N.filter(function(X) { - return X.target().same(g) && c.has(X); - }), H = N.filter(function(X) { - return X.source().same(g) && c.has(X); - }), _ = D.length, B = H.length, $ = 0, F = 0, W = 0; W < D.length; W++) - $ += b(D[W]); - for (var Q = 0; Q < H.length; Q++) - F += b(H[Q]); - return { - indegree: Math.pow(_, 1 - k) * Math.pow($, k), - outdegree: Math.pow(B, 1 - k) * Math.pow(F, k) - }; - } else { - for (var E = g.connectedEdges().intersection(c), C = E.length, T = 0, P = 0; P < E.length; P++) - T += b(E[P]); - return { - degree: Math.pow(C, 1 - k) * Math.pow(T, k) - }; - } - } - // degreeCentrality -}; -Db.dc = Db.degreeCentrality; -Db.dcn = Db.degreeCentralityNormalised = Db.degreeCentralityNormalized; -var I_ = po({ - harmonic: !0, - weight: function() { - return 1; - }, - directed: !1, - root: null -}), jb = { - closenessCentralityNormalized: function(r) { - for (var u = I_(r), c = u.harmonic, d = u.weight, g = u.directed, b = this.cy(), y = {}, k = 0, E = this.nodes(), C = this.floydWarshall({ - weight: d, - directed: g - }), T = 0; T < E.length; T++) { - for (var P = 0, N = E[T], D = 0; D < E.length; D++) - if (T !== D) { - var H = C.distance(N, E[D]); - c ? P += 1 / H : P += H; - } - c || (P = 1 / P), k < P && (k = P), y[N.id()] = P; - } - return { - closeness: function(B) { - return k == 0 ? 0 : (qt(B) ? B = b.filter(B)[0].id() : B = B.id(), y[B] / k); - } - }; - }, - // Implemented from pseudocode from wikipedia - closenessCentrality: function(r) { - var u = I_(r), c = u.root, d = u.weight, g = u.directed, b = u.harmonic; - c = this.filter(c)[0]; - for (var y = this.dijkstra({ - root: c, - weight: d, - directed: g - }), k = 0, E = this.nodes(), C = 0; C < E.length; C++) { - var T = E[C]; - if (!T.same(c)) { - var P = y.distanceTo(T); - b ? k += 1 / P : k += P; - } - } - return b ? k : 1 / k; - } - // closenessCentrality -}; -jb.cc = jb.closenessCentrality; -jb.ccn = jb.closenessCentralityNormalised = jb.closenessCentralityNormalized; -var Tse = po({ - weight: null, - directed: !1 -}), f6 = { - // Implemented from the algorithm in the paper "On Variants of Shortest-Path Betweenness Centrality and their Generic Computation" by Ulrik Brandes - betweennessCentrality: function(r) { - for (var u = Tse(r), c = u.directed, d = u.weight, g = d != null, b = this.cy(), y = this.nodes(), k = {}, E = {}, C = 0, T = { - set: function(F, W) { - E[F] = W, W > C && (C = W); - }, - get: function(F) { - return E[F]; - } - }, P = 0; P < y.length; P++) { - var N = y[P], D = N.id(); - c ? k[D] = N.outgoers().nodes() : k[D] = N.openNeighborhood().nodes(), T.set(D, 0); - } - for (var H = function(F) { - for (var W = y[F].id(), Q = [], X = {}, K = {}, ee = {}, Z = new sw.default(function($e, Ge) { - return ee[$e] - ee[Ge]; - }), ae = 0; ae < y.length; ae++) { - var oe = y[ae].id(); - X[oe] = [], K[oe] = 0, ee[oe] = 1 / 0; - } - for (K[W] = 1, ee[W] = 0, Z.push(W); !Z.empty(); ) { - var J = Z.pop(); - if (Q.push(J), g) - for (var fe = 0; fe < k[J].length; fe++) { - var se = k[J][fe], pe = b.getElementById(J), he = void 0; - pe.edgesTo(se).length > 0 ? he = pe.edgesTo(se)[0] : he = se.edgesTo(pe)[0]; - var de = d(he); - se = se.id(), ee[se] > ee[J] + de && (ee[se] = ee[J] + de, Z.nodes.indexOf(se) < 0 ? Z.push(se) : Z.updateItem(se), K[se] = 0, X[se] = []), ee[se] == ee[J] + de && (K[se] = K[se] + K[J], X[se].push(J)); - } - else - for (var ke = 0; ke < k[J].length; ke++) { - var Pe = k[J][ke].id(); - ee[Pe] == 1 / 0 && (Z.push(Pe), ee[Pe] = ee[J] + 1), ee[Pe] == ee[J] + 1 && (K[Pe] = K[Pe] + K[J], X[Pe].push(J)); - } - } - for (var Ae = {}, Te = 0; Te < y.length; Te++) - Ae[y[Te].id()] = 0; - for (; Q.length > 0; ) { - for (var Oe = Q.pop(), ze = 0; ze < X[Oe].length; ze++) { - var We = X[Oe][ze]; - Ae[We] = Ae[We] + K[We] / K[Oe] * (1 + Ae[Oe]); - } - Oe != y[F].id() && T.set(Oe, T.get(Oe) + Ae[Oe]); - } - }, _ = 0; _ < y.length; _++) - H(_); - var B = { - betweenness: function(F) { - var W = b.collection(F).id(); - return T.get(W); - }, - betweennessNormalized: function(F) { - if (C == 0) - return 0; - var W = b.collection(F).id(); - return T.get(W) / C; - } - }; - return B.betweennessNormalised = B.betweennessNormalized, B; - } - // betweennessCentrality -}; -f6.bc = f6.betweennessCentrality; -var Lse = po({ - expandFactor: 2, - // affects time of computation and cluster granularity to some extent: M * M - inflateFactor: 2, - // affects cluster granularity (the greater the value, the more clusters): M(i,j) / E(j) - multFactor: 1, - // optional self loops for each node. Use a neutral value to improve cluster computations. - maxIterations: 20, - // maximum number of iterations of the MCL algorithm in a single run - attributes: [ - // attributes/features used to group nodes, ie. similarity values between nodes - function(a) { - return 1; - } - ] -}), Pse = function(r) { - return Lse(r); -}, Dse = function(r, u) { - for (var c = 0, d = 0; d < u.length; d++) - c += u[d](r); - return c; -}, jse = function(r, u, c) { - for (var d = 0; d < u; d++) - r[d * u + d] = c; -}, s$ = function(r, u) { - for (var c, d = 0; d < u; d++) { - c = 0; - for (var g = 0; g < u; g++) - c += r[g * u + d]; - for (var b = 0; b < u; b++) - r[b * u + d] = r[b * u + d] / c; - } -}, Nse = function(r, u, c) { - for (var d = new Array(c * c), g = 0; g < c; g++) { - for (var b = 0; b < c; b++) - d[g * c + b] = 0; - for (var y = 0; y < c; y++) - for (var k = 0; k < c; k++) - d[g * c + k] += r[g * c + y] * u[y * c + k]; - } - return d; -}, Ise = function(r, u, c) { - for (var d = r.slice(0), g = 1; g < c; g++) - r = Nse(r, d, u); - return r; -}, Mse = function(r, u, c) { - for (var d = new Array(u * u), g = 0; g < u * u; g++) - d[g] = Math.pow(r[g], c); - return s$(d, u), d; -}, Ose = function(r, u, c, d) { - for (var g = 0; g < c; g++) { - var b = Math.round(r[g] * Math.pow(10, d)) / Math.pow(10, d), y = Math.round(u[g] * Math.pow(10, d)) / Math.pow(10, d); - if (b !== y) - return !1; - } - return !0; -}, Ase = function(r, u, c, d) { - for (var g = [], b = 0; b < u; b++) { - for (var y = [], k = 0; k < u; k++) - Math.round(r[b * u + k] * 1e3) / 1e3 > 0 && y.push(c[k]); - y.length !== 0 && g.push(d.collection(y)); - } - return g; -}, Rse = function(r, u) { - for (var c = 0; c < r.length; c++) - if (!u[c] || r[c].id() !== u[c].id()) - return !1; - return !0; -}, Bse = function(r) { - for (var u = 0; u < r.length; u++) - for (var c = 0; c < r.length; c++) - u != c && Rse(r[u], r[c]) && r.splice(c, 1); - return r; -}, M_ = function(r) { - for (var u = this.nodes(), c = this.edges(), d = this.cy(), g = Pse(r), b = {}, y = 0; y < u.length; y++) - b[u[y].id()] = y; - for (var k = u.length, E = k * k, C = new Array(E), T, P = 0; P < E; P++) - C[P] = 0; - for (var N = 0; N < c.length; N++) { - var D = c[N], H = b[D.source().id()], _ = b[D.target().id()], B = Dse(D, g.attributes); - C[H * k + _] += B, C[_ * k + H] += B; - } - jse(C, k, g.multFactor), s$(C, k); - for (var $ = !0, F = 0; $ && F < g.maxIterations; ) - $ = !1, T = Ise(C, k, g.expandFactor), C = Mse(T, k, g.inflateFactor), Ose(C, T, E, 4) || ($ = !0), F++; - var W = Ase(C, k, u, d); - return W = Bse(W), W; -}, zse = { - markovClustering: M_, - mcl: M_ -}, Hse = function(r) { - return r; -}, u$ = function(r, u) { - return Math.abs(u - r); -}, O_ = function(r, u, c) { - return r + u$(u, c); -}, A_ = function(r, u, c) { - return r + Math.pow(c - u, 2); -}, _se = function(r) { - return Math.sqrt(r); -}, Gse = function(r, u, c) { - return Math.max(r, u$(u, c)); -}, Bp = function(r, u, c, d, g) { - for (var b = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : Hse, y = d, k, E, C = 0; C < r; C++) - k = u(C), E = c(C), y = g(y, k, E); - return b(y); -}, Mb = { - euclidean: function(r, u, c) { - return r >= 2 ? Bp(r, u, c, 0, A_, _se) : Bp(r, u, c, 0, O_); - }, - squaredEuclidean: function(r, u, c) { - return Bp(r, u, c, 0, A_); - }, - manhattan: function(r, u, c) { - return Bp(r, u, c, 0, O_); - }, - max: function(r, u, c) { - return Bp(r, u, c, -1 / 0, Gse); - } -}; -Mb["squared-euclidean"] = Mb.squaredEuclidean; -Mb.squaredeuclidean = Mb.squaredEuclidean; -function v5(a, r, u, c, d, g) { - var b; - return zi(a) ? b = a : b = Mb[a] || Mb.euclidean, r === 0 && zi(a) ? b(d, g) : b(r, u, c, d, g); -} -var $se = po({ - k: 2, - m: 2, - sensitivityThreshold: 1e-4, - distance: "euclidean", - maxIterations: 10, - attributes: [], - testMode: !1, - testCentroids: null -}), R6 = function(r) { - return $se(r); -}, JE = function(r, u, c, d, g) { - var b = g !== "kMedoids", y = b ? function(T) { - return c[T]; - } : function(T) { - return d[T](c); - }, k = function(P) { - return d[P](u); - }, E = c, C = u; - return v5(r, d.length, y, k, E, C); -}, e6 = function(r, u, c) { - for (var d = c.length, g = new Array(d), b = new Array(d), y = new Array(u), k = null, E = 0; E < d; E++) - g[E] = r.min(c[E]).value, b[E] = r.max(c[E]).value; - for (var C = 0; C < u; C++) { - k = []; - for (var T = 0; T < d; T++) - k[T] = Math.random() * (b[T] - g[T]) + g[T]; - y[C] = k; - } - return y; -}, c$ = function(r, u, c, d, g) { - for (var b = 1 / 0, y = 0, k = 0; k < u.length; k++) { - var E = JE(c, r, u[k], d, g); - E < b && (b = E, y = k); - } - return y; -}, l$ = function(r, u, c) { - for (var d = [], g = null, b = 0; b < u.length; b++) - g = u[b], c[g.id()] === r && d.push(g); - return d; -}, Yse = function(r, u, c) { - return Math.abs(u - r) <= c; -}, Fse = function(r, u, c) { - for (var d = 0; d < r.length; d++) - for (var g = 0; g < r[d].length; g++) { - var b = Math.abs(r[d][g] - u[d][g]); - if (b > c) - return !1; - } - return !0; -}, qse = function(r, u, c) { - for (var d = 0; d < c; d++) - if (r === u[d]) - return !0; - return !1; -}, R_ = function(r, u) { - var c = new Array(u); - if (r.length < 50) - for (var d = 0; d < u; d++) { - for (var g = r[Math.floor(Math.random() * r.length)]; qse(g, c, d); ) - g = r[Math.floor(Math.random() * r.length)]; - c[d] = g; - } - else - for (var b = 0; b < u; b++) - c[b] = r[Math.floor(Math.random() * r.length)]; - return c; -}, B_ = function(r, u, c) { - for (var d = 0, g = 0; g < u.length; g++) - d += JE("manhattan", u[g], r, c, "kMedoids"); - return d; -}, Vse = function(r) { - var u = this.cy(), c = this.nodes(), d = null, g = R6(r), b = new Array(g.k), y = {}, k; - g.testMode ? typeof g.testCentroids == "number" ? (g.testCentroids, k = e6(c, g.k, g.attributes)) : Ra(g.testCentroids) === "object" ? k = g.testCentroids : k = e6(c, g.k, g.attributes) : k = e6(c, g.k, g.attributes); - for (var E = !0, C = 0; E && C < g.maxIterations; ) { - for (var T = 0; T < c.length; T++) - d = c[T], y[d.id()] = c$(d, k, g.distance, g.attributes, "kMeans"); - E = !1; - for (var P = 0; P < g.k; P++) { - var N = l$(P, c, y); - if (N.length !== 0) { - for (var D = g.attributes.length, H = k[P], _ = new Array(D), B = new Array(D), $ = 0; $ < D; $++) { - B[$] = 0; - for (var F = 0; F < N.length; F++) - d = N[F], B[$] += g.attributes[$](d); - _[$] = B[$] / N.length, Yse(_[$], H[$], g.sensitivityThreshold) || (E = !0); - } - k[P] = _, b[P] = u.collection(N); - } - } - C++; - } - return b; -}, Wse = function(r) { - var u = this.cy(), c = this.nodes(), d = null, g = R6(r), b = new Array(g.k), y, k = {}, E, C = new Array(g.k); - g.testMode ? typeof g.testCentroids == "number" || (Ra(g.testCentroids) === "object" ? y = g.testCentroids : y = R_(c, g.k)) : y = R_(c, g.k); - for (var T = !0, P = 0; T && P < g.maxIterations; ) { - for (var N = 0; N < c.length; N++) - d = c[N], k[d.id()] = c$(d, y, g.distance, g.attributes, "kMedoids"); - T = !1; - for (var D = 0; D < y.length; D++) { - var H = l$(D, c, k); - if (H.length !== 0) { - C[D] = B_(y[D], H, g.attributes); - for (var _ = 0; _ < H.length; _++) - E = B_(H[_], H, g.attributes), E < C[D] && (C[D] = E, y[D] = H[_], T = !0); - b[D] = u.collection(H); - } - } - P++; - } - return b; -}, Use = function(r, u, c, d, g) { - for (var b, y, k = 0; k < u.length; k++) - for (var E = 0; E < r.length; E++) - d[k][E] = Math.pow(c[k][E], g.m); - for (var C = 0; C < r.length; C++) - for (var T = 0; T < g.attributes.length; T++) { - b = 0, y = 0; - for (var P = 0; P < u.length; P++) - b += d[P][C] * g.attributes[T](u[P]), y += d[P][C]; - r[C][T] = b / y; - } -}, Kse = function(r, u, c, d, g) { - for (var b = 0; b < r.length; b++) - u[b] = r[b].slice(); - for (var y, k, E, C = 2 / (g.m - 1), T = 0; T < c.length; T++) - for (var P = 0; P < d.length; P++) { - y = 0; - for (var N = 0; N < c.length; N++) - k = JE(g.distance, d[P], c[T], g.attributes, "cmeans"), E = JE(g.distance, d[P], c[N], g.attributes, "cmeans"), y += Math.pow(k / E, C); - r[P][T] = 1 / y; - } -}, Zse = function(r, u, c, d) { - for (var g = new Array(c.k), b = 0; b < g.length; b++) - g[b] = []; - for (var y, k, E = 0; E < u.length; E++) { - y = -1 / 0, k = -1; - for (var C = 0; C < u[0].length; C++) - u[E][C] > y && (y = u[E][C], k = C); - g[k].push(r[E]); - } - for (var T = 0; T < g.length; T++) - g[T] = d.collection(g[T]); - return g; -}, z_ = function(r) { - var u = this.cy(), c = this.nodes(), d = R6(r), g, b, y, k, E; - k = new Array(c.length); - for (var C = 0; C < c.length; C++) - k[C] = new Array(d.k); - y = new Array(c.length); - for (var T = 0; T < c.length; T++) - y[T] = new Array(d.k); - for (var P = 0; P < c.length; P++) { - for (var N = 0, D = 0; D < d.k; D++) - y[P][D] = Math.random(), N += y[P][D]; - for (var H = 0; H < d.k; H++) - y[P][H] = y[P][H] / N; - } - b = new Array(d.k); - for (var _ = 0; _ < d.k; _++) - b[_] = new Array(d.attributes.length); - E = new Array(c.length); - for (var B = 0; B < c.length; B++) - E[B] = new Array(d.k); - for (var $ = !0, F = 0; $ && F < d.maxIterations; ) - $ = !1, Use(b, c, y, E, d), Kse(y, k, b, c, d), Fse(y, k, d.sensitivityThreshold) || ($ = !0), F++; - return g = Zse(c, y, d, u), { - clusters: g, - degreeOfMembership: y - }; -}, Xse = { - kMeans: Vse, - kMedoids: Wse, - fuzzyCMeans: z_, - fcm: z_ -}, Qse = po({ - distance: "euclidean", - // distance metric to compare nodes - linkage: "min", - // linkage criterion : how to determine the distance between clusters of nodes - mode: "threshold", - // mode:'threshold' => clusters must be threshold distance apart - threshold: 1 / 0, - // the distance threshold - // mode:'dendrogram' => the nodes are organised as leaves in a tree (siblings are close), merging makes clusters - addDendrogram: !1, - // whether to add the dendrogram to the graph for viz - dendrogramDepth: 0, - // depth at which dendrogram branches are merged into the returned clusters - attributes: [] - // array of attr functions -}), Jse = { - single: "min", - complete: "max" -}, eue = function(r) { - var u = Qse(r), c = Jse[u.linkage]; - return c != null && (u.linkage = c), u; -}, H_ = function(r, u, c, d, g) { - for (var b = 0, y = 1 / 0, k, E = g.attributes, C = function(Z, ae) { - return v5(g.distance, E.length, function(oe) { - return E[oe](Z); - }, function(oe) { - return E[oe](ae); - }, Z, ae); - }, T = 0; T < r.length; T++) { - var P = r[T].key, N = c[P][d[P]]; - N < y && (b = P, y = N); - } - if (g.mode === "threshold" && y >= g.threshold || g.mode === "dendrogram" && r.length === 1) - return !1; - var D = u[b], H = u[d[b]], _; - g.mode === "dendrogram" ? _ = { - left: D, - right: H, - key: D.key - } : _ = { - value: D.value.concat(H.value), - key: D.key - }, r[D.index] = _, r.splice(H.index, 1), u[D.key] = _; - for (var B = 0; B < r.length; B++) { - var $ = r[B]; - D.key === $.key ? k = 1 / 0 : g.linkage === "min" ? (k = c[D.key][$.key], c[D.key][$.key] > c[H.key][$.key] && (k = c[H.key][$.key])) : g.linkage === "max" ? (k = c[D.key][$.key], c[D.key][$.key] < c[H.key][$.key] && (k = c[H.key][$.key])) : g.linkage === "mean" ? k = (c[D.key][$.key] * D.size + c[H.key][$.key] * H.size) / (D.size + H.size) : g.mode === "dendrogram" ? k = C($.value, D.value) : k = C($.value[0], D.value[0]), c[D.key][$.key] = c[$.key][D.key] = k; - } - for (var F = 0; F < r.length; F++) { - var W = r[F].key; - if (d[W] === D.key || d[W] === H.key) { - for (var Q = W, X = 0; X < r.length; X++) { - var K = r[X].key; - c[W][K] < c[W][Q] && (Q = K); - } - d[W] = Q; - } - r[F].index = F; - } - return D.key = H.key = D.index = H.index = null, !0; -}, OE = function a(r, u, c) { - r && (r.value ? u.push(r.value) : (r.left && a(r.left, u), r.right && a(r.right, u))); -}, tue = function a(r, u) { - if (!r) - return ""; - if (r.left && r.right) { - var c = a(r.left, u), d = a(r.right, u), g = u.add({ - group: "nodes", - data: { - id: c + "," + d - } - }); - return u.add({ - group: "edges", - data: { - source: c, - target: g.id() - } - }), u.add({ - group: "edges", - data: { - source: d, - target: g.id() - } - }), g.id(); - } else if (r.value) - return r.value.id(); -}, nue = function a(r, u, c) { - if (!r) - return []; - var d = [], g = [], b = []; - return u === 0 ? (r.left && OE(r.left, d), r.right && OE(r.right, g), b = d.concat(g), [c.collection(b)]) : u === 1 ? r.value ? [c.collection(r.value)] : (r.left && OE(r.left, d), r.right && OE(r.right, g), [c.collection(d), c.collection(g)]) : r.value ? [c.collection(r.value)] : (r.left && (d = a(r.left, u - 1, c)), r.right && (g = a(r.right, u - 1, c)), d.concat(g)); -}, __ = function(r) { - for (var u = this.cy(), c = this.nodes(), d = eue(r), g = d.attributes, b = function(F, W) { - return v5(d.distance, g.length, function(Q) { - return g[Q](F); - }, function(Q) { - return g[Q](W); - }, F, W); - }, y = [], k = [], E = [], C = [], T = 0; T < c.length; T++) { - var P = { - value: d.mode === "dendrogram" ? c[T] : [c[T]], - key: T, - index: T - }; - y[T] = P, C[T] = P, k[T] = [], E[T] = 0; - } - for (var N = 0; N < y.length; N++) - for (var D = 0; D <= N; D++) { - var H = void 0; - d.mode === "dendrogram" ? H = N === D ? 1 / 0 : b(y[N].value, y[D].value) : H = N === D ? 1 / 0 : b(y[N].value[0], y[D].value[0]), k[N][D] = H, k[D][N] = H, H < k[N][E[N]] && (E[N] = D); - } - for (var _ = H_(y, C, k, E, d); _; ) - _ = H_(y, C, k, E, d); - var B; - return d.mode === "dendrogram" ? (B = nue(y[0], d.dendrogramDepth, u), d.addDendrogram && tue(y[0], u)) : (B = new Array(y.length), y.forEach(function($, F) { - $.key = $.index = null, B[F] = u.collection($.value); - })), B; -}, rue = { - hierarchicalClustering: __, - hca: __ -}, iue = po({ - distance: "euclidean", - // distance metric to compare attributes between two nodes - preference: "median", - // suitability of a data point to serve as an exemplar - damping: 0.8, - // damping factor between [0.5, 1) - maxIterations: 1e3, - // max number of iterations to run - minIterations: 100, - // min number of iterations to run in order for clustering to stop - attributes: [ - // functions to quantify the similarity between any two points - // e.g. node => node.data('weight') - ] -}), aue = function(r) { - var u = r.damping, c = r.preference; - 0.5 <= u && u < 1 || Qi("Damping must range on [0.5, 1). Got: ".concat(u)); - var d = ["median", "mean", "min", "max"]; - return d.some(function(g) { - return g === c; - }) || kt(c) || Qi("Preference must be one of [".concat(d.map(function(g) { - return "'".concat(g, "'"); - }).join(", "), "] or a number. Got: ").concat(c)), iue(r); -}, oue = function(r, u, c, d) { - var g = function(y, k) { - return d[k](y); - }; - return -v5(r, d.length, function(b) { - return g(u, b); - }, function(b) { - return g(c, b); - }, u, c); -}, sue = function(r, u) { - var c = null; - return u === "median" ? c = ase(r) : u === "mean" ? c = ise(r) : u === "min" ? c = nse(r) : u === "max" ? c = rse(r) : c = u, c; -}, uue = function(r, u, c) { - for (var d = [], g = 0; g < r; g++) - u[g * r + g] + c[g * r + g] > 0 && d.push(g); - return d; -}, G_ = function(r, u, c) { - for (var d = [], g = 0; g < r; g++) { - for (var b = -1, y = -1 / 0, k = 0; k < c.length; k++) { - var E = c[k]; - u[g * r + E] > y && (b = E, y = u[g * r + E]); - } - b > 0 && d.push(b); - } - for (var C = 0; C < c.length; C++) - d[c[C]] = c[C]; - return d; -}, cue = function(r, u, c) { - for (var d = G_(r, u, c), g = 0; g < c.length; g++) { - for (var b = [], y = 0; y < d.length; y++) - d[y] === c[g] && b.push(y); - for (var k = -1, E = -1 / 0, C = 0; C < b.length; C++) { - for (var T = 0, P = 0; P < b.length; P++) - T += u[b[P] * r + b[C]]; - T > E && (k = C, E = T); - } - c[g] = b[k]; - } - return d = G_(r, u, c), d; -}, $_ = function(r) { - for (var u = this.cy(), c = this.nodes(), d = aue(r), g = {}, b = 0; b < c.length; b++) - g[c[b].id()] = b; - var y, k, E, C, T, P; - y = c.length, k = y * y, E = new Array(k); - for (var N = 0; N < k; N++) - E[N] = -1 / 0; - for (var D = 0; D < y; D++) - for (var H = 0; H < y; H++) - D !== H && (E[D * y + H] = oue(d.distance, c[D], c[H], d.attributes)); - C = sue(E, d.preference); - for (var _ = 0; _ < y; _++) - E[_ * y + _] = C; - T = new Array(k); - for (var B = 0; B < k; B++) - T[B] = 0; - P = new Array(k); - for (var $ = 0; $ < k; $++) - P[$] = 0; - for (var F = new Array(y), W = new Array(y), Q = new Array(y), X = 0; X < y; X++) - F[X] = 0, W[X] = 0, Q[X] = 0; - for (var K = new Array(y * d.minIterations), ee = 0; ee < K.length; ee++) - K[ee] = 0; - var Z; - for (Z = 0; Z < d.maxIterations; Z++) { - for (var ae = 0; ae < y; ae++) { - for (var oe = -1 / 0, J = -1 / 0, fe = -1, se = 0, pe = 0; pe < y; pe++) - F[pe] = T[ae * y + pe], se = P[ae * y + pe] + E[ae * y + pe], se >= oe ? (J = oe, oe = se, fe = pe) : se > J && (J = se); - for (var he = 0; he < y; he++) - T[ae * y + he] = (1 - d.damping) * (E[ae * y + he] - oe) + d.damping * F[he]; - T[ae * y + fe] = (1 - d.damping) * (E[ae * y + fe] - J) + d.damping * F[fe]; - } - for (var de = 0; de < y; de++) { - for (var ke = 0, Pe = 0; Pe < y; Pe++) - F[Pe] = P[Pe * y + de], W[Pe] = Math.max(0, T[Pe * y + de]), ke += W[Pe]; - ke -= W[de], W[de] = T[de * y + de], ke += W[de]; - for (var Ae = 0; Ae < y; Ae++) - P[Ae * y + de] = (1 - d.damping) * Math.min(0, ke - W[Ae]) + d.damping * F[Ae]; - P[de * y + de] = (1 - d.damping) * (ke - W[de]) + d.damping * F[de]; - } - for (var Te = 0, Oe = 0; Oe < y; Oe++) { - var ze = P[Oe * y + Oe] + T[Oe * y + Oe] > 0 ? 1 : 0; - K[Z % d.minIterations * y + Oe] = ze, Te += ze; - } - if (Te > 0 && (Z >= d.minIterations - 1 || Z == d.maxIterations - 1)) { - for (var We = 0, $e = 0; $e < y; $e++) { - Q[$e] = 0; - for (var Ge = 0; Ge < d.minIterations; Ge++) - Q[$e] += K[Ge * y + $e]; - (Q[$e] === 0 || Q[$e] === d.minIterations) && We++; - } - if (We === y) - break; - } - } - for (var me = uue(y, T, P), Ve = cue(y, E, me), Ke = {}, at = 0; at < me.length; at++) - Ke[me[at]] = []; - for (var ft = 0; ft < c.length; ft++) { - var en = g[c[ft].id()], gn = Ve[en]; - gn != null && Ke[gn].push(c[ft]); - } - for (var mt = new Array(me.length), ht = 0; ht < me.length; ht++) - mt[ht] = u.collection(Ke[me[ht]]); - return mt; -}, lue = { - affinityPropagation: $_, - ap: $_ -}, fue = po({ - root: void 0, - directed: !1 -}), hue = { - hierholzer: function(r) { - if (!fr(r)) { - var u = arguments; - r = { - root: u[0], - directed: u[1] - }; - } - var c = fue(r), d = c.root, g = c.directed, b = this, y = !1, k, E, C; - d && (C = qt(d) ? this.filter(d)[0].id() : d[0].id()); - var T = {}, P = {}; - g ? b.forEach(function($) { - var F = $.id(); - if ($.isNode()) { - var W = $.indegree(!0), Q = $.outdegree(!0), X = W - Q, K = Q - W; - X == 1 ? k ? y = !0 : k = F : K == 1 ? E ? y = !0 : E = F : (K > 1 || X > 1) && (y = !0), T[F] = [], $.outgoers().forEach(function(ee) { - ee.isEdge() && T[F].push(ee.id()); - }); - } else - P[F] = [void 0, $.target().id()]; - }) : b.forEach(function($) { - var F = $.id(); - if ($.isNode()) { - var W = $.degree(!0); - W % 2 && (k ? E ? y = !0 : E = F : k = F), T[F] = [], $.connectedEdges().forEach(function(Q) { - return T[F].push(Q.id()); - }); - } else - P[F] = [$.source().id(), $.target().id()]; - }); - var N = { - found: !1, - trail: void 0 - }; - if (y) - return N; - if (E && k) - if (g) { - if (C && E != C) - return N; - C = E; - } else { - if (C && E != C && k != C) - return N; - C || (C = E); - } - else - C || (C = b[0].id()); - var D = function(F) { - for (var W = F, Q = [F], X, K, ee; T[W].length; ) - X = T[W].shift(), K = P[X][0], ee = P[X][1], W != ee ? (T[ee] = T[ee].filter(function(Z) { - return Z != X; - }), W = ee) : !g && W != K && (T[K] = T[K].filter(function(Z) { - return Z != X; - }), W = K), Q.unshift(X), Q.unshift(W); - return Q; - }, H = [], _ = []; - for (_ = D(C); _.length != 1; ) - T[_[0]].length == 0 ? (H.unshift(b.getElementById(_.shift())), H.unshift(b.getElementById(_.shift()))) : _ = D(_.shift()).concat(_); - H.unshift(b.getElementById(_.shift())); - for (var B in T) - if (T[B].length) - return N; - return N.found = !0, N.trail = this.spawn(H, !0), N; - } -}, AE = function() { - var r = this, u = {}, c = 0, d = 0, g = [], b = [], y = {}, k = function(P, N) { - for (var D = b.length - 1, H = [], _ = r.spawn(); b[D].x != P || b[D].y != N; ) - H.push(b.pop().edge), D--; - H.push(b.pop().edge), H.forEach(function(B) { - var $ = B.connectedNodes().intersection(r); - _.merge(B), $.forEach(function(F) { - var W = F.id(), Q = F.connectedEdges().intersection(r); - _.merge(F), u[W].cutVertex ? _.merge(Q.filter(function(X) { - return X.isLoop(); - })) : _.merge(Q); - }); - }), g.push(_); - }, E = function T(P, N, D) { - P === D && (d += 1), u[N] = { - id: c, - low: c++, - cutVertex: !1 - }; - var H = r.getElementById(N).connectedEdges().intersection(r); - if (H.size() === 0) - g.push(r.spawn(r.getElementById(N))); - else { - var _, B, $, F; - H.forEach(function(W) { - _ = W.source().id(), B = W.target().id(), $ = _ === N ? B : _, $ !== D && (F = W.id(), y[F] || (y[F] = !0, b.push({ - x: N, - y: $, - edge: W - })), $ in u ? u[N].low = Math.min(u[N].low, u[$].id) : (T(P, $, N), u[N].low = Math.min(u[N].low, u[$].low), u[N].id <= u[$].low && (u[N].cutVertex = !0, k(N, $)))); - }); - } - }; - r.forEach(function(T) { - if (T.isNode()) { - var P = T.id(); - P in u || (d = 0, E(P, P), u[P].cutVertex = d > 1); - } - }); - var C = Object.keys(u).filter(function(T) { - return u[T].cutVertex; - }).map(function(T) { - return r.getElementById(T); - }); - return { - cut: r.spawn(C), - components: g - }; -}, due = { - hopcroftTarjanBiconnected: AE, - htbc: AE, - htb: AE, - hopcroftTarjanBiconnectedComponents: AE -}, RE = function() { - var r = this, u = {}, c = 0, d = [], g = [], b = r.spawn(r), y = function k(E) { - g.push(E), u[E] = { - index: c, - low: c++, - explored: !1 - }; - var C = r.getElementById(E).connectedEdges().intersection(r); - if (C.forEach(function(H) { - var _ = H.target().id(); - _ !== E && (_ in u || k(_), u[_].explored || (u[E].low = Math.min(u[E].low, u[_].low))); - }), u[E].index === u[E].low) { - for (var T = r.spawn(); ; ) { - var P = g.pop(); - if (T.merge(r.getElementById(P)), u[P].low = u[E].index, u[P].explored = !0, P === E) - break; - } - var N = T.edgesWith(T), D = T.merge(N); - d.push(D), b = b.difference(D); - } - }; - return r.forEach(function(k) { - if (k.isNode()) { - var E = k.id(); - E in u || y(E); - } - }), { - cut: b, - components: d - }; -}, vue = { - tarjanStronglyConnected: RE, - tsc: RE, - tscc: RE, - tarjanStronglyConnectedComponents: RE -}, f$ = {}; -[Xp, Foe, qoe, Woe, Koe, Xoe, ese, xse, Db, jb, f6, zse, Xse, rue, lue, hue, due, vue].forEach(function(a) { - on(f$, a); -}); -/*! -Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable -Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) -Licensed under The MIT License (http://opensource.org/licenses/MIT) -*/ -var h$ = 0, d$ = 1, v$ = 2, Sf = function a(r) { - if (!(this instanceof a)) - return new a(r); - this.id = "Thenable/1.0.7", this.state = h$, this.fulfillValue = void 0, this.rejectReason = void 0, this.onFulfilled = [], this.onRejected = [], this.proxy = { - then: this.then.bind(this) - }, typeof r == "function" && r.call(this, this.fulfill.bind(this), this.reject.bind(this)); -}; -Sf.prototype = { - /* promise resolving methods */ - fulfill: function(r) { - return Y_(this, d$, "fulfillValue", r); - }, - reject: function(r) { - return Y_(this, v$, "rejectReason", r); - }, - /* "The then Method" [Promises/A+ 1.1, 1.2, 2.2] */ - then: function(r, u) { - var c = this, d = new Sf(); - return c.onFulfilled.push(q_(r, d, "fulfill")), c.onRejected.push(q_(u, d, "reject")), g$(c), d.proxy; - } -}; -var Y_ = function(r, u, c, d) { - return r.state === h$ && (r.state = u, r[c] = d, g$(r)), r; -}, g$ = function(r) { - r.state === d$ ? F_(r, "onFulfilled", r.fulfillValue) : r.state === v$ && F_(r, "onRejected", r.rejectReason); -}, F_ = function(r, u, c) { - if (r[u].length !== 0) { - var d = r[u]; - r[u] = []; - var g = function() { - for (var y = 0; y < d.length; y++) - d[y](c); - }; - typeof setImmediate == "function" ? setImmediate(g) : setTimeout(g, 0); - } -}, q_ = function(r, u, c) { - return function(d) { - if (typeof r != "function") - u[c].call(u, d); - else { - var g; - try { - g = r(d); - } catch (b) { - u.reject(b); - return; - } - gue(u, g); - } - }; -}, gue = function a(r, u) { - if (r === u || r.proxy === u) { - r.reject(new TypeError("cannot resolve promise with itself")); - return; - } - var c; - if (Ra(u) === "object" && u !== null || typeof u == "function") - try { - c = u.then; - } catch (g) { - r.reject(g); - return; - } - if (typeof c == "function") { - var d = !1; - try { - c.call( - u, - /* resolvePromise */ - /* [Promises/A+ 2.3.3.3.1] */ - function(g) { - d || (d = !0, g === u ? r.reject(new TypeError("circular thenable chain")) : a(r, g)); - }, - /* rejectPromise */ - /* [Promises/A+ 2.3.3.3.2] */ - function(g) { - d || (d = !0, r.reject(g)); - } - ); - } catch (g) { - d || r.reject(g); - } - return; - } - r.fulfill(u); -}; -Sf.all = function(a) { - return new Sf(function(r, u) { - for (var c = new Array(a.length), d = 0, g = function(k, E) { - c[k] = E, d++, d === a.length && r(c); - }, b = 0; b < a.length; b++) - (function(y) { - var k = a[y], E = k != null && k.then != null; - if (E) - k.then(function(T) { - g(y, T); - }, function(T) { - u(T); - }); - else { - var C = k; - g(y, C); - } - })(b); - }); -}; -Sf.resolve = function(a) { - return new Sf(function(r, u) { - r(a); - }); -}; -Sf.reject = function(a) { - return new Sf(function(r, u) { - u(a); - }); -}; -var Hb = typeof Promise < "u" ? Promise : Sf, h6 = function(r, u, c) { - var d = P6(r), g = !d, b = this._private = on({ - duration: 1e3 - }, u, c); - if (b.target = r, b.style = b.style || b.css, b.started = !1, b.playing = !1, b.hooked = !1, b.applying = !1, b.progress = 0, b.completes = [], b.frames = [], b.complete && zi(b.complete) && b.completes.push(b.complete), g) { - var y = r.position(); - b.startPosition = b.startPosition || { - x: y.x, - y: y.y - }, b.startStyle = b.startStyle || r.cy().style().getAnimationStartStyle(r, b.style); - } - if (d) { - var k = r.pan(); - b.startPan = { - x: k.x, - y: k.y - }, b.startZoom = r.zoom(); - } - this.length = 1, this[0] = this; -}, dv = h6.prototype; -on(dv, { - instanceString: function() { - return "animation"; - }, - hook: function() { - var r = this._private; - if (!r.hooked) { - var u, c = r.target._private.animation; - r.queue ? u = c.queue : u = c.current, u.push(this), tu(r.target) && r.target.cy().addToAnimationPool(r.target), r.hooked = !0; - } - return this; - }, - play: function() { - var r = this._private; - return r.progress === 1 && (r.progress = 0), r.playing = !0, r.started = !1, r.stopped = !1, this.hook(), this; - }, - playing: function() { - return this._private.playing; - }, - apply: function() { - var r = this._private; - return r.applying = !0, r.started = !1, r.stopped = !1, this.hook(), this; - }, - applying: function() { - return this._private.applying; - }, - pause: function() { - var r = this._private; - return r.playing = !1, r.started = !1, this; - }, - stop: function() { - var r = this._private; - return r.playing = !1, r.started = !1, r.stopped = !0, this; - }, - rewind: function() { - return this.progress(0); - }, - fastforward: function() { - return this.progress(1); - }, - time: function(r) { - var u = this._private; - return r === void 0 ? u.progress * u.duration : this.progress(r / u.duration); - }, - progress: function(r) { - var u = this._private, c = u.playing; - return r === void 0 ? u.progress : (c && this.pause(), u.progress = r, u.started = !1, c && this.play(), this); - }, - completed: function() { - return this._private.progress === 1; - }, - reverse: function() { - var r = this._private, u = r.playing; - u && this.pause(), r.progress = 1 - r.progress, r.started = !1; - var c = function(E, C) { - var T = r[E]; - T != null && (r[E] = r[C], r[C] = T); - }; - if (c("zoom", "startZoom"), c("pan", "startPan"), c("position", "startPosition"), r.style) - for (var d = 0; d < r.style.length; d++) { - var g = r.style[d], b = g.name, y = r.startStyle[b]; - r.startStyle[b] = g, r.style[d] = y; - } - return u && this.play(), this; - }, - promise: function(r) { - var u = this._private, c; - switch (r) { - case "frame": - c = u.frames; - break; - default: - case "complete": - case "completed": - c = u.completes; - } - return new Hb(function(d, g) { - c.push(function() { - d(); - }); - }); - } -}); -dv.complete = dv.completed; -dv.run = dv.play; -dv.running = dv.playing; -var bue = { - animated: function() { - return function() { - var u = this, c = u.length !== void 0, d = c ? u : [u], g = this._private.cy || this; - if (!g.styleEnabled()) - return !1; - var b = d[0]; - if (b) - return b._private.animation.current.length > 0; - }; - }, - // animated - clearQueue: function() { - return function() { - var u = this, c = u.length !== void 0, d = c ? u : [u], g = this._private.cy || this; - if (!g.styleEnabled()) - return this; - for (var b = 0; b < d.length; b++) { - var y = d[b]; - y._private.animation.queue = []; - } - return this; - }; - }, - // clearQueue - delay: function() { - return function(u, c) { - var d = this._private.cy || this; - return d.styleEnabled() ? this.animate({ - delay: u, - duration: u, - complete: c - }) : this; - }; - }, - // delay - delayAnimation: function() { - return function(u, c) { - var d = this._private.cy || this; - return d.styleEnabled() ? this.animation({ - delay: u, - duration: u, - complete: c - }) : this; - }; - }, - // delay - animation: function() { - return function(u, c) { - var d = this, g = d.length !== void 0, b = g ? d : [d], y = this._private.cy || this, k = !g, E = !k; - if (!y.styleEnabled()) - return this; - var C = y.style(); - u = on({}, u, c); - var T = Object.keys(u).length === 0; - if (T) - return new h6(b[0], u); - switch (u.duration === void 0 && (u.duration = 400), u.duration) { - case "slow": - u.duration = 600; - break; - case "fast": - u.duration = 200; - break; - } - if (E && (u.style = C.getPropsList(u.style || u.css), u.css = void 0), E && u.renderedPosition != null) { - var P = u.renderedPosition, N = y.pan(), D = y.zoom(); - u.position = JG(P, D, N); - } - if (k && u.panBy != null) { - var H = u.panBy, _ = y.pan(); - u.pan = { - x: _.x + H.x, - y: _.y + H.y - }; - } - var B = u.center || u.centre; - if (k && B != null) { - var $ = y.getCenterPan(B.eles, u.zoom); - $ != null && (u.pan = $); - } - if (k && u.fit != null) { - var F = u.fit, W = y.getFitViewport(F.eles || F.boundingBox, F.padding); - W != null && (u.pan = W.pan, u.zoom = W.zoom); - } - if (k && fr(u.zoom)) { - var Q = y.getZoomedViewport(u.zoom); - Q != null ? (Q.zoomed && (u.zoom = Q.zoom), Q.panned && (u.pan = Q.pan)) : u.zoom = null; - } - return new h6(b[0], u); - }; - }, - // animate - animate: function() { - return function(u, c) { - var d = this, g = d.length !== void 0, b = g ? d : [d], y = this._private.cy || this; - if (!y.styleEnabled()) - return this; - c && (u = on({}, u, c)); - for (var k = 0; k < b.length; k++) { - var E = b[k], C = E.animated() && (u.queue === void 0 || u.queue), T = E.animation(u, C ? { - queue: !0 - } : void 0); - T.play(); - } - return this; - }; - }, - // animate - stop: function() { - return function(u, c) { - var d = this, g = d.length !== void 0, b = g ? d : [d], y = this._private.cy || this; - if (!y.styleEnabled()) - return this; - for (var k = 0; k < b.length; k++) { - for (var E = b[k], C = E._private, T = C.animation.current, P = 0; P < T.length; P++) { - var N = T[P], D = N._private; - c && (D.duration = 0); - } - u && (C.animation.queue = []), c || (C.animation.current = []); - } - return y.notify("draw"), this; - }; - } - // stop -}, pue = { - // access data field - data: function(r) { - var u = { - field: "data", - bindingEvent: "data", - allowBinding: !1, - allowSetting: !1, - allowGetting: !1, - settingEvent: "data", - settingTriggersEvent: !1, - triggerFnName: "trigger", - immutableKeys: {}, - // key => true if immutable - updateStyle: !1, - beforeGet: function(d) { - }, - beforeSet: function(d, g) { - }, - onSet: function(d) { - }, - canSet: function(d) { - return !0; - } - }; - return r = on({}, u, r), function(d, g) { - var b = r, y = this, k = y.length !== void 0, E = k ? y : [y], C = k ? y[0] : y; - if (qt(d)) { - var T = d.indexOf(".") !== -1, P = T && noe.default(d); - if (b.allowGetting && g === void 0) { - var N; - return C && (b.beforeGet(C), P && C._private[b.field][d] === void 0 ? N = eoe.default(C._private[b.field], P) : N = C._private[b.field][d]), N; - } else if (b.allowSetting && g !== void 0) { - var D = !b.immutableKeys[d]; - if (D) { - var H = BG({}, d, g); - b.beforeSet(y, H); - for (var _ = 0, B = E.length; _ < B; _++) { - var $ = E[_]; - b.canSet($) && (P && C._private[b.field][d] === void 0 ? toe.default($._private[b.field], P, g) : $._private[b.field][d] = g); - } - b.updateStyle && y.updateStyle(), b.onSet(y), b.settingTriggersEvent && y[b.triggerFnName](b.settingEvent); - } - } - } else if (b.allowSetting && fr(d)) { - var F = d, W, Q, X = Object.keys(F); - b.beforeSet(y, F); - for (var K = 0; K < X.length; K++) { - W = X[K], Q = F[W]; - var ee = !b.immutableKeys[W]; - if (ee) - for (var Z = 0; Z < E.length; Z++) { - var ae = E[Z]; - b.canSet(ae) && (ae._private[b.field][W] = Q); - } - } - b.updateStyle && y.updateStyle(), b.onSet(y), b.settingTriggersEvent && y[b.triggerFnName](b.settingEvent); - } else if (b.allowBinding && zi(d)) { - var oe = d; - y.on(b.bindingEvent, oe); - } else if (b.allowGetting && d === void 0) { - var J; - return C && (b.beforeGet(C), J = C._private[b.field]), J; - } - return y; - }; - }, - // data - // remove data field - removeData: function(r) { - var u = { - field: "data", - event: "data", - triggerFnName: "trigger", - triggerEvent: !1, - immutableKeys: {} - // key => true if immutable - }; - return r = on({}, u, r), function(d) { - var g = r, b = this, y = b.length !== void 0, k = y ? b : [b]; - if (qt(d)) { - for (var E = d.split(/\s+/), C = E.length, T = 0; T < C; T++) { - var P = E[T]; - if (!zh(P)) { - var N = !g.immutableKeys[P]; - if (N) - for (var D = 0, H = k.length; D < H; D++) - k[D]._private[g.field][P] = void 0; - } - } - g.triggerEvent && b[g.triggerFnName](g.event); - } else if (d === void 0) { - for (var _ = 0, B = k.length; _ < B; _++) - for (var $ = k[_]._private[g.field], F = Object.keys($), W = 0; W < F.length; W++) { - var Q = F[W], X = !g.immutableKeys[Q]; - X && ($[Q] = void 0); - } - g.triggerEvent && b[g.triggerFnName](g.event); - } - return b; - }; - } - // removeData -}, wue = { - eventAliasesOn: function(r) { - var u = r; - u.addListener = u.listen = u.bind = u.on, u.unlisten = u.unbind = u.off = u.removeListener, u.trigger = u.emit, u.pon = u.promiseOn = function(c, d) { - var g = this, b = Array.prototype.slice.call(arguments, 0); - return new Hb(function(y, k) { - var E = function(N) { - g.off.apply(g, T), y(N); - }, C = b.concat([E]), T = C.concat([]); - g.on.apply(g, C); - }); - }; - } -}, Mr = {}; -[bue, pue, wue].forEach(function(a) { - on(Mr, a); -}); -var mue = { - animate: Mr.animate(), - animation: Mr.animation(), - animated: Mr.animated(), - clearQueue: Mr.clearQueue(), - delay: Mr.delay(), - delayAnimation: Mr.delayAnimation(), - stop: Mr.stop() -}, FE = { - classes: function(r) { - var u = this; - if (r === void 0) { - var c = []; - return u[0]._private.classes.forEach(function(D) { - return c.push(D); - }), c; - } else - Qr(r) || (r = (r || "").match(/\S+/g) || []); - for (var d = [], g = new zb(r), b = 0; b < u.length; b++) { - for (var y = u[b], k = y._private, E = k.classes, C = !1, T = 0; T < r.length; T++) { - var P = r[T], N = E.has(P); - if (!N) { - C = !0; - break; - } - } - C || (C = E.size !== r.length), C && (k.classes = g, d.push(y)); - } - return d.length > 0 && this.spawn(d).updateStyle().emit("class"), u; - }, - addClass: function(r) { - return this.toggleClass(r, !0); - }, - hasClass: function(r) { - var u = this[0]; - return u != null && u._private.classes.has(r); - }, - toggleClass: function(r, u) { - Qr(r) || (r = r.match(/\S+/g) || []); - for (var c = this, d = u === void 0, g = [], b = 0, y = c.length; b < y; b++) - for (var k = c[b], E = k._private.classes, C = !1, T = 0; T < r.length; T++) { - var P = r[T], N = E.has(P), D = !1; - u || d && !N ? (E.add(P), D = !0) : (!u || d && N) && (E.delete(P), D = !0), !C && D && (g.push(k), C = !0); - } - return g.length > 0 && this.spawn(g).updateStyle().emit("class"), c; - }, - removeClass: function(r) { - return this.toggleClass(r, !1); - }, - flashClass: function(r, u) { - var c = this; - if (u == null) - u = 250; - else if (u === 0) - return c; - return c.addClass(r), setTimeout(function() { - c.removeClass(r); - }, u), c; - } -}; -FE.className = FE.classNames = FE.classes; -var lr = { - metaChar: "[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]", - // chars we need to escape in let names, etc - comparatorOp: "=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=", - // binary comparison op (used in data selectors) - boolOp: "\\?|\\!|\\^", - // boolean (unary) operators (used in data selectors) - string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`, - // string literals (used in data selectors) -- doublequotes | singlequotes - number: Aa, - // number literal (used in data selectors) --- e.g. 0.1234, 1234, 12e123 - meta: "degree|indegree|outdegree", - // allowed metadata fields (i.e. allowed functions to use from Collection) - separator: "\\s*,\\s*", - // queries are separated by commas, e.g. edge[foo = 'bar'], node.someClass - descendant: "\\s+", - child: "\\s+>\\s+", - subject: "\\$", - group: "node|edge|\\*", - directedEdge: "\\s+->\\s+", - undirectedEdge: "\\s+<->\\s+" -}; -lr.variable = "(?:[\\w-.]|(?:\\\\" + lr.metaChar + "))+"; -lr.className = "(?:[\\w-]|(?:\\\\" + lr.metaChar + "))+"; -lr.value = lr.string + "|" + lr.number; -lr.id = lr.variable; -(function() { - var a, r, u; - for (a = lr.comparatorOp.split("|"), u = 0; u < a.length; u++) - r = a[u], lr.comparatorOp += "|@" + r; - for (a = lr.comparatorOp.split("|"), u = 0; u < a.length; u++) - r = a[u], !(r.indexOf("!") >= 0) && r !== "=" && (lr.comparatorOp += "|\\!" + r); -})(); -var Vr = function() { - return { - checks: [] - }; -}, It = { - /** E.g. node */ - GROUP: 0, - /** A collection of elements */ - COLLECTION: 1, - /** A filter(ele) function */ - FILTER: 2, - /** E.g. [foo > 1] */ - DATA_COMPARE: 3, - /** E.g. [foo] */ - DATA_EXIST: 4, - /** E.g. [?foo] */ - DATA_BOOL: 5, - /** E.g. [[degree > 2]] */ - META_COMPARE: 6, - /** E.g. :selected */ - STATE: 7, - /** E.g. #foo */ - ID: 8, - /** E.g. .foo */ - CLASS: 9, - /** E.g. #foo <-> #bar */ - UNDIRECTED_EDGE: 10, - /** E.g. #foo -> #bar */ - DIRECTED_EDGE: 11, - /** E.g. $#foo -> #bar */ - NODE_SOURCE: 12, - /** E.g. #foo -> $#bar */ - NODE_TARGET: 13, - /** E.g. $#foo <-> #bar */ - NODE_NEIGHBOR: 14, - /** E.g. #foo > #bar */ - CHILD: 15, - /** E.g. #foo #bar */ - DESCENDANT: 16, - /** E.g. $#foo > #bar */ - PARENT: 17, - /** E.g. $#foo #bar */ - ANCESTOR: 18, - /** E.g. #foo > $bar > #baz */ - COMPOUND_SPLIT: 19, - /** Always matches, useful placeholder for subject in `COMPOUND_SPLIT` */ - TRUE: 20 -}, d6 = [{ - selector: ":selected", - matches: function(r) { - return r.selected(); - } -}, { - selector: ":unselected", - matches: function(r) { - return !r.selected(); - } -}, { - selector: ":selectable", - matches: function(r) { - return r.selectable(); - } -}, { - selector: ":unselectable", - matches: function(r) { - return !r.selectable(); - } -}, { - selector: ":locked", - matches: function(r) { - return r.locked(); - } -}, { - selector: ":unlocked", - matches: function(r) { - return !r.locked(); - } -}, { - selector: ":visible", - matches: function(r) { - return r.visible(); - } -}, { - selector: ":hidden", - matches: function(r) { - return !r.visible(); - } -}, { - selector: ":transparent", - matches: function(r) { - return r.transparent(); - } -}, { - selector: ":grabbed", - matches: function(r) { - return r.grabbed(); - } -}, { - selector: ":free", - matches: function(r) { - return !r.grabbed(); - } -}, { - selector: ":removed", - matches: function(r) { - return r.removed(); - } -}, { - selector: ":inside", - matches: function(r) { - return !r.removed(); - } -}, { - selector: ":grabbable", - matches: function(r) { - return r.grabbable(); - } -}, { - selector: ":ungrabbable", - matches: function(r) { - return !r.grabbable(); - } -}, { - selector: ":animated", - matches: function(r) { - return r.animated(); - } -}, { - selector: ":unanimated", - matches: function(r) { - return !r.animated(); - } -}, { - selector: ":parent", - matches: function(r) { - return r.isParent(); - } -}, { - selector: ":childless", - matches: function(r) { - return r.isChildless(); - } -}, { - selector: ":child", - matches: function(r) { - return r.isChild(); - } -}, { - selector: ":orphan", - matches: function(r) { - return r.isOrphan(); - } -}, { - selector: ":nonorphan", - matches: function(r) { - return r.isChild(); - } -}, { - selector: ":compound", - matches: function(r) { - return r.isNode() ? r.isParent() : r.source().isParent() || r.target().isParent(); - } -}, { - selector: ":loop", - matches: function(r) { - return r.isLoop(); - } -}, { - selector: ":simple", - matches: function(r) { - return r.isSimple(); - } -}, { - selector: ":active", - matches: function(r) { - return r.active(); - } -}, { - selector: ":inactive", - matches: function(r) { - return !r.active(); - } -}, { - selector: ":backgrounding", - matches: function(r) { - return r.backgrounding(); - } -}, { - selector: ":nonbackgrounding", - matches: function(r) { - return !r.backgrounding(); - } -}].sort(function(a, r) { - return Soe(a.selector, r.selector); -}), yue = function() { - for (var a = {}, r, u = 0; u < d6.length; u++) - r = d6[u], a[r.selector] = r.matches; - return a; -}(), kue = function(r, u) { - return yue[r](u); -}, Eue = "(" + d6.map(function(a) { - return a.selector; -}).join("|") + ")", mb = function(r) { - return r.replace(new RegExp("\\\\(" + lr.metaChar + ")", "g"), function(u, c) { - return c; - }); -}, Mh = function(r, u, c) { - r[r.length - 1] = c; -}, v6 = [{ - name: "group", - // just used for identifying when debugging - query: !0, - regex: "(" + lr.group + ")", - populate: function(r, u, c) { - var d = kc(c, 1), g = d[0]; - u.checks.push({ - type: It.GROUP, - value: g === "*" ? g : g + "s" - }); - } -}, { - name: "state", - query: !0, - regex: Eue, - populate: function(r, u, c) { - var d = kc(c, 1), g = d[0]; - u.checks.push({ - type: It.STATE, - value: g - }); - } -}, { - name: "id", - query: !0, - regex: "\\#(" + lr.id + ")", - populate: function(r, u, c) { - var d = kc(c, 1), g = d[0]; - u.checks.push({ - type: It.ID, - value: mb(g) - }); - } -}, { - name: "className", - query: !0, - regex: "\\.(" + lr.className + ")", - populate: function(r, u, c) { - var d = kc(c, 1), g = d[0]; - u.checks.push({ - type: It.CLASS, - value: mb(g) - }); - } -}, { - name: "dataExists", - query: !0, - regex: "\\[\\s*(" + lr.variable + ")\\s*\\]", - populate: function(r, u, c) { - var d = kc(c, 1), g = d[0]; - u.checks.push({ - type: It.DATA_EXIST, - field: mb(g) - }); - } -}, { - name: "dataCompare", - query: !0, - regex: "\\[\\s*(" + lr.variable + ")\\s*(" + lr.comparatorOp + ")\\s*(" + lr.value + ")\\s*\\]", - populate: function(r, u, c) { - var d = kc(c, 3), g = d[0], b = d[1], y = d[2], k = new RegExp("^" + lr.string + "$").exec(y) != null; - k ? y = y.substring(1, y.length - 1) : y = parseFloat(y), u.checks.push({ - type: It.DATA_COMPARE, - field: mb(g), - operator: b, - value: y - }); - } -}, { - name: "dataBool", - query: !0, - regex: "\\[\\s*(" + lr.boolOp + ")\\s*(" + lr.variable + ")\\s*\\]", - populate: function(r, u, c) { - var d = kc(c, 2), g = d[0], b = d[1]; - u.checks.push({ - type: It.DATA_BOOL, - field: mb(b), - operator: g - }); - } -}, { - name: "metaCompare", - query: !0, - regex: "\\[\\[\\s*(" + lr.meta + ")\\s*(" + lr.comparatorOp + ")\\s*(" + lr.number + ")\\s*\\]\\]", - populate: function(r, u, c) { - var d = kc(c, 3), g = d[0], b = d[1], y = d[2]; - u.checks.push({ - type: It.META_COMPARE, - field: mb(g), - operator: b, - value: parseFloat(y) - }); - } -}, { - name: "nextQuery", - separator: !0, - regex: lr.separator, - populate: function(r, u) { - var c = r.currentSubject, d = r.edgeCount, g = r.compoundCount, b = r[r.length - 1]; - c != null && (b.subject = c, r.currentSubject = null), b.edgeCount = d, b.compoundCount = g, r.edgeCount = 0, r.compoundCount = 0; - var y = r[r.length++] = Vr(); - return y; - } -}, { - name: "directedEdge", - separator: !0, - regex: lr.directedEdge, - populate: function(r, u) { - if (r.currentSubject == null) { - var c = Vr(), d = u, g = Vr(); - return c.checks.push({ - type: It.DIRECTED_EDGE, - source: d, - target: g - }), Mh(r, u, c), r.edgeCount++, g; - } else { - var b = Vr(), y = u, k = Vr(); - return b.checks.push({ - type: It.NODE_SOURCE, - source: y, - target: k - }), Mh(r, u, b), r.edgeCount++, k; - } - } -}, { - name: "undirectedEdge", - separator: !0, - regex: lr.undirectedEdge, - populate: function(r, u) { - if (r.currentSubject == null) { - var c = Vr(), d = u, g = Vr(); - return c.checks.push({ - type: It.UNDIRECTED_EDGE, - nodes: [d, g] - }), Mh(r, u, c), r.edgeCount++, g; - } else { - var b = Vr(), y = u, k = Vr(); - return b.checks.push({ - type: It.NODE_NEIGHBOR, - node: y, - neighbor: k - }), Mh(r, u, b), k; - } - } -}, { - name: "child", - separator: !0, - regex: lr.child, - populate: function(r, u) { - if (r.currentSubject == null) { - var c = Vr(), d = Vr(), g = r[r.length - 1]; - return c.checks.push({ - type: It.CHILD, - parent: g, - child: d - }), Mh(r, u, c), r.compoundCount++, d; - } else if (r.currentSubject === u) { - var b = Vr(), y = r[r.length - 1], k = Vr(), E = Vr(), C = Vr(), T = Vr(); - return b.checks.push({ - type: It.COMPOUND_SPLIT, - left: y, - right: k, - subject: E - }), E.checks = u.checks, u.checks = [{ - type: It.TRUE - }], T.checks.push({ - type: It.TRUE - }), k.checks.push({ - type: It.PARENT, - // type is swapped on right side queries - parent: T, - child: C - // empty for now - }), Mh(r, y, b), r.currentSubject = E, r.compoundCount++, C; - } else { - var P = Vr(), N = Vr(), D = [{ - type: It.PARENT, - parent: P, - child: N - }]; - return P.checks = u.checks, u.checks = D, r.compoundCount++, N; - } - } -}, { - name: "descendant", - separator: !0, - regex: lr.descendant, - populate: function(r, u) { - if (r.currentSubject == null) { - var c = Vr(), d = Vr(), g = r[r.length - 1]; - return c.checks.push({ - type: It.DESCENDANT, - ancestor: g, - descendant: d - }), Mh(r, u, c), r.compoundCount++, d; - } else if (r.currentSubject === u) { - var b = Vr(), y = r[r.length - 1], k = Vr(), E = Vr(), C = Vr(), T = Vr(); - return b.checks.push({ - type: It.COMPOUND_SPLIT, - left: y, - right: k, - subject: E - }), E.checks = u.checks, u.checks = [{ - type: It.TRUE - }], T.checks.push({ - type: It.TRUE - }), k.checks.push({ - type: It.ANCESTOR, - // type is swapped on right side queries - ancestor: T, - descendant: C - // empty for now - }), Mh(r, y, b), r.currentSubject = E, r.compoundCount++, C; - } else { - var P = Vr(), N = Vr(), D = [{ - type: It.ANCESTOR, - ancestor: P, - descendant: N - }]; - return P.checks = u.checks, u.checks = D, r.compoundCount++, N; - } - } -}, { - name: "subject", - modifier: !0, - regex: lr.subject, - populate: function(r, u) { - if (r.currentSubject != null && r.currentSubject !== u) - return Sr("Redefinition of subject in selector `" + r.toString() + "`"), !1; - r.currentSubject = u; - var c = r[r.length - 1], d = c.checks[0], g = d == null ? null : d.type; - g === It.DIRECTED_EDGE ? d.type = It.NODE_TARGET : g === It.UNDIRECTED_EDGE && (d.type = It.NODE_NEIGHBOR, d.node = d.nodes[1], d.neighbor = d.nodes[0], d.nodes = null); - } -}]; -v6.forEach(function(a) { - return a.regexObj = new RegExp("^" + a.regex); -}); -var Sue = function(r) { - for (var u, c, d, g = 0; g < v6.length; g++) { - var b = v6[g], y = b.name, k = r.match(b.regexObj); - if (k != null) { - c = k, u = b, d = y; - var E = k[0]; - r = r.substring(E.length); - break; - } - } - return { - expr: u, - match: c, - name: d, - remaining: r - }; -}, Cue = function(r) { - var u = r.match(/^\s+/); - if (u) { - var c = u[0]; - r = r.substring(c.length); - } - return r; -}, xue = function(r) { - var u = this, c = u.inputText = r, d = u[0] = Vr(); - for (u.length = 1, c = Cue(c); ; ) { - var g = Sue(c); - if (g.expr == null) - return Sr("The selector `" + r + "`is invalid"), !1; - var b = g.match.slice(1), y = g.expr.populate(u, d, b); - if (y === !1) - return !1; - if (y != null && (d = y), c = g.remaining, c.match(/^\s*$/)) - break; - } - var k = u[u.length - 1]; - u.currentSubject != null && (k.subject = u.currentSubject), k.edgeCount = u.edgeCount, k.compoundCount = u.compoundCount; - for (var E = 0; E < u.length; E++) { - var C = u[E]; - if (C.compoundCount > 0 && C.edgeCount > 0) - return Sr("The selector `" + r + "` is invalid because it uses both a compound selector and an edge selector"), !1; - if (C.edgeCount > 1) - return Sr("The selector `" + r + "` is invalid because it uses multiple edge selectors"), !1; - C.edgeCount === 1 && Sr("The selector `" + r + "` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes."); - } - return !0; -}, Tue = function() { - if (this.toStringCache != null) - return this.toStringCache; - for (var r = function(C) { - return C ?? ""; - }, u = function(C) { - return qt(C) ? '"' + C + '"' : r(C); - }, c = function(C) { - return " " + C + " "; - }, d = function(C, T) { - var P = C.type, N = C.value; - switch (P) { - case It.GROUP: { - var D = r(N); - return D.substring(0, D.length - 1); - } - case It.DATA_COMPARE: { - var H = C.field, _ = C.operator; - return "[" + H + c(r(_)) + u(N) + "]"; - } - case It.DATA_BOOL: { - var B = C.operator, $ = C.field; - return "[" + r(B) + $ + "]"; - } - case It.DATA_EXIST: { - var F = C.field; - return "[" + F + "]"; - } - case It.META_COMPARE: { - var W = C.operator, Q = C.field; - return "[[" + Q + c(r(W)) + u(N) + "]]"; - } - case It.STATE: - return N; - case It.ID: - return "#" + N; - case It.CLASS: - return "." + N; - case It.PARENT: - case It.CHILD: - return g(C.parent, T) + c(">") + g(C.child, T); - case It.ANCESTOR: - case It.DESCENDANT: - return g(C.ancestor, T) + " " + g(C.descendant, T); - case It.COMPOUND_SPLIT: { - var X = g(C.left, T), K = g(C.subject, T), ee = g(C.right, T); - return X + (X.length > 0 ? " " : "") + K + ee; - } - case It.TRUE: - return ""; - } - }, g = function(C, T) { - return C.checks.reduce(function(P, N, D) { - return P + (T === C && D === 0 ? "$" : "") + d(N, T); - }, ""); - }, b = "", y = 0; y < this.length; y++) { - var k = this[y]; - b += g(k, k.subject), this.length > 1 && y < this.length - 1 && (b += ", "); - } - return this.toStringCache = b, b; -}, Lue = { - parse: xue, - toString: Tue -}, b$ = function(r, u, c) { - var d, g = qt(r), b = kt(r), y = qt(c), k, E, C = !1, T = !1, P = !1; - switch (u.indexOf("!") >= 0 && (u = u.replace("!", ""), T = !0), u.indexOf("@") >= 0 && (u = u.replace("@", ""), C = !0), (g || y || C) && (k = !g && !b ? "" : "" + r, E = "" + c), C && (r = k = k.toLowerCase(), c = E = E.toLowerCase()), u) { - case "*=": - d = k.indexOf(E) >= 0; - break; - case "$=": - d = k.indexOf(E, k.length - E.length) >= 0; - break; - case "^=": - d = k.indexOf(E) === 0; - break; - case "=": - d = r === c; - break; - case ">": - P = !0, d = r > c; - break; - case ">=": - P = !0, d = r >= c; - break; - case "<": - P = !0, d = r < c; - break; - case "<=": - P = !0, d = r <= c; - break; - default: - d = !1; - break; - } - return T && (r != null || !P) && (d = !d), d; -}, Pue = function(r, u) { - switch (u) { - case "?": - return !!r; - case "!": - return !r; - case "^": - return r === void 0; - } -}, Due = function(r) { - return r !== void 0; -}, B6 = function(r, u) { - return r.data(u); -}, jue = function(r, u) { - return r[u](); -}, Ji = [], vi = function(r, u) { - return r.checks.every(function(c) { - return Ji[c.type](c, u); - }); -}; -Ji[It.GROUP] = function(a, r) { - var u = a.value; - return u === "*" || u === r.group(); -}; -Ji[It.STATE] = function(a, r) { - var u = a.value; - return kue(u, r); -}; -Ji[It.ID] = function(a, r) { - var u = a.value; - return r.id() === u; -}; -Ji[It.CLASS] = function(a, r) { - var u = a.value; - return r.hasClass(u); -}; -Ji[It.META_COMPARE] = function(a, r) { - var u = a.field, c = a.operator, d = a.value; - return b$(jue(r, u), c, d); -}; -Ji[It.DATA_COMPARE] = function(a, r) { - var u = a.field, c = a.operator, d = a.value; - return b$(B6(r, u), c, d); -}; -Ji[It.DATA_BOOL] = function(a, r) { - var u = a.field, c = a.operator; - return Pue(B6(r, u), c); -}; -Ji[It.DATA_EXIST] = function(a, r) { - var u = a.field; - return a.operator, Due(B6(r, u)); -}; -Ji[It.UNDIRECTED_EDGE] = function(a, r) { - var u = a.nodes[0], c = a.nodes[1], d = r.source(), g = r.target(); - return vi(u, d) && vi(c, g) || vi(c, d) && vi(u, g); -}; -Ji[It.NODE_NEIGHBOR] = function(a, r) { - return vi(a.node, r) && r.neighborhood().some(function(u) { - return u.isNode() && vi(a.neighbor, u); - }); -}; -Ji[It.DIRECTED_EDGE] = function(a, r) { - return vi(a.source, r.source()) && vi(a.target, r.target()); -}; -Ji[It.NODE_SOURCE] = function(a, r) { - return vi(a.source, r) && r.outgoers().some(function(u) { - return u.isNode() && vi(a.target, u); - }); -}; -Ji[It.NODE_TARGET] = function(a, r) { - return vi(a.target, r) && r.incomers().some(function(u) { - return u.isNode() && vi(a.source, u); - }); -}; -Ji[It.CHILD] = function(a, r) { - return vi(a.child, r) && vi(a.parent, r.parent()); -}; -Ji[It.PARENT] = function(a, r) { - return vi(a.parent, r) && r.children().some(function(u) { - return vi(a.child, u); - }); -}; -Ji[It.DESCENDANT] = function(a, r) { - return vi(a.descendant, r) && r.ancestors().some(function(u) { - return vi(a.ancestor, u); - }); -}; -Ji[It.ANCESTOR] = function(a, r) { - return vi(a.ancestor, r) && r.descendants().some(function(u) { - return vi(a.descendant, u); - }); -}; -Ji[It.COMPOUND_SPLIT] = function(a, r) { - return vi(a.subject, r) && vi(a.left, r) && vi(a.right, r); -}; -Ji[It.TRUE] = function() { - return !0; -}; -Ji[It.COLLECTION] = function(a, r) { - var u = a.value; - return u.has(r); -}; -Ji[It.FILTER] = function(a, r) { - var u = a.value; - return u(r); -}; -var Nue = function(r) { - var u = this; - if (u.length === 1 && u[0].checks.length === 1 && u[0].checks[0].type === It.ID) - return r.getElementById(u[0].checks[0].value).collection(); - var c = function(g) { - for (var b = 0; b < u.length; b++) { - var y = u[b]; - if (vi(y, g)) - return !0; - } - return !1; - }; - return u.text() == null && (c = function() { - return !0; - }), r.filter(c); -}, Iue = function(r) { - for (var u = this, c = 0; c < u.length; c++) { - var d = u[c]; - if (vi(d, r)) - return !0; - } - return !1; -}, Mue = { - matches: Iue, - filter: Nue -}, _h = function(r) { - this.inputText = r, this.currentSubject = null, this.compoundCount = 0, this.edgeCount = 0, this.length = 0, r == null || qt(r) && r.match(/^\s*$/) || (tu(r) ? this.addQuery({ - checks: [{ - type: It.COLLECTION, - value: r.collection() - }] - }) : zi(r) ? this.addQuery({ - checks: [{ - type: It.FILTER, - value: r - }] - }) : qt(r) ? this.parse(r) || (this.invalid = !0) : Qi("A selector must be created from a string; found ")); -}, Gh = _h.prototype; -[Lue, Mue].forEach(function(a) { - return on(Gh, a); -}); -Gh.text = function() { - return this.inputText; -}; -Gh.size = function() { - return this.length; -}; -Gh.eq = function(a) { - return this[a]; -}; -Gh.sameText = function(a) { - return !this.invalid && !a.invalid && this.text() === a.text(); -}; -Gh.addQuery = function(a) { - this[this.length++] = a; -}; -Gh.selector = Gh.toString; -var Rh = { - allAre: function(r) { - var u = new _h(r); - return this.every(function(c) { - return u.matches(c); - }); - }, - is: function(r) { - var u = new _h(r); - return this.some(function(c) { - return u.matches(c); - }); - }, - some: function(r, u) { - for (var c = 0; c < this.length; c++) { - var d = u ? r.apply(u, [this[c], c, this]) : r(this[c], c, this); - if (d) - return !0; - } - return !1; - }, - every: function(r, u) { - for (var c = 0; c < this.length; c++) { - var d = u ? r.apply(u, [this[c], c, this]) : r(this[c], c, this); - if (!d) - return !1; - } - return !0; - }, - same: function(r) { - if (this === r) - return !0; - r = this.cy().collection(r); - var u = this.length, c = r.length; - return u !== c ? !1 : u === 1 ? this[0] === r[0] : this.every(function(d) { - return r.hasElementWithId(d.id()); - }); - }, - anySame: function(r) { - return r = this.cy().collection(r), this.some(function(u) { - return r.hasElementWithId(u.id()); - }); - }, - allAreNeighbors: function(r) { - r = this.cy().collection(r); - var u = this.neighborhood(); - return r.every(function(c) { - return u.hasElementWithId(c.id()); - }); - }, - contains: function(r) { - r = this.cy().collection(r); - var u = this; - return r.every(function(c) { - return u.hasElementWithId(c.id()); - }); - } -}; -Rh.allAreNeighbours = Rh.allAreNeighbors; -Rh.has = Rh.contains; -Rh.equal = Rh.equals = Rh.same; -var Iu = function(r, u) { - return function(d, g, b, y) { - var k = d, E = this, C; - if (k == null ? C = "" : tu(k) && k.length === 1 && (C = k.id()), E.length === 1 && C) { - var T = E[0]._private, P = T.traversalCache = T.traversalCache || {}, N = P[u] = P[u] || [], D = fv(C), H = N[D]; - return H || (N[D] = r.call(E, d, g, b, y)); - } else - return r.call(E, d, g, b, y); - }; -}, Ob = { - parent: function(r) { - var u = []; - if (this.length === 1) { - var c = this[0]._private.parent; - if (c) - return c; - } - for (var d = 0; d < this.length; d++) { - var g = this[d], b = g._private.parent; - b && u.push(b); - } - return this.spawn(u, !0).filter(r); - }, - parents: function(r) { - for (var u = [], c = this.parent(); c.nonempty(); ) { - for (var d = 0; d < c.length; d++) { - var g = c[d]; - u.push(g); - } - c = c.parent(); - } - return this.spawn(u, !0).filter(r); - }, - commonAncestors: function(r) { - for (var u, c = 0; c < this.length; c++) { - var d = this[c], g = d.parents(); - u = u || g, u = u.intersect(g); - } - return u.filter(r); - }, - orphans: function(r) { - return this.stdFilter(function(u) { - return u.isOrphan(); - }).filter(r); - }, - nonorphans: function(r) { - return this.stdFilter(function(u) { - return u.isChild(); - }).filter(r); - }, - children: Iu(function(a) { - for (var r = [], u = 0; u < this.length; u++) - for (var c = this[u], d = c._private.children, g = 0; g < d.length; g++) - r.push(d[g]); - return this.spawn(r, !0).filter(a); - }, "children"), - siblings: function(r) { - return this.parent().children().not(this).filter(r); - }, - isParent: function() { - var r = this[0]; - if (r) - return r.isNode() && r._private.children.length !== 0; - }, - isChildless: function() { - var r = this[0]; - if (r) - return r.isNode() && r._private.children.length === 0; - }, - isChild: function() { - var r = this[0]; - if (r) - return r.isNode() && r._private.parent != null; - }, - isOrphan: function() { - var r = this[0]; - if (r) - return r.isNode() && r._private.parent == null; - }, - descendants: function(r) { - var u = []; - function c(d) { - for (var g = 0; g < d.length; g++) { - var b = d[g]; - u.push(b), b.children().nonempty() && c(b.children()); - } - } - return c(this.children()), this.spawn(u, !0).filter(r); - } -}; -function z6(a, r, u, c) { - for (var d = [], g = new zb(), b = a.cy(), y = b.hasCompoundNodes(), k = 0; k < a.length; k++) { - var E = a[k]; - u ? d.push(E) : y && c(d, g, E); - } - for (; d.length > 0; ) { - var C = d.shift(); - r(C), g.add(C.id()), y && c(d, g, C); - } - return a; -} -function p$(a, r, u) { - if (u.isParent()) - for (var c = u._private.children, d = 0; d < c.length; d++) { - var g = c[d]; - r.has(g.id()) || a.push(g); - } -} -Ob.forEachDown = function(a) { - var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; - return z6(this, a, r, p$); -}; -function w$(a, r, u) { - if (u.isChild()) { - var c = u._private.parent; - r.has(c.id()) || a.push(c); - } -} -Ob.forEachUp = function(a) { - var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; - return z6(this, a, r, w$); -}; -function Oue(a, r, u) { - w$(a, r, u), p$(a, r, u); -} -Ob.forEachUpAndDown = function(a) { - var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; - return z6(this, a, r, Oue); -}; -Ob.ancestors = Ob.parents; -var ew, m$; -ew = m$ = { - data: Mr.data({ - field: "data", - bindingEvent: "data", - allowBinding: !0, - allowSetting: !0, - settingEvent: "data", - settingTriggersEvent: !0, - triggerFnName: "trigger", - allowGetting: !0, - immutableKeys: { - id: !0, - source: !0, - target: !0, - parent: !0 - }, - updateStyle: !0 - }), - removeData: Mr.removeData({ - field: "data", - event: "data", - triggerFnName: "trigger", - triggerEvent: !0, - immutableKeys: { - id: !0, - source: !0, - target: !0, - parent: !0 - }, - updateStyle: !0 - }), - scratch: Mr.data({ - field: "scratch", - bindingEvent: "scratch", - allowBinding: !0, - allowSetting: !0, - settingEvent: "scratch", - settingTriggersEvent: !0, - triggerFnName: "trigger", - allowGetting: !0, - updateStyle: !0 - }), - removeScratch: Mr.removeData({ - field: "scratch", - event: "scratch", - triggerFnName: "trigger", - triggerEvent: !0, - updateStyle: !0 - }), - rscratch: Mr.data({ - field: "rscratch", - allowBinding: !1, - allowSetting: !0, - settingTriggersEvent: !1, - allowGetting: !0 - }), - removeRscratch: Mr.removeData({ - field: "rscratch", - triggerEvent: !1 - }), - id: function() { - var r = this[0]; - if (r) - return r._private.data.id; - } -}; -ew.attr = ew.data; -ew.removeAttr = ew.removeData; -var Aue = m$, g5 = {}; -function t6(a) { - return function(r) { - var u = this; - if (r === void 0 && (r = !0), u.length !== 0) - if (u.isNode() && !u.removed()) { - for (var c = 0, d = u[0], g = d._private.edges, b = 0; b < g.length; b++) { - var y = g[b]; - !r && y.isLoop() || (c += a(d, y)); - } - return c; - } else - return; - }; -} -on(g5, { - degree: t6(function(a, r) { - return r.source().same(r.target()) ? 2 : 1; - }), - indegree: t6(function(a, r) { - return r.target().same(a) ? 1 : 0; - }), - outdegree: t6(function(a, r) { - return r.source().same(a) ? 1 : 0; - }) -}); -function yb(a, r) { - return function(u) { - for (var c, d = this.nodes(), g = 0; g < d.length; g++) { - var b = d[g], y = b[a](u); - y !== void 0 && (c === void 0 || r(y, c)) && (c = y); - } - return c; - }; -} -on(g5, { - minDegree: yb("degree", function(a, r) { - return a < r; - }), - maxDegree: yb("degree", function(a, r) { - return a > r; - }), - minIndegree: yb("indegree", function(a, r) { - return a < r; - }), - maxIndegree: yb("indegree", function(a, r) { - return a > r; - }), - minOutdegree: yb("outdegree", function(a, r) { - return a < r; - }), - maxOutdegree: yb("outdegree", function(a, r) { - return a > r; - }) -}); -on(g5, { - totalDegree: function(r) { - for (var u = 0, c = this.nodes(), d = 0; d < c.length; d++) - u += c[d].degree(r); - return u; - } -}); -var Cc, y$, k$ = function(r, u, c) { - for (var d = 0; d < r.length; d++) { - var g = r[d]; - if (!g.locked()) { - var b = g._private.position, y = { - x: u.x != null ? u.x - b.x : 0, - y: u.y != null ? u.y - b.y : 0 - }; - g.isParent() && !(y.x === 0 && y.y === 0) && g.children().shift(y, c), g.dirtyBoundingBoxCache(); - } - } -}, V_ = { - field: "position", - bindingEvent: "position", - allowBinding: !0, - allowSetting: !0, - settingEvent: "position", - settingTriggersEvent: !0, - triggerFnName: "emitAndNotify", - allowGetting: !0, - validKeys: ["x", "y"], - beforeGet: function(r) { - r.updateCompoundBounds(); - }, - beforeSet: function(r, u) { - k$(r, u, !1); - }, - onSet: function(r) { - r.dirtyCompoundBoundsCache(); - }, - canSet: function(r) { - return !r.locked(); - } -}; -Cc = y$ = { - position: Mr.data(V_), - // position but no notification to renderer - silentPosition: Mr.data(on({}, V_, { - allowBinding: !1, - allowSetting: !0, - settingTriggersEvent: !1, - allowGetting: !1, - beforeSet: function(r, u) { - k$(r, u, !0); - }, - onSet: function(r) { - r.dirtyCompoundBoundsCache(); - } - })), - positions: function(r, u) { - if (fr(r)) - u ? this.silentPosition(r) : this.position(r); - else if (zi(r)) { - var c = r, d = this.cy(); - d.startBatch(); - for (var g = 0; g < this.length; g++) { - var b = this[g], y = void 0; - (y = c(b, g)) && (u ? b.silentPosition(y) : b.position(y)); - } - d.endBatch(); - } - return this; - }, - silentPositions: function(r) { - return this.positions(r, !0); - }, - shift: function(r, u, c) { - var d; - if (fr(r) ? (d = { - x: kt(r.x) ? r.x : 0, - y: kt(r.y) ? r.y : 0 - }, c = u) : qt(r) && kt(u) && (d = { - x: 0, - y: 0 - }, d[r] = u), d != null) { - var g = this.cy(); - g.startBatch(); - for (var b = 0; b < this.length; b++) { - var y = this[b]; - if (!(g.hasCompoundNodes() && y.isChild() && y.ancestors().anySame(this))) { - var k = y.position(), E = { - x: k.x + d.x, - y: k.y + d.y - }; - c ? y.silentPosition(E) : y.position(E); - } - } - g.endBatch(); - } - return this; - }, - silentShift: function(r, u) { - return fr(r) ? this.shift(r, !0) : qt(r) && kt(u) && this.shift(r, u, !0), this; - }, - // get/set the rendered (i.e. on screen) positon of the element - renderedPosition: function(r, u) { - var c = this[0], d = this.cy(), g = d.zoom(), b = d.pan(), y = fr(r) ? r : void 0, k = y !== void 0 || u !== void 0 && qt(r); - if (c && c.isNode()) - if (k) - for (var E = 0; E < this.length; E++) { - var C = this[E]; - u !== void 0 ? C.position(r, (u - b[r]) / g) : y !== void 0 && C.position(JG(y, g, b)); - } - else { - var T = c.position(); - return y = d5(T, g, b), r === void 0 ? y : y[r]; - } - else if (!k) - return; - return this; - }, - // get/set the position relative to the parent - relativePosition: function(r, u) { - var c = this[0], d = this.cy(), g = fr(r) ? r : void 0, b = g !== void 0 || u !== void 0 && qt(r), y = d.hasCompoundNodes(); - if (c && c.isNode()) - if (b) - for (var k = 0; k < this.length; k++) { - var E = this[k], C = y ? E.parent() : null, T = C && C.length > 0, P = T; - T && (C = C[0]); - var N = P ? C.position() : { - x: 0, - y: 0 - }; - u !== void 0 ? E.position(r, u + N[r]) : g !== void 0 && E.position({ - x: g.x + N.x, - y: g.y + N.y - }); - } - else { - var D = c.position(), H = y ? c.parent() : null, _ = H && H.length > 0, B = _; - _ && (H = H[0]); - var $ = B ? H.position() : { - x: 0, - y: 0 - }; - return g = { - x: D.x - $.x, - y: D.y - $.y - }, r === void 0 ? g : g[r]; - } - else if (!b) - return; - return this; - } -}; -Cc.modelPosition = Cc.point = Cc.position; -Cc.modelPositions = Cc.points = Cc.positions; -Cc.renderedPoint = Cc.renderedPosition; -Cc.relativePoint = Cc.relativePosition; -var Rue = y$, Nb, Yh; -Nb = Yh = {}; -Yh.renderedBoundingBox = function(a) { - var r = this.boundingBox(a), u = this.cy(), c = u.zoom(), d = u.pan(), g = r.x1 * c + d.x, b = r.x2 * c + d.x, y = r.y1 * c + d.y, k = r.y2 * c + d.y; - return { - x1: g, - x2: b, - y1: y, - y2: k, - w: b - g, - h: k - y - }; -}; -Yh.dirtyCompoundBoundsCache = function() { - var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, r = this.cy(); - return !r.styleEnabled() || !r.hasCompoundNodes() ? this : (this.forEachUp(function(u) { - if (u.isParent()) { - var c = u._private; - c.compoundBoundsClean = !1, c.bbCache = null, a || u.emitAndNotify("bounds"); - } - }), this); -}; -Yh.updateCompoundBounds = function() { - var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, r = this.cy(); - if (!r.styleEnabled() || !r.hasCompoundNodes()) - return this; - if (!a && r.batching()) - return this; - function u(b) { - if (!b.isParent()) - return; - var y = b._private, k = b.children(), E = b.pstyle("compound-sizing-wrt-labels").value === "include", C = { - width: { - val: b.pstyle("min-width").pfValue, - left: b.pstyle("min-width-bias-left"), - right: b.pstyle("min-width-bias-right") - }, - height: { - val: b.pstyle("min-height").pfValue, - top: b.pstyle("min-height-bias-top"), - bottom: b.pstyle("min-height-bias-bottom") - } - }, T = k.boundingBox({ - includeLabels: E, - includeOverlays: !1, - // updating the compound bounds happens outside of the regular - // cache cycle (i.e. before fired events) - useCache: !1 - }), P = y.position; - (T.w === 0 || T.h === 0) && (T = { - w: b.pstyle("width").pfValue, - h: b.pstyle("height").pfValue - }, T.x1 = P.x - T.w / 2, T.x2 = P.x + T.w / 2, T.y1 = P.y - T.h / 2, T.y2 = P.y + T.h / 2); - function N(Z, ae, oe) { - var J = 0, fe = 0, se = ae + oe; - return Z > 0 && se > 0 && (J = ae / se * Z, fe = oe / se * Z), { - biasDiff: J, - biasComplementDiff: fe - }; - } - function D(Z, ae, oe, J) { - if (oe.units === "%") - switch (J) { - case "width": - return Z > 0 ? oe.pfValue * Z : 0; - case "height": - return ae > 0 ? oe.pfValue * ae : 0; - case "average": - return Z > 0 && ae > 0 ? oe.pfValue * (Z + ae) / 2 : 0; - case "min": - return Z > 0 && ae > 0 ? Z > ae ? oe.pfValue * ae : oe.pfValue * Z : 0; - case "max": - return Z > 0 && ae > 0 ? Z > ae ? oe.pfValue * Z : oe.pfValue * ae : 0; - default: - return 0; - } - else - return oe.units === "px" ? oe.pfValue : 0; - } - var H = C.width.left.value; - C.width.left.units === "px" && C.width.val > 0 && (H = H * 100 / C.width.val); - var _ = C.width.right.value; - C.width.right.units === "px" && C.width.val > 0 && (_ = _ * 100 / C.width.val); - var B = C.height.top.value; - C.height.top.units === "px" && C.height.val > 0 && (B = B * 100 / C.height.val); - var $ = C.height.bottom.value; - C.height.bottom.units === "px" && C.height.val > 0 && ($ = $ * 100 / C.height.val); - var F = N(C.width.val - T.w, H, _), W = F.biasDiff, Q = F.biasComplementDiff, X = N(C.height.val - T.h, B, $), K = X.biasDiff, ee = X.biasComplementDiff; - y.autoPadding = D(T.w, T.h, b.pstyle("padding"), b.pstyle("padding-relative-to").value), y.autoWidth = Math.max(T.w, C.width.val), P.x = (-W + T.x1 + T.x2 + Q) / 2, y.autoHeight = Math.max(T.h, C.height.val), P.y = (-K + T.y1 + T.y2 + ee) / 2; - } - for (var c = 0; c < this.length; c++) { - var d = this[c], g = d._private; - (!g.compoundBoundsClean || a) && (u(d), r.batching() || (g.compoundBoundsClean = !0)); - } - return this; -}; -var Nu = function(r) { - return r === 1 / 0 || r === -1 / 0 ? 0 : r; -}, Ec = function(r, u, c, d, g) { - d - u === 0 || g - c === 0 || u == null || c == null || d == null || g == null || (r.x1 = u < r.x1 ? u : r.x1, r.x2 = d > r.x2 ? d : r.x2, r.y1 = c < r.y1 ? c : r.y1, r.y2 = g > r.y2 ? g : r.y2, r.w = r.x2 - r.x1, r.h = r.y2 - r.y1); -}, cv = function(r, u) { - return u == null ? r : Ec(r, u.x1, u.y1, u.x2, u.y2); -}, zp = function(r, u, c) { - return Sc(r, u, c); -}, BE = function(r, u, c) { - if (!u.cy().headless()) { - var d = u._private, g = d.rstyle, b = g.arrowWidth / 2, y = u.pstyle(c + "-arrow-shape").value, k, E; - if (y !== "none") { - c === "source" ? (k = g.srcX, E = g.srcY) : c === "target" ? (k = g.tgtX, E = g.tgtY) : (k = g.midX, E = g.midY); - var C = d.arrowBounds = d.arrowBounds || {}, T = C[c] = C[c] || {}; - T.x1 = k - b, T.y1 = E - b, T.x2 = k + b, T.y2 = E + b, T.w = T.x2 - T.x1, T.h = T.y2 - T.y1, YE(T, 1), Ec(r, T.x1, T.y1, T.x2, T.y2); - } - } -}, n6 = function(r, u, c) { - if (!u.cy().headless()) { - var d; - c ? d = c + "-" : d = ""; - var g = u._private, b = g.rstyle, y = u.pstyle(d + "label").strValue; - if (y) { - var k = u.pstyle("text-halign"), E = u.pstyle("text-valign"), C = zp(b, "labelWidth", c), T = zp(b, "labelHeight", c), P = zp(b, "labelX", c), N = zp(b, "labelY", c), D = u.pstyle(d + "text-margin-x").pfValue, H = u.pstyle(d + "text-margin-y").pfValue, _ = u.isEdge(), B = u.pstyle(d + "text-rotation"), $ = u.pstyle("text-outline-width").pfValue, F = u.pstyle("text-border-width").pfValue, W = F / 2, Q = u.pstyle("text-background-padding").pfValue, X = 2, K = T, ee = C, Z = ee / 2, ae = K / 2, oe, J, fe, se; - if (_) - oe = P - Z, J = P + Z, fe = N - ae, se = N + ae; - else { - switch (k.value) { - case "left": - oe = P - ee, J = P; - break; - case "center": - oe = P - Z, J = P + Z; - break; - case "right": - oe = P, J = P + ee; - break; - } - switch (E.value) { - case "top": - fe = N - K, se = N; - break; - case "center": - fe = N - ae, se = N + ae; - break; - case "bottom": - fe = N, se = N + K; - break; - } - } - oe += D - Math.max($, W) - Q - X, J += D + Math.max($, W) + Q + X, fe += H - Math.max($, W) - Q - X, se += H + Math.max($, W) + Q + X; - var pe = c || "main", he = g.labelBounds, de = he[pe] = he[pe] || {}; - de.x1 = oe, de.y1 = fe, de.x2 = J, de.y2 = se, de.w = J - oe, de.h = se - fe; - var ke = _ && B.strValue === "autorotate", Pe = B.pfValue != null && B.pfValue !== 0; - if (ke || Pe) { - var Ae = ke ? zp(g.rstyle, "labelAngle", c) : B.pfValue, Te = Math.cos(Ae), Oe = Math.sin(Ae), ze = (oe + J) / 2, We = (fe + se) / 2; - if (!_) { - switch (k.value) { - case "left": - ze = J; - break; - case "right": - ze = oe; - break; - } - switch (E.value) { - case "top": - We = se; - break; - case "bottom": - We = fe; - break; - } - } - var $e = function(gn, mt) { - return gn = gn - ze, mt = mt - We, { - x: gn * Te - mt * Oe + ze, - y: gn * Oe + mt * Te + We - }; - }, Ge = $e(oe, fe), me = $e(oe, se), Ve = $e(J, fe), Ke = $e(J, se); - oe = Math.min(Ge.x, me.x, Ve.x, Ke.x), J = Math.max(Ge.x, me.x, Ve.x, Ke.x), fe = Math.min(Ge.y, me.y, Ve.y, Ke.y), se = Math.max(Ge.y, me.y, Ve.y, Ke.y); - } - var at = pe + "Rot", ft = he[at] = he[at] || {}; - ft.x1 = oe, ft.y1 = fe, ft.x2 = J, ft.y2 = se, ft.w = J - oe, ft.h = se - fe, Ec(r, oe, fe, J, se), Ec(g.labelBounds.all, oe, fe, J, se); - } - return r; - } -}, Bue = function(r, u) { - var c = r._private.cy, d = c.styleEnabled(), g = c.headless(), b = Ms(), y = r._private, k = r.isNode(), E = r.isEdge(), C, T, P, N, D, H, _ = y.rstyle, B = k && d ? r.pstyle("bounds-expansion").pfValue : [0], $ = function(Rt) { - return Rt.pstyle("display").value !== "none"; - }, F = !d || $(r) && (!E || $(r.source()) && $(r.target())); - if (F) { - var W = 0, Q = 0; - d && u.includeOverlays && (W = r.pstyle("overlay-opacity").value, W !== 0 && (Q = r.pstyle("overlay-padding").value)); - var X = 0, K = 0; - d && u.includeUnderlays && (X = r.pstyle("underlay-opacity").value, X !== 0 && (K = r.pstyle("underlay-padding").value)); - var ee = Math.max(Q, K), Z = 0, ae = 0; - if (d && (Z = r.pstyle("width").pfValue, ae = Z / 2), k && u.includeNodes) { - var oe = r.position(); - D = oe.x, H = oe.y; - var J = r.outerWidth(), fe = J / 2, se = r.outerHeight(), pe = se / 2; - C = D - fe, T = D + fe, P = H - pe, N = H + pe, Ec(b, C, P, T, N); - } else if (E && u.includeEdges) - if (d && !g) { - var he = r.pstyle("curve-style").strValue; - if (C = Math.min(_.srcX, _.midX, _.tgtX), T = Math.max(_.srcX, _.midX, _.tgtX), P = Math.min(_.srcY, _.midY, _.tgtY), N = Math.max(_.srcY, _.midY, _.tgtY), C -= ae, T += ae, P -= ae, N += ae, Ec(b, C, P, T, N), he === "haystack") { - var de = _.haystackPts; - if (de && de.length === 2) { - if (C = de[0].x, P = de[0].y, T = de[1].x, N = de[1].y, C > T) { - var ke = C; - C = T, T = ke; - } - if (P > N) { - var Pe = P; - P = N, N = Pe; - } - Ec(b, C - ae, P - ae, T + ae, N + ae); - } - } else if (he === "bezier" || he === "unbundled-bezier" || he === "segments" || he === "taxi") { - var Ae; - switch (he) { - case "bezier": - case "unbundled-bezier": - Ae = _.bezierPts; - break; - case "segments": - case "taxi": - Ae = _.linePts; - break; - } - if (Ae != null) - for (var Te = 0; Te < Ae.length; Te++) { - var Oe = Ae[Te]; - C = Oe.x - ae, T = Oe.x + ae, P = Oe.y - ae, N = Oe.y + ae, Ec(b, C, P, T, N); - } - } - } else { - var ze = r.source(), We = ze.position(), $e = r.target(), Ge = $e.position(); - if (C = We.x, T = Ge.x, P = We.y, N = Ge.y, C > T) { - var me = C; - C = T, T = me; - } - if (P > N) { - var Ve = P; - P = N, N = Ve; - } - C -= ae, T += ae, P -= ae, N += ae, Ec(b, C, P, T, N); - } - if (d && u.includeEdges && E && (BE(b, r, "mid-source"), BE(b, r, "mid-target"), BE(b, r, "source"), BE(b, r, "target")), d) { - var Ke = r.pstyle("ghost").value === "yes"; - if (Ke) { - var at = r.pstyle("ghost-offset-x").pfValue, ft = r.pstyle("ghost-offset-y").pfValue; - Ec(b, b.x1 + at, b.y1 + ft, b.x2 + at, b.y2 + ft); - } - } - var en = y.bodyBounds = y.bodyBounds || {}; - j_(en, b), QL(en, B), YE(en, 1), d && (C = b.x1, T = b.x2, P = b.y1, N = b.y2, Ec(b, C - ee, P - ee, T + ee, N + ee)); - var gn = y.overlayBounds = y.overlayBounds || {}; - j_(gn, b), QL(gn, B), YE(gn, 1); - var mt = y.labelBounds = y.labelBounds || {}; - mt.all != null ? lse(mt.all) : mt.all = Ms(), d && u.includeLabels && (u.includeMainLabels && n6(b, r, null), E && (u.includeSourceLabels && n6(b, r, "source"), u.includeTargetLabels && n6(b, r, "target"))); - } - return b.x1 = Nu(b.x1), b.y1 = Nu(b.y1), b.x2 = Nu(b.x2), b.y2 = Nu(b.y2), b.w = Nu(b.x2 - b.x1), b.h = Nu(b.y2 - b.y1), b.w > 0 && b.h > 0 && F && (QL(b, B), YE(b, 1)), b; -}, E$ = function(r) { - var u = 0, c = function(b) { - return (b ? 1 : 0) << u++; - }, d = 0; - return d += c(r.incudeNodes), d += c(r.includeEdges), d += c(r.includeLabels), d += c(r.includeMainLabels), d += c(r.includeSourceLabels), d += c(r.includeTargetLabels), d += c(r.includeOverlays), d; -}, S$ = function(r) { - if (r.isEdge()) { - var u = r.source().position(), c = r.target().position(), d = function(b) { - return Math.round(b); - }; - return Ioe([d(u.x), d(u.y), d(c.x), d(c.y)]); - } else - return 0; -}, W_ = function(r, u) { - var c = r._private, d, g = r.isEdge(), b = u == null ? U_ : E$(u), y = b === U_, k = S$(r), E = c.bbCachePosKey === k, C = u.useCache && E, T = function(H) { - return H._private.bbCache == null || H._private.styleDirty; - }, P = !C || T(r) || g && T(r.source()) || T(r.target()); - if (P ? (E || r.recalculateRenderedStyle(C), d = Bue(r, tw), c.bbCache = d, c.bbCachePosKey = k) : d = c.bbCache, !y) { - var N = r.isNode(); - d = Ms(), (u.includeNodes && N || u.includeEdges && !N) && (u.includeOverlays ? cv(d, c.overlayBounds) : cv(d, c.bodyBounds)), u.includeLabels && (u.includeMainLabels && (!g || u.includeSourceLabels && u.includeTargetLabels) ? cv(d, c.labelBounds.all) : (u.includeMainLabels && cv(d, c.labelBounds.mainRot), u.includeSourceLabels && cv(d, c.labelBounds.sourceRot), u.includeTargetLabels && cv(d, c.labelBounds.targetRot))), d.w = d.x2 - d.x1, d.h = d.y2 - d.y1; - } - return d; -}, tw = { - includeNodes: !0, - includeEdges: !0, - includeLabels: !0, - includeMainLabels: !0, - includeSourceLabels: !0, - includeTargetLabels: !0, - includeOverlays: !0, - includeUnderlays: !0, - useCache: !0 -}, U_ = E$(tw), K_ = po(tw); -Yh.boundingBox = function(a) { - var r; - if (this.length === 1 && this[0]._private.bbCache != null && !this[0]._private.styleDirty && (a === void 0 || a.useCache === void 0 || a.useCache === !0)) - a === void 0 ? a = tw : a = K_(a), r = W_(this[0], a); - else { - r = Ms(), a = a || tw; - var u = K_(a), c = this, d = c.cy(), g = d.styleEnabled(); - if (g) - for (var b = 0; b < c.length; b++) { - var y = c[b], k = y._private, E = S$(y), C = k.bbCachePosKey === E, T = u.useCache && C && !k.styleDirty; - y.recalculateRenderedStyle(T); - } - this.updateCompoundBounds(!a.useCache); - for (var P = 0; P < c.length; P++) { - var N = c[P]; - cv(r, W_(N, u)); - } - } - return r.x1 = Nu(r.x1), r.y1 = Nu(r.y1), r.x2 = Nu(r.x2), r.y2 = Nu(r.y2), r.w = Nu(r.x2 - r.x1), r.h = Nu(r.y2 - r.y1), r; -}; -Yh.dirtyBoundingBoxCache = function() { - for (var a = 0; a < this.length; a++) { - var r = this[a]._private; - r.bbCache = null, r.bbCachePosKey = null, r.bodyBounds = null, r.overlayBounds = null, r.labelBounds.all = null, r.labelBounds.source = null, r.labelBounds.target = null, r.labelBounds.main = null, r.labelBounds.sourceRot = null, r.labelBounds.targetRot = null, r.labelBounds.mainRot = null, r.arrowBounds.source = null, r.arrowBounds.target = null, r.arrowBounds["mid-source"] = null, r.arrowBounds["mid-target"] = null; - } - return this.emitAndNotify("bounds"), this; -}; -Yh.boundingBoxAt = function(a) { - var r = this.nodes(), u = this.cy(), c = u.hasCompoundNodes(), d = u.collection(); - if (c && (d = r.filter(function(E) { - return E.isParent(); - }), r = r.not(d)), fr(a)) { - var g = a; - a = function() { - return g; - }; - } - var b = function(C, T) { - return C._private.bbAtOldPos = a(C, T); - }, y = function(C) { - return C._private.bbAtOldPos; - }; - u.startBatch(), r.forEach(b).silentPositions(a), c && (d.dirtyCompoundBoundsCache(), d.dirtyBoundingBoxCache(), d.updateCompoundBounds(!0)); - var k = cse(this.boundingBox({ - useCache: !1 - })); - return r.silentPositions(y), c && (d.dirtyCompoundBoundsCache(), d.dirtyBoundingBoxCache(), d.updateCompoundBounds(!0)), u.endBatch(), k; -}; -Nb.boundingbox = Nb.bb = Nb.boundingBox; -Nb.renderedBoundingbox = Nb.renderedBoundingBox; -var zue = Yh, Fp, fw; -Fp = fw = {}; -var C$ = function(r) { - r.uppercaseName = T_(r.name), r.autoName = "auto" + r.uppercaseName, r.labelName = "label" + r.uppercaseName, r.outerName = "outer" + r.uppercaseName, r.uppercaseOuterName = T_(r.outerName), Fp[r.name] = function() { - var c = this[0], d = c._private, g = d.cy, b = g._private.styleEnabled; - if (c) - if (b) { - if (c.isParent()) - return c.updateCompoundBounds(), d[r.autoName] || 0; - var y = c.pstyle(r.name); - switch (y.strValue) { - case "label": - return c.recalculateRenderedStyle(), d.rstyle[r.labelName] || 0; - default: - return y.pfValue; - } - } else - return 1; - }, Fp["outer" + r.uppercaseName] = function() { - var c = this[0], d = c._private, g = d.cy, b = g._private.styleEnabled; - if (c) - if (b) { - var y = c[r.name](), k = c.pstyle("border-width").pfValue, E = 2 * c.padding(); - return y + k + E; - } else - return 1; - }, Fp["rendered" + r.uppercaseName] = function() { - var c = this[0]; - if (c) { - var d = c[r.name](); - return d * this.cy().zoom(); - } - }, Fp["rendered" + r.uppercaseOuterName] = function() { - var c = this[0]; - if (c) { - var d = c[r.outerName](); - return d * this.cy().zoom(); - } - }; -}; -C$({ - name: "width" -}); -C$({ - name: "height" -}); -fw.padding = function() { - var a = this[0], r = a._private; - return a.isParent() ? (a.updateCompoundBounds(), r.autoPadding !== void 0 ? r.autoPadding : a.pstyle("padding").pfValue) : a.pstyle("padding").pfValue; -}; -fw.paddedHeight = function() { - var a = this[0]; - return a.height() + 2 * a.padding(); -}; -fw.paddedWidth = function() { - var a = this[0]; - return a.width() + 2 * a.padding(); -}; -var Hue = fw, _ue = function(r, u) { - if (r.isEdge()) - return u(r); -}, Gue = function(r, u) { - if (r.isEdge()) { - var c = r.cy(); - return d5(u(r), c.zoom(), c.pan()); - } -}, $ue = function(r, u) { - if (r.isEdge()) { - var c = r.cy(), d = c.pan(), g = c.zoom(); - return u(r).map(function(b) { - return d5(b, g, d); - }); - } -}, Yue = function(r) { - return r.renderer().getControlPoints(r); -}, Fue = function(r) { - return r.renderer().getSegmentPoints(r); -}, que = function(r) { - return r.renderer().getSourceEndpoint(r); -}, Vue = function(r) { - return r.renderer().getTargetEndpoint(r); -}, Wue = function(r) { - return r.renderer().getEdgeMidpoint(r); -}, Z_ = { - controlPoints: { - get: Yue, - mult: !0 - }, - segmentPoints: { - get: Fue, - mult: !0 - }, - sourceEndpoint: { - get: que - }, - targetEndpoint: { - get: Vue - }, - midpoint: { - get: Wue - } -}, Uue = function(r) { - return "rendered" + r[0].toUpperCase() + r.substr(1); -}, Kue = Object.keys(Z_).reduce(function(a, r) { - var u = Z_[r], c = Uue(r); - return a[r] = function() { - return _ue(this, u.get); - }, u.mult ? a[c] = function() { - return $ue(this, u.get); - } : a[c] = function() { - return Gue(this, u.get); - }, a; -}, {}), Zue = on({}, Rue, zue, Hue, Kue); -/*! -Event object based on jQuery events, MIT license - -https://jquery.org/license/ -https://tldrlegal.com/license/mit-license -https://github.com/jquery/jquery/blob/master/src/event.js -*/ -var x$ = function(r, u) { - this.recycle(r, u); -}; -function Hp() { - return !1; -} -function zE() { - return !0; -} -x$.prototype = { - instanceString: function() { - return "event"; - }, - recycle: function(r, u) { - if (this.isImmediatePropagationStopped = this.isPropagationStopped = this.isDefaultPrevented = Hp, r != null && r.preventDefault ? (this.type = r.type, this.isDefaultPrevented = r.defaultPrevented ? zE : Hp) : r != null && r.type ? u = r : this.type = r, u != null && (this.originalEvent = u.originalEvent, this.type = u.type != null ? u.type : this.type, this.cy = u.cy, this.target = u.target, this.position = u.position, this.renderedPosition = u.renderedPosition, this.namespace = u.namespace, this.layout = u.layout), this.cy != null && this.position != null && this.renderedPosition == null) { - var c = this.position, d = this.cy.zoom(), g = this.cy.pan(); - this.renderedPosition = { - x: c.x * d + g.x, - y: c.y * d + g.y - }; - } - this.timeStamp = r && r.timeStamp || Date.now(); - }, - preventDefault: function() { - this.isDefaultPrevented = zE; - var r = this.originalEvent; - r && r.preventDefault && r.preventDefault(); - }, - stopPropagation: function() { - this.isPropagationStopped = zE; - var r = this.originalEvent; - r && r.stopPropagation && r.stopPropagation(); - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = zE, this.stopPropagation(); - }, - isDefaultPrevented: Hp, - isPropagationStopped: Hp, - isImmediatePropagationStopped: Hp -}; -var T$ = /^([^.]+)(\.(?:[^.]+))?$/, Xue = ".*", L$ = { - qualifierCompare: function(r, u) { - return r === u; - }, - eventMatches: function() { - return !0; - }, - addEventFields: function() { - }, - callbackContext: function(r) { - return r; - }, - beforeEmit: function() { - }, - afterEmit: function() { - }, - bubble: function() { - return !1; - }, - parent: function() { - return null; - }, - context: null -}, X_ = Object.keys(L$), Que = {}; -function b5() { - for (var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Que, r = arguments.length > 1 ? arguments[1] : void 0, u = 0; u < X_.length; u++) { - var c = X_[u]; - this[c] = a[c] || L$[c]; - } - this.context = r || this.context, this.listeners = [], this.emitting = 0; -} -var $h = b5.prototype, P$ = function(r, u, c, d, g, b, y) { - zi(d) && (g = d, d = null), y && (b == null ? b = y : b = on({}, b, y)); - for (var k = Qr(c) ? c : c.split(/\s+/), E = 0; E < k.length; E++) { - var C = k[E]; - if (!zh(C)) { - var T = C.match(T$); - if (T) { - var P = T[1], N = T[2] ? T[2] : null, D = u(r, C, P, N, d, g, b); - if (D === !1) - break; - } - } - } -}, Q_ = function(r, u) { - return r.addEventFields(r.context, u), new x$(u.type, u); -}, Jue = function(r, u, c) { - if (hoe(c)) { - u(r, c); - return; - } else if (fr(c)) { - u(r, Q_(r, c)); - return; - } - for (var d = Qr(c) ? c : c.split(/\s+/), g = 0; g < d.length; g++) { - var b = d[g]; - if (!zh(b)) { - var y = b.match(T$); - if (y) { - var k = y[1], E = y[2] ? y[2] : null, C = Q_(r, { - type: k, - namespace: E, - target: r.context - }); - u(r, C); - } - } - } -}; -$h.on = $h.addListener = function(a, r, u, c, d) { - return P$(this, function(g, b, y, k, E, C, T) { - zi(C) && g.listeners.push({ - event: b, - // full event string - callback: C, - // callback to run - type: y, - // the event type (e.g. 'click') - namespace: k, - // the event namespace (e.g. ".foo") - qualifier: E, - // a restriction on whether to match this emitter - conf: T - // additional configuration - }); - }, a, r, u, c, d), this; -}; -$h.one = function(a, r, u, c) { - return this.on(a, r, u, c, { - one: !0 - }); -}; -$h.removeListener = $h.off = function(a, r, u, c) { - var d = this; - this.emitting !== 0 && (this.listeners = Boe(this.listeners)); - for (var g = this.listeners, b = function(E) { - var C = g[E]; - P$(d, function(T, P, N, D, H, _) { - if ((C.type === N || a === "*") && (!D && C.namespace !== ".*" || C.namespace === D) && (!H || T.qualifierCompare(C.qualifier, H)) && (!_ || C.callback === _)) - return g.splice(E, 1), !1; - }, a, r, u, c); - }, y = g.length - 1; y >= 0; y--) - b(y); - return this; -}; -$h.removeAllListeners = function() { - return this.removeListener("*"); -}; -$h.emit = $h.trigger = function(a, r, u) { - var c = this.listeners, d = c.length; - return this.emitting++, Qr(r) || (r = [r]), Jue(this, function(g, b) { - u != null && (c = [{ - event: b.event, - type: b.type, - namespace: b.namespace, - callback: u - }], d = c.length); - for (var y = function(C) { - var T = c[C]; - if (T.type === b.type && (!T.namespace || T.namespace === b.namespace || T.namespace === Xue) && g.eventMatches(g.context, T, b)) { - var P = [b]; - r != null && Hoe(P, r), g.beforeEmit(g.context, T, b), T.conf && T.conf.one && (g.listeners = g.listeners.filter(function(H) { - return H !== T; - })); - var N = g.callbackContext(g.context, T, b), D = T.callback.apply(N, P); - g.afterEmit(g.context, T, b), D === !1 && (b.stopPropagation(), b.preventDefault()); - } - }, k = 0; k < d; k++) - y(k); - g.bubble(g.context) && !b.isPropagationStopped() && g.parent(g.context).emit(b, r); - }, a), this.emitting--, this; -}; -var ece = { - qualifierCompare: function(r, u) { - return r == null || u == null ? r == null && u == null : r.sameText(u); - }, - eventMatches: function(r, u, c) { - var d = u.qualifier; - return d != null ? r !== c.target && cw(c.target) && d.matches(c.target) : !0; - }, - addEventFields: function(r, u) { - u.cy = r.cy(), u.target = r; - }, - callbackContext: function(r, u, c) { - return u.qualifier != null ? c.target : r; - }, - beforeEmit: function(r, u) { - u.conf && u.conf.once && u.conf.onceCollection.removeListener(u.event, u.qualifier, u.callback); - }, - bubble: function() { - return !0; - }, - parent: function(r) { - return r.isChild() ? r.parent() : r.cy(); - } -}, HE = function(r) { - return qt(r) ? new _h(r) : r; -}, D$ = { - createEmitter: function() { - for (var r = 0; r < this.length; r++) { - var u = this[r], c = u._private; - c.emitter || (c.emitter = new b5(ece, u)); - } - return this; - }, - emitter: function() { - return this._private.emitter; - }, - on: function(r, u, c) { - for (var d = HE(u), g = 0; g < this.length; g++) { - var b = this[g]; - b.emitter().on(r, d, c); - } - return this; - }, - removeListener: function(r, u, c) { - for (var d = HE(u), g = 0; g < this.length; g++) { - var b = this[g]; - b.emitter().removeListener(r, d, c); - } - return this; - }, - removeAllListeners: function() { - for (var r = 0; r < this.length; r++) { - var u = this[r]; - u.emitter().removeAllListeners(); - } - return this; - }, - one: function(r, u, c) { - for (var d = HE(u), g = 0; g < this.length; g++) { - var b = this[g]; - b.emitter().one(r, d, c); - } - return this; - }, - once: function(r, u, c) { - for (var d = HE(u), g = 0; g < this.length; g++) { - var b = this[g]; - b.emitter().on(r, d, c, { - once: !0, - onceCollection: this - }); - } - }, - emit: function(r, u) { - for (var c = 0; c < this.length; c++) { - var d = this[c]; - d.emitter().emit(r, u); - } - return this; - }, - emitAndNotify: function(r, u) { - if (this.length !== 0) - return this.cy().notify(r, this), this.emit(r, u), this; - } -}; -Mr.eventAliasesOn(D$); -var j$ = { - nodes: function(r) { - return this.filter(function(u) { - return u.isNode(); - }).filter(r); - }, - edges: function(r) { - return this.filter(function(u) { - return u.isEdge(); - }).filter(r); - }, - // internal helper to get nodes and edges as separate collections with single iteration over elements - byGroup: function() { - for (var r = this.spawn(), u = this.spawn(), c = 0; c < this.length; c++) { - var d = this[c]; - d.isNode() ? r.push(d) : u.push(d); - } - return { - nodes: r, - edges: u - }; - }, - filter: function(r, u) { - if (r === void 0) - return this; - if (qt(r) || tu(r)) - return new _h(r).filter(this); - if (zi(r)) { - for (var c = this.spawn(), d = this, g = 0; g < d.length; g++) { - var b = d[g], y = u ? r.apply(u, [b, g, d]) : r(b, g, d); - y && c.push(b); - } - return c; - } - return this.spawn(); - }, - not: function(r) { - if (r) { - qt(r) && (r = this.filter(r)); - for (var u = this.spawn(), c = 0; c < this.length; c++) { - var d = this[c], g = r.has(d); - g || u.push(d); - } - return u; - } else - return this; - }, - absoluteComplement: function() { - var r = this.cy(); - return r.mutableElements().not(this); - }, - intersect: function(r) { - if (qt(r)) { - var u = r; - return this.filter(u); - } - for (var c = this.spawn(), d = this, g = r, b = this.length < r.length, y = b ? d : g, k = b ? g : d, E = 0; E < y.length; E++) { - var C = y[E]; - k.has(C) && c.push(C); - } - return c; - }, - xor: function(r) { - var u = this._private.cy; - qt(r) && (r = u.$(r)); - var c = this.spawn(), d = this, g = r, b = function(k, E) { - for (var C = 0; C < k.length; C++) { - var T = k[C], P = T._private.data.id, N = E.hasElementWithId(P); - N || c.push(T); - } - }; - return b(d, g), b(g, d), c; - }, - diff: function(r) { - var u = this._private.cy; - qt(r) && (r = u.$(r)); - var c = this.spawn(), d = this.spawn(), g = this.spawn(), b = this, y = r, k = function(C, T, P) { - for (var N = 0; N < C.length; N++) { - var D = C[N], H = D._private.data.id, _ = T.hasElementWithId(H); - _ ? g.merge(D) : P.push(D); - } - }; - return k(b, y, c), k(y, b, d), { - left: c, - right: d, - both: g - }; - }, - add: function(r) { - var u = this._private.cy; - if (!r) - return this; - if (qt(r)) { - var c = r; - r = u.mutableElements().filter(c); - } - for (var d = this.spawnSelf(), g = 0; g < r.length; g++) { - var b = r[g], y = !this.has(b); - y && d.push(b); - } - return d; - }, - // in place merge on calling collection - merge: function(r) { - var u = this._private, c = u.cy; - if (!r) - return this; - if (r && qt(r)) { - var d = r; - r = c.mutableElements().filter(d); - } - for (var g = u.map, b = 0; b < r.length; b++) { - var y = r[b], k = y._private.data.id, E = !g.has(k); - if (E) { - var C = this.length++; - this[C] = y, g.set(k, { - ele: y, - index: C - }); - } - } - return this; - }, - unmergeAt: function(r) { - var u = this[r], c = u.id(), d = this._private, g = d.map; - this[r] = void 0, g.delete(c); - var b = r === this.length - 1; - if (this.length > 1 && !b) { - var y = this.length - 1, k = this[y], E = k._private.data.id; - this[y] = void 0, this[r] = k, g.set(E, { - ele: k, - index: r - }); - } - return this.length--, this; - }, - // remove single ele in place in calling collection - unmergeOne: function(r) { - r = r[0]; - var u = this._private, c = r._private.data.id, d = u.map, g = d.get(c); - if (!g) - return this; - var b = g.index; - return this.unmergeAt(b), this; - }, - // remove eles in place on calling collection - unmerge: function(r) { - var u = this._private.cy; - if (!r) - return this; - if (r && qt(r)) { - var c = r; - r = u.mutableElements().filter(c); - } - for (var d = 0; d < r.length; d++) - this.unmergeOne(r[d]); - return this; - }, - unmergeBy: function(r) { - for (var u = this.length - 1; u >= 0; u--) { - var c = this[u]; - r(c) && this.unmergeAt(u); - } - return this; - }, - map: function(r, u) { - for (var c = [], d = this, g = 0; g < d.length; g++) { - var b = d[g], y = u ? r.apply(u, [b, g, d]) : r(b, g, d); - c.push(y); - } - return c; - }, - reduce: function(r, u) { - for (var c = u, d = this, g = 0; g < d.length; g++) - c = r(c, d[g], g, d); - return c; - }, - max: function(r, u) { - for (var c = -1 / 0, d, g = this, b = 0; b < g.length; b++) { - var y = g[b], k = u ? r.apply(u, [y, b, g]) : r(y, b, g); - k > c && (c = k, d = y); - } - return { - value: c, - ele: d - }; - }, - min: function(r, u) { - for (var c = 1 / 0, d, g = this, b = 0; b < g.length; b++) { - var y = g[b], k = u ? r.apply(u, [y, b, g]) : r(y, b, g); - k < c && (c = k, d = y); - } - return { - value: c, - ele: d - }; - } -}, br = j$; -br.u = br["|"] = br["+"] = br.union = br.or = br.add; -br["\\"] = br["!"] = br["-"] = br.difference = br.relativeComplement = br.subtract = br.not; -br.n = br["&"] = br["."] = br.and = br.intersection = br.intersect; -br["^"] = br["(+)"] = br["(-)"] = br.symmetricDifference = br.symdiff = br.xor; -br.fnFilter = br.filterFn = br.stdFilter = br.filter; -br.complement = br.abscomp = br.absoluteComplement; -var tce = { - isNode: function() { - return this.group() === "nodes"; - }, - isEdge: function() { - return this.group() === "edges"; - }, - isLoop: function() { - return this.isEdge() && this.source()[0] === this.target()[0]; - }, - isSimple: function() { - return this.isEdge() && this.source()[0] !== this.target()[0]; - }, - group: function() { - var r = this[0]; - if (r) - return r._private.group; - } -}, N$ = function(r, u) { - var c = r.cy(), d = c.hasCompoundNodes(); - function g(C) { - var T = C.pstyle("z-compound-depth"); - return T.value === "auto" ? d ? C.zDepth() : 0 : T.value === "bottom" ? -1 : T.value === "top" ? j6 : 0; - } - var b = g(r) - g(u); - if (b !== 0) - return b; - function y(C) { - var T = C.pstyle("z-index-compare"); - return T.value === "auto" && C.isNode() ? 1 : 0; - } - var k = y(r) - y(u); - if (k !== 0) - return k; - var E = r.pstyle("z-index").value - u.pstyle("z-index").value; - return E !== 0 ? E : r.poolIndex() - u.poolIndex(); -}, e5 = { - forEach: function(r, u) { - if (zi(r)) - for (var c = this.length, d = 0; d < c; d++) { - var g = this[d], b = u ? r.apply(u, [g, d, this]) : r(g, d, this); - if (b === !1) - break; - } - return this; - }, - toArray: function() { - for (var r = [], u = 0; u < this.length; u++) - r.push(this[u]); - return r; - }, - slice: function(r, u) { - var c = [], d = this.length; - u == null && (u = d), r == null && (r = 0), r < 0 && (r = d + r), u < 0 && (u = d + u); - for (var g = r; g >= 0 && g < u && g < d; g++) - c.push(this[g]); - return this.spawn(c); - }, - size: function() { - return this.length; - }, - eq: function(r) { - return this[r] || this.spawn(); - }, - first: function() { - return this[0] || this.spawn(); - }, - last: function() { - return this[this.length - 1] || this.spawn(); - }, - empty: function() { - return this.length === 0; - }, - nonempty: function() { - return !this.empty(); - }, - sort: function(r) { - if (!zi(r)) - return this; - var u = this.toArray().sort(r); - return this.spawn(u); - }, - sortByZIndex: function() { - return this.sort(N$); - }, - zDepth: function() { - var r = this[0]; - if (r) { - var u = r._private, c = u.group; - if (c === "nodes") { - var d = u.data.parent ? r.parents().size() : 0; - return r.isParent() ? d : j6 - 1; - } else { - var g = u.source, b = u.target, y = g.zDepth(), k = b.zDepth(); - return Math.max(y, k, 0); - } - } - } -}; -e5.each = e5.forEach; -var nce = function() { - var r = "undefined", u = (typeof Symbol > "u" ? "undefined" : Ra(Symbol)) != r && Ra(Symbol.iterator) != r; - u && (e5[Symbol.iterator] = function() { - var c = this, d = { - value: void 0, - done: !1 - }, g = 0, b = this.length; - return BG({ - next: function() { - return g < b ? d.value = c[g++] : (d.value = void 0, d.done = !0), d; - } - }, Symbol.iterator, function() { - return this; - }); - }); -}; -nce(); -var rce = po({ - nodeDimensionsIncludeLabels: !1 -}), qE = { - // Calculates and returns node dimensions { x, y } based on options given - layoutDimensions: function(r) { - r = rce(r); - var u; - if (!this.takesUpSpace()) - u = { - w: 0, - h: 0 - }; - else if (r.nodeDimensionsIncludeLabels) { - var c = this.boundingBox(); - u = { - w: c.w, - h: c.h - }; - } else - u = { - w: this.outerWidth(), - h: this.outerHeight() - }; - return (u.w === 0 || u.h === 0) && (u.w = u.h = 1), u; - }, - // using standard layout options, apply position function (w/ or w/o animation) - layoutPositions: function(r, u, c) { - var d = this.nodes().filter(function(Q) { - return !Q.isParent(); - }), g = this.cy(), b = u.eles, y = function(X) { - return X.id(); - }, k = Up(c, y); - r.emit({ - type: "layoutstart", - layout: r - }), r.animations = []; - var E = function(X, K, ee) { - var Z = { - x: K.x1 + K.w / 2, - y: K.y1 + K.h / 2 - }, ae = { - // scale from center of bounding box (not necessarily 0,0) - x: (ee.x - Z.x) * X, - y: (ee.y - Z.y) * X - }; - return { - x: Z.x + ae.x, - y: Z.y + ae.y - }; - }, C = u.spacingFactor && u.spacingFactor !== 1, T = function() { - if (!C) - return null; - for (var X = Ms(), K = 0; K < d.length; K++) { - var ee = d[K], Z = k(ee, K); - hse(X, Z.x, Z.y); - } - return X; - }, P = T(), N = Up(function(Q, X) { - var K = k(Q, X); - if (C) { - var ee = Math.abs(u.spacingFactor); - K = E(ee, P, K); - } - return u.transform != null && (K = u.transform(Q, K)), K; - }, y); - if (u.animate) { - for (var D = 0; D < d.length; D++) { - var H = d[D], _ = N(H, D), B = u.animateFilter == null || u.animateFilter(H, D); - if (B) { - var $ = H.animation({ - position: _, - duration: u.animationDuration, - easing: u.animationEasing - }); - r.animations.push($); - } else - H.position(_); - } - if (u.fit) { - var F = g.animation({ - fit: { - boundingBox: b.boundingBoxAt(N), - padding: u.padding - }, - duration: u.animationDuration, - easing: u.animationEasing - }); - r.animations.push(F); - } else if (u.zoom !== void 0 && u.pan !== void 0) { - var W = g.animation({ - zoom: u.zoom, - pan: u.pan, - duration: u.animationDuration, - easing: u.animationEasing - }); - r.animations.push(W); - } - r.animations.forEach(function(Q) { - return Q.play(); - }), r.one("layoutready", u.ready), r.emit({ - type: "layoutready", - layout: r - }), Hb.all(r.animations.map(function(Q) { - return Q.promise(); - })).then(function() { - r.one("layoutstop", u.stop), r.emit({ - type: "layoutstop", - layout: r - }); - }); - } else - d.positions(N), u.fit && g.fit(u.eles, u.padding), u.zoom != null && g.zoom(u.zoom), u.pan && g.pan(u.pan), r.one("layoutready", u.ready), r.emit({ - type: "layoutready", - layout: r - }), r.one("layoutstop", u.stop), r.emit({ - type: "layoutstop", - layout: r - }); - return this; - }, - layout: function(r) { - var u = this.cy(); - return u.makeLayout(on({}, r, { - eles: this - })); - } -}; -qE.createLayout = qE.makeLayout = qE.layout; -function I$(a, r, u) { - var c = u._private, d = c.styleCache = c.styleCache || [], g; - return (g = d[a]) != null || (g = d[a] = r(u)), g; -} -function p5(a, r) { - return a = fv(a), function(c) { - return I$(a, r, c); - }; -} -function w5(a, r) { - a = fv(a); - var u = function(d) { - return r.call(d); - }; - return function() { - var d = this[0]; - if (d) - return I$(a, u, d); - }; -} -var go = { - recalculateRenderedStyle: function(r) { - var u = this.cy(), c = u.renderer(), d = u.styleEnabled(); - return c && d && c.recalculateRenderedStyle(this, r), this; - }, - dirtyStyleCache: function() { - var r = this.cy(), u = function(g) { - return g._private.styleCache = null; - }; - if (r.hasCompoundNodes()) { - var c; - c = this.spawnSelf().merge(this.descendants()).merge(this.parents()), c.merge(c.connectedEdges()), c.forEach(u); - } else - this.forEach(function(d) { - u(d), d.connectedEdges().forEach(u); - }); - return this; - }, - // fully updates (recalculates) the style for the elements - updateStyle: function(r) { - var u = this._private.cy; - if (!u.styleEnabled()) - return this; - if (u.batching()) { - var c = u._private.batchStyleEles; - return c.merge(this), this; - } - var d = u.hasCompoundNodes(), g = this; - r = !!(r || r === void 0), d && (g = this.spawnSelf().merge(this.descendants()).merge(this.parents())); - var b = g; - return r ? b.emitAndNotify("style") : b.emit("style"), g.forEach(function(y) { - return y._private.styleDirty = !0; - }), this; - }, - // private: clears dirty flag and recalculates style - cleanStyle: function() { - var r = this.cy(); - if (r.styleEnabled()) - for (var u = 0; u < this.length; u++) { - var c = this[u]; - c._private.styleDirty && (c._private.styleDirty = !1, r.style().apply(c)); - } - }, - // get the internal parsed style object for the specified property - parsedStyle: function(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, c = this[0], d = c.cy(); - if (d.styleEnabled() && c) { - this.cleanStyle(); - var g = c._private.style[r]; - return g ?? (u ? d.style().getDefaultProperty(r) : null); - } - }, - numericStyle: function(r) { - var u = this[0]; - if (u.cy().styleEnabled() && u) { - var c = u.pstyle(r); - return c.pfValue !== void 0 ? c.pfValue : c.value; - } - }, - numericStyleUnits: function(r) { - var u = this[0]; - if (u.cy().styleEnabled() && u) - return u.pstyle(r).units; - }, - // get the specified css property as a rendered value (i.e. on-screen value) - // or get the whole rendered style if no property specified (NB doesn't allow setting) - renderedStyle: function(r) { - var u = this.cy(); - if (!u.styleEnabled()) - return this; - var c = this[0]; - if (c) - return u.style().getRenderedStyle(c, r); - }, - // read the calculated css style of the element or override the style (via a bypass) - style: function(r, u) { - var c = this.cy(); - if (!c.styleEnabled()) - return this; - var d = !1, g = c.style(); - if (fr(r)) { - var b = r; - g.applyBypass(this, b, d), this.emitAndNotify("style"); - } else if (qt(r)) - if (u === void 0) { - var y = this[0]; - return y ? g.getStylePropertyValue(y, r) : void 0; - } else - g.applyBypass(this, r, u, d), this.emitAndNotify("style"); - else if (r === void 0) { - var k = this[0]; - return k ? g.getRawStyle(k) : void 0; - } - return this; - }, - removeStyle: function(r) { - var u = this.cy(); - if (!u.styleEnabled()) - return this; - var c = !1, d = u.style(), g = this; - if (r === void 0) - for (var b = 0; b < g.length; b++) { - var y = g[b]; - d.removeAllBypasses(y, c); - } - else { - r = r.split(/\s+/); - for (var k = 0; k < g.length; k++) { - var E = g[k]; - d.removeBypasses(E, r, c); - } - } - return this.emitAndNotify("style"), this; - }, - show: function() { - return this.css("display", "element"), this; - }, - hide: function() { - return this.css("display", "none"), this; - }, - effectiveOpacity: function() { - var r = this.cy(); - if (!r.styleEnabled()) - return 1; - var u = r.hasCompoundNodes(), c = this[0]; - if (c) { - var d = c._private, g = c.pstyle("opacity").value; - if (!u) - return g; - var b = d.data.parent ? c.parents() : null; - if (b) - for (var y = 0; y < b.length; y++) { - var k = b[y], E = k.pstyle("opacity").value; - g = E * g; - } - return g; - } - }, - transparent: function() { - var r = this.cy(); - if (!r.styleEnabled()) - return !1; - var u = this[0], c = u.cy().hasCompoundNodes(); - if (u) - return c ? u.effectiveOpacity() === 0 : u.pstyle("opacity").value === 0; - }, - backgrounding: function() { - var r = this.cy(); - if (!r.styleEnabled()) - return !1; - var u = this[0]; - return !!u._private.backgrounding; - } -}; -function r6(a, r) { - var u = a._private, c = u.data.parent ? a.parents() : null; - if (c) - for (var d = 0; d < c.length; d++) { - var g = c[d]; - if (!r(g)) - return !1; - } - return !0; -} -function H6(a) { - var r = a.ok, u = a.edgeOkViaNode || a.ok, c = a.parentOk || a.ok; - return function() { - var d = this.cy(); - if (!d.styleEnabled()) - return !0; - var g = this[0], b = d.hasCompoundNodes(); - if (g) { - var y = g._private; - if (!r(g)) - return !1; - if (g.isNode()) - return !b || r6(g, c); - var k = y.source, E = y.target; - return u(k) && (!b || r6(k, u)) && (k === E || u(E) && (!b || r6(E, u))); - } - }; -} -var _b = p5("eleTakesUpSpace", function(a) { - return a.pstyle("display").value === "element" && a.width() !== 0 && (a.isNode() ? a.height() !== 0 : !0); -}); -go.takesUpSpace = w5("takesUpSpace", H6({ - ok: _b -})); -var ice = p5("eleInteractive", function(a) { - return a.pstyle("events").value === "yes" && a.pstyle("visibility").value === "visible" && _b(a); -}), ace = p5("parentInteractive", function(a) { - return a.pstyle("visibility").value === "visible" && _b(a); -}); -go.interactive = w5("interactive", H6({ - ok: ice, - parentOk: ace, - edgeOkViaNode: _b -})); -go.noninteractive = function() { - var a = this[0]; - if (a) - return !a.interactive(); -}; -var oce = p5("eleVisible", function(a) { - return a.pstyle("visibility").value === "visible" && a.pstyle("opacity").pfValue !== 0 && _b(a); -}), sce = _b; -go.visible = w5("visible", H6({ - ok: oce, - edgeOkViaNode: sce -})); -go.hidden = function() { - var a = this[0]; - if (a) - return !a.visible(); -}; -go.isBundledBezier = w5("isBundledBezier", function() { - return this.cy().styleEnabled() ? !this.removed() && this.pstyle("curve-style").value === "bezier" && this.takesUpSpace() : !1; -}); -go.bypass = go.css = go.style; -go.renderedCss = go.renderedStyle; -go.removeBypass = go.removeCss = go.removeStyle; -go.pstyle = go.parsedStyle; -var Bh = {}; -function J_(a) { - return function() { - var r = arguments, u = []; - if (r.length === 2) { - var c = r[0], d = r[1]; - this.on(a.event, c, d); - } else if (r.length === 1 && zi(r[0])) { - var g = r[0]; - this.on(a.event, g); - } else if (r.length === 0 || r.length === 1 && Qr(r[0])) { - for (var b = r.length === 1 ? r[0] : null, y = 0; y < this.length; y++) { - var k = this[y], E = !a.ableField || k._private[a.ableField], C = k._private[a.field] != a.value; - if (a.overrideAble) { - var T = a.overrideAble(k); - if (T !== void 0 && (E = T, !T)) - return this; - } - E && (k._private[a.field] = a.value, C && u.push(k)); - } - var P = this.spawn(u); - P.updateStyle(), P.emit(a.event), b && P.emit(b); - } - return this; - }; -} -function Gb(a) { - Bh[a.field] = function() { - var r = this[0]; - if (r) { - if (a.overrideField) { - var u = a.overrideField(r); - if (u !== void 0) - return u; - } - return r._private[a.field]; - } - }, Bh[a.on] = J_({ - event: a.on, - field: a.field, - ableField: a.ableField, - overrideAble: a.overrideAble, - value: !0 - }), Bh[a.off] = J_({ - event: a.off, - field: a.field, - ableField: a.ableField, - overrideAble: a.overrideAble, - value: !1 - }); -} -Gb({ - field: "locked", - overrideField: function(r) { - return r.cy().autolock() ? !0 : void 0; - }, - on: "lock", - off: "unlock" -}); -Gb({ - field: "grabbable", - overrideField: function(r) { - return r.cy().autoungrabify() || r.pannable() ? !1 : void 0; - }, - on: "grabify", - off: "ungrabify" -}); -Gb({ - field: "selected", - ableField: "selectable", - overrideAble: function(r) { - return r.cy().autounselectify() ? !1 : void 0; - }, - on: "select", - off: "unselect" -}); -Gb({ - field: "selectable", - overrideField: function(r) { - return r.cy().autounselectify() ? !1 : void 0; - }, - on: "selectify", - off: "unselectify" -}); -Bh.deselect = Bh.unselect; -Bh.grabbed = function() { - var a = this[0]; - if (a) - return a._private.grabbed; -}; -Gb({ - field: "active", - on: "activate", - off: "unactivate" -}); -Gb({ - field: "pannable", - on: "panify", - off: "unpanify" -}); -Bh.inactive = function() { - var a = this[0]; - if (a) - return !a._private.active; -}; -var Mo = {}, eG = function(r) { - return function(c) { - for (var d = this, g = [], b = 0; b < d.length; b++) { - var y = d[b]; - if (y.isNode()) { - for (var k = !1, E = y.connectedEdges(), C = 0; C < E.length; C++) { - var T = E[C], P = T.source(), N = T.target(); - if (r.noIncomingEdges && N === y && P !== y || r.noOutgoingEdges && P === y && N !== y) { - k = !0; - break; - } - } - k || g.push(y); - } - } - return this.spawn(g, !0).filter(c); - }; -}, tG = function(r) { - return function(u) { - for (var c = this, d = [], g = 0; g < c.length; g++) { - var b = c[g]; - if (b.isNode()) - for (var y = b.connectedEdges(), k = 0; k < y.length; k++) { - var E = y[k], C = E.source(), T = E.target(); - r.outgoing && C === b ? (d.push(E), d.push(T)) : r.incoming && T === b && (d.push(E), d.push(C)); - } - } - return this.spawn(d, !0).filter(u); - }; -}, nG = function(r) { - return function(u) { - for (var c = this, d = [], g = {}; ; ) { - var b = r.outgoing ? c.outgoers() : c.incomers(); - if (b.length === 0) - break; - for (var y = !1, k = 0; k < b.length; k++) { - var E = b[k], C = E.id(); - g[C] || (g[C] = !0, d.push(E), y = !0); - } - if (!y) - break; - c = b; - } - return this.spawn(d, !0).filter(u); - }; -}; -Mo.clearTraversalCache = function() { - for (var a = 0; a < this.length; a++) - this[a]._private.traversalCache = null; -}; -on(Mo, { - // get the root nodes in the DAG - roots: eG({ - noIncomingEdges: !0 - }), - // get the leaf nodes in the DAG - leaves: eG({ - noOutgoingEdges: !0 - }), - // normally called children in graph theory - // these nodes =edges=> outgoing nodes - outgoers: Iu(tG({ - outgoing: !0 - }), "outgoers"), - // aka DAG descendants - successors: nG({ - outgoing: !0 - }), - // normally called parents in graph theory - // these nodes <=edges= incoming nodes - incomers: Iu(tG({ - incoming: !0 - }), "incomers"), - // aka DAG ancestors - predecessors: nG({ - incoming: !0 - }) -}); -on(Mo, { - neighborhood: Iu(function(a) { - for (var r = [], u = this.nodes(), c = 0; c < u.length; c++) - for (var d = u[c], g = d.connectedEdges(), b = 0; b < g.length; b++) { - var y = g[b], k = y.source(), E = y.target(), C = d === k ? E : k; - C.length > 0 && r.push(C[0]), r.push(y[0]); - } - return this.spawn(r, !0).filter(a); - }, "neighborhood"), - closedNeighborhood: function(r) { - return this.neighborhood().add(this).filter(r); - }, - openNeighborhood: function(r) { - return this.neighborhood(r); - } -}); -Mo.neighbourhood = Mo.neighborhood; -Mo.closedNeighbourhood = Mo.closedNeighborhood; -Mo.openNeighbourhood = Mo.openNeighborhood; -on(Mo, { - source: Iu(function(r) { - var u = this[0], c; - return u && (c = u._private.source || u.cy().collection()), c && r ? c.filter(r) : c; - }, "source"), - target: Iu(function(r) { - var u = this[0], c; - return u && (c = u._private.target || u.cy().collection()), c && r ? c.filter(r) : c; - }, "target"), - sources: rG({ - attr: "source" - }), - targets: rG({ - attr: "target" - }) -}); -function rG(a) { - return function(u) { - for (var c = [], d = 0; d < this.length; d++) { - var g = this[d], b = g._private[a.attr]; - b && c.push(b); - } - return this.spawn(c, !0).filter(u); - }; -} -on(Mo, { - edgesWith: Iu(iG(), "edgesWith"), - edgesTo: Iu(iG({ - thisIsSrc: !0 - }), "edgesTo") -}); -function iG(a) { - return function(u) { - var c = [], d = this._private.cy, g = a || {}; - qt(u) && (u = d.$(u)); - for (var b = 0; b < u.length; b++) - for (var y = u[b]._private.edges, k = 0; k < y.length; k++) { - var E = y[k], C = E._private.data, T = this.hasElementWithId(C.source) && u.hasElementWithId(C.target), P = u.hasElementWithId(C.source) && this.hasElementWithId(C.target), N = T || P; - N && ((g.thisIsSrc || g.thisIsTgt) && (g.thisIsSrc && !T || g.thisIsTgt && !P) || c.push(E)); - } - return this.spawn(c, !0); - }; -} -on(Mo, { - connectedEdges: Iu(function(a) { - for (var r = [], u = this, c = 0; c < u.length; c++) { - var d = u[c]; - if (d.isNode()) - for (var g = d._private.edges, b = 0; b < g.length; b++) { - var y = g[b]; - r.push(y); - } - } - return this.spawn(r, !0).filter(a); - }, "connectedEdges"), - connectedNodes: Iu(function(a) { - for (var r = [], u = this, c = 0; c < u.length; c++) { - var d = u[c]; - d.isEdge() && (r.push(d.source()[0]), r.push(d.target()[0])); - } - return this.spawn(r, !0).filter(a); - }, "connectedNodes"), - parallelEdges: Iu(aG(), "parallelEdges"), - codirectedEdges: Iu(aG({ - codirected: !0 - }), "codirectedEdges") -}); -function aG(a) { - var r = { - codirected: !1 - }; - return a = on({}, r, a), function(c) { - for (var d = [], g = this.edges(), b = a, y = 0; y < g.length; y++) - for (var k = g[y], E = k._private, C = E.source, T = C._private.data.id, P = E.data.target, N = C._private.edges, D = 0; D < N.length; D++) { - var H = N[D], _ = H._private.data, B = _.target, $ = _.source, F = B === P && $ === T, W = T === B && P === $; - (b.codirected && F || !b.codirected && (F || W)) && d.push(H); - } - return this.spawn(d, !0).filter(c); - }; -} -on(Mo, { - components: function(r) { - var u = this, c = u.cy(), d = c.collection(), g = r == null ? u.nodes() : r.nodes(), b = []; - r != null && g.empty() && (g = r.sources()); - var y = function(C, T) { - d.merge(C), g.unmerge(C), T.merge(C); - }; - if (g.empty()) - return u.spawn(); - var k = function() { - var C = c.collection(); - b.push(C); - var T = g[0]; - y(T, C), u.bfs({ - directed: !1, - roots: T, - visit: function(N) { - return y(N, C); - } - }), C.forEach(function(P) { - P.connectedEdges().forEach(function(N) { - u.has(N) && C.has(N.source()) && C.has(N.target()) && C.merge(N); - }); - }); - }; - do - k(); - while (g.length > 0); - return b; - }, - component: function() { - var r = this[0]; - return r.cy().mutableElements().components(r)[0]; - } -}); -Mo.componentsOf = Mo.components; -var bo = function(r, u) { - var c = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, d = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1; - if (r === void 0) { - Qi("A collection must have a reference to the core"); - return; - } - var g = new El(), b = !1; - if (!u) - u = []; - else if (u.length > 0 && fr(u[0]) && !cw(u[0])) { - b = !0; - for (var y = [], k = new zb(), E = 0, C = u.length; E < C; E++) { - var T = u[E]; - T.data == null && (T.data = {}); - var P = T.data; - if (P.id == null) - P.id = XG(); - else if (r.hasElementWithId(P.id) || k.has(P.id)) - continue; - var N = new h5(r, T, !1); - y.push(N), k.add(P.id); - } - u = y; - } - this.length = 0; - for (var D = 0, H = u.length; D < H; D++) { - var _ = u[D][0]; - if (_ != null) { - var B = _._private.data.id; - (!c || !g.has(B)) && (c && g.set(B, { - index: this.length, - ele: _ - }), this[this.length] = _, this.length++); - } - } - this._private = { - eles: this, - cy: r, - get map() { - return this.lazyMap == null && this.rebuildMap(), this.lazyMap; - }, - set map($) { - this.lazyMap = $; - }, - rebuildMap: function() { - for (var F = this.lazyMap = new El(), W = this.eles, Q = 0; Q < W.length; Q++) { - var X = W[Q]; - F.set(X.id(), { - index: Q, - ele: X - }); - } - } - }, c && (this._private.map = g), b && !d && this.restore(); -}, si = h5.prototype = bo.prototype = Object.create(Array.prototype); -si.instanceString = function() { - return "collection"; -}; -si.spawn = function(a, r) { - return new bo(this.cy(), a, r); -}; -si.spawnSelf = function() { - return this.spawn(this); -}; -si.cy = function() { - return this._private.cy; -}; -si.renderer = function() { - return this._private.cy.renderer(); -}; -si.element = function() { - return this[0]; -}; -si.collection = function() { - return HG(this) ? this : new bo(this._private.cy, [this]); -}; -si.unique = function() { - return new bo(this._private.cy, this, !0); -}; -si.hasElementWithId = function(a) { - return a = "" + a, this._private.map.has(a); -}; -si.getElementById = function(a) { - a = "" + a; - var r = this._private.cy, u = this._private.map.get(a); - return u ? u.ele : new bo(r); -}; -si.$id = si.getElementById; -si.poolIndex = function() { - var a = this._private.cy, r = a._private.elements, u = this[0]._private.data.id; - return r._private.map.get(u).index; -}; -si.indexOf = function(a) { - var r = a[0]._private.data.id; - return this._private.map.get(r).index; -}; -si.indexOfId = function(a) { - return a = "" + a, this._private.map.get(a).index; -}; -si.json = function(a) { - var r = this.element(), u = this.cy(); - if (r == null && a) - return this; - if (r != null) { - var c = r._private; - if (fr(a)) { - if (u.startBatch(), a.data) { - r.data(a.data); - var d = c.data; - if (r.isEdge()) { - var g = !1, b = {}, y = a.data.source, k = a.data.target; - y != null && y != d.source && (b.source = "" + y, g = !0), k != null && k != d.target && (b.target = "" + k, g = !0), g && (r = r.move(b)); - } else { - var E = "parent" in a.data, C = a.data.parent; - E && (C != null || d.parent != null) && C != d.parent && (C === void 0 && (C = null), C != null && (C = "" + C), r = r.move({ - parent: C - })); - } - } - a.position && r.position(a.position); - var T = function(H, _, B) { - var $ = a[H]; - $ != null && $ !== c[H] && ($ ? r[_]() : r[B]()); - }; - return T("removed", "remove", "restore"), T("selected", "select", "unselect"), T("selectable", "selectify", "unselectify"), T("locked", "lock", "unlock"), T("grabbable", "grabify", "ungrabify"), T("pannable", "panify", "unpanify"), a.classes != null && r.classes(a.classes), u.endBatch(), this; - } else if (a === void 0) { - var P = { - data: kl(c.data), - position: kl(c.position), - group: c.group, - removed: c.removed, - selected: c.selected, - selectable: c.selectable, - locked: c.locked, - grabbable: c.grabbable, - pannable: c.pannable, - classes: null - }; - P.classes = ""; - var N = 0; - return c.classes.forEach(function(D) { - return P.classes += N++ === 0 ? D : " " + D; - }), P; - } - } -}; -si.jsons = function() { - for (var a = [], r = 0; r < this.length; r++) { - var u = this[r], c = u.json(); - a.push(c); - } - return a; -}; -si.clone = function() { - for (var a = this.cy(), r = [], u = 0; u < this.length; u++) { - var c = this[u], d = c.json(), g = new h5(a, d, !1); - r.push(g); - } - return new bo(a, r); -}; -si.copy = si.clone; -si.restore = function() { - for (var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, u = this, c = u.cy(), d = c._private, g = [], b = [], y, k = 0, E = u.length; k < E; k++) { - var C = u[k]; - r && !C.removed() || (C.isNode() ? g.push(C) : b.push(C)); - } - y = g.concat(b); - var T, P = function() { - y.splice(T, 1), T--; - }; - for (T = 0; T < y.length; T++) { - var N = y[T], D = N._private, H = D.data; - if (N.clearTraversalCache(), !(!r && !D.removed)) { - if (H.id === void 0) - H.id = XG(); - else if (kt(H.id)) - H.id = "" + H.id; - else if (zh(H.id) || !qt(H.id)) { - Qi("Can not create element with invalid string ID `" + H.id + "`"), P(); - continue; - } else if (c.hasElementWithId(H.id)) { - Qi("Can not create second element with ID `" + H.id + "`"), P(); - continue; - } - } - var _ = H.id; - if (N.isNode()) { - var B = D.position; - B.x == null && (B.x = 0), B.y == null && (B.y = 0); - } - if (N.isEdge()) { - for (var $ = N, F = ["source", "target"], W = F.length, Q = !1, X = 0; X < W; X++) { - var K = F[X], ee = H[K]; - kt(ee) && (ee = H[K] = "" + H[K]), ee == null || ee === "" ? (Qi("Can not create edge `" + _ + "` with unspecified " + K), Q = !0) : c.hasElementWithId(ee) || (Qi("Can not create edge `" + _ + "` with nonexistant " + K + " `" + ee + "`"), Q = !0); - } - if (Q) { - P(); - continue; - } - var Z = c.getElementById(H.source), ae = c.getElementById(H.target); - Z.same(ae) ? Z._private.edges.push($) : (Z._private.edges.push($), ae._private.edges.push($)), $._private.source = Z, $._private.target = ae; - } - D.map = new El(), D.map.set(_, { - ele: N, - index: 0 - }), D.removed = !1, r && c.addToPool(N); - } - for (var oe = 0; oe < g.length; oe++) { - var J = g[oe], fe = J._private.data; - kt(fe.parent) && (fe.parent = "" + fe.parent); - var se = fe.parent, pe = se != null; - if (pe || J._private.parent) { - var he = J._private.parent ? c.collection().merge(J._private.parent) : c.getElementById(se); - if (he.empty()) - fe.parent = void 0; - else if (he[0].removed()) - Sr("Node added with missing parent, reference to parent removed"), fe.parent = void 0, J._private.parent = null; - else { - for (var de = !1, ke = he; !ke.empty(); ) { - if (J.same(ke)) { - de = !0, fe.parent = void 0; - break; - } - ke = ke.parent(); - } - de || (he[0]._private.children.push(J), J._private.parent = he[0], d.hasCompoundNodes = !0); - } - } - } - if (y.length > 0) { - for (var Pe = y.length === u.length ? u : new bo(c, y), Ae = 0; Ae < Pe.length; Ae++) { - var Te = Pe[Ae]; - Te.isNode() || (Te.parallelEdges().clearTraversalCache(), Te.source().clearTraversalCache(), Te.target().clearTraversalCache()); - } - var Oe; - d.hasCompoundNodes ? Oe = c.collection().merge(Pe).merge(Pe.connectedNodes()).merge(Pe.parent()) : Oe = Pe, Oe.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(a), a ? Pe.emitAndNotify("add") : r && Pe.emit("add"); - } - return u; -}; -si.removed = function() { - var a = this[0]; - return a && a._private.removed; -}; -si.inside = function() { - var a = this[0]; - return a && !a._private.removed; -}; -si.remove = function() { - var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, u = this, c = [], d = {}, g = u._private.cy; - function b(se) { - for (var pe = se._private.edges, he = 0; he < pe.length; he++) - k(pe[he]); - } - function y(se) { - for (var pe = se._private.children, he = 0; he < pe.length; he++) - k(pe[he]); - } - function k(se) { - var pe = d[se.id()]; - r && se.removed() || pe || (d[se.id()] = !0, se.isNode() ? (c.push(se), b(se), y(se)) : c.unshift(se)); - } - for (var E = 0, C = u.length; E < C; E++) { - var T = u[E]; - k(T); - } - function P(se, pe) { - var he = se._private.edges; - Hh(he, pe), se.clearTraversalCache(); - } - function N(se) { - se.clearTraversalCache(); - } - var D = []; - D.ids = {}; - function H(se, pe) { - pe = pe[0], se = se[0]; - var he = se._private.children, de = se.id(); - Hh(he, pe), pe._private.parent = null, D.ids[de] || (D.ids[de] = !0, D.push(se)); - } - u.dirtyCompoundBoundsCache(), r && g.removeFromPool(c); - for (var _ = 0; _ < c.length; _++) { - var B = c[_]; - if (B.isEdge()) { - var $ = B.source()[0], F = B.target()[0]; - P($, B), P(F, B); - for (var W = B.parallelEdges(), Q = 0; Q < W.length; Q++) { - var X = W[Q]; - N(X), X.isBundledBezier() && X.dirtyBoundingBoxCache(); - } - } else { - var K = B.parent(); - K.length !== 0 && H(K, B); - } - r && (B._private.removed = !0); - } - var ee = g._private.elements; - g._private.hasCompoundNodes = !1; - for (var Z = 0; Z < ee.length; Z++) { - var ae = ee[Z]; - if (ae.isParent()) { - g._private.hasCompoundNodes = !0; - break; - } - } - var oe = new bo(this.cy(), c); - oe.size() > 0 && (a ? oe.emitAndNotify("remove") : r && oe.emit("remove")); - for (var J = 0; J < D.length; J++) { - var fe = D[J]; - (!r || !fe.removed()) && fe.updateStyle(); - } - return oe; -}; -si.move = function(a) { - var r = this._private.cy, u = this, c = !1, d = !1, g = function(D) { - return D == null ? D : "" + D; - }; - if (a.source !== void 0 || a.target !== void 0) { - var b = g(a.source), y = g(a.target), k = b != null && r.hasElementWithId(b), E = y != null && r.hasElementWithId(y); - (k || E) && (r.batch(function() { - u.remove(c, d), u.emitAndNotify("moveout"); - for (var N = 0; N < u.length; N++) { - var D = u[N], H = D._private.data; - D.isEdge() && (k && (H.source = b), E && (H.target = y)); - } - u.restore(c, d); - }), u.emitAndNotify("move")); - } else if (a.parent !== void 0) { - var C = g(a.parent), T = C === null || r.hasElementWithId(C); - if (T) { - var P = C === null ? void 0 : C; - r.batch(function() { - var N = u.remove(c, d); - N.emitAndNotify("moveout"); - for (var D = 0; D < u.length; D++) { - var H = u[D], _ = H._private.data; - H.isNode() && (_.parent = P); - } - N.restore(c, d); - }), u.emitAndNotify("move"); - } - } - return this; -}; -[f$, mue, FE, Rh, Ob, Aue, g5, Zue, D$, j$, tce, e5, qE, go, Bh, Mo].forEach(function(a) { - on(si, a); -}); -var uce = { - add: function(r) { - var u, c = this; - if (tu(r)) { - var d = r; - if (d._private.cy === c) - u = d.restore(); - else { - for (var g = [], b = 0; b < d.length; b++) { - var y = d[b]; - g.push(y.json()); - } - u = new bo(c, g); - } - } else if (Qr(r)) { - var k = r; - u = new bo(c, k); - } else if (fr(r) && (Qr(r.nodes) || Qr(r.edges))) { - for (var E = r, C = [], T = ["nodes", "edges"], P = 0, N = T.length; P < N; P++) { - var D = T[P], H = E[D]; - if (Qr(H)) - for (var _ = 0, B = H.length; _ < B; _++) { - var $ = on({ - group: D - }, H[_]); - C.push($); - } - } - u = new bo(c, C); - } else { - var F = r; - u = new h5(c, F).collection(); - } - return u; - }, - remove: function(r) { - if (!tu(r)) { - if (qt(r)) { - var u = r; - r = this.$(u); - } - } - return r.remove(); - } -}; -/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */ -function cce(a, r, u, c) { - var d = 4, g = 1e-3, b = 1e-7, y = 10, k = 11, E = 1 / (k - 1), C = typeof Float32Array < "u"; - if (arguments.length !== 4) - return !1; - for (var T = 0; T < 4; ++T) - if (typeof arguments[T] != "number" || isNaN(arguments[T]) || !isFinite(arguments[T])) - return !1; - a = Math.min(a, 1), u = Math.min(u, 1), a = Math.max(a, 0), u = Math.max(u, 0); - var P = C ? new Float32Array(k) : new Array(k); - function N(ae, oe) { - return 1 - 3 * oe + 3 * ae; - } - function D(ae, oe) { - return 3 * oe - 6 * ae; - } - function H(ae) { - return 3 * ae; - } - function _(ae, oe, J) { - return ((N(oe, J) * ae + D(oe, J)) * ae + H(oe)) * ae; - } - function B(ae, oe, J) { - return 3 * N(oe, J) * ae * ae + 2 * D(oe, J) * ae + H(oe); - } - function $(ae, oe) { - for (var J = 0; J < d; ++J) { - var fe = B(oe, a, u); - if (fe === 0) - return oe; - var se = _(oe, a, u) - ae; - oe -= se / fe; - } - return oe; - } - function F() { - for (var ae = 0; ae < k; ++ae) - P[ae] = _(ae * E, a, u); - } - function W(ae, oe, J) { - var fe, se, pe = 0; - do - se = oe + (J - oe) / 2, fe = _(se, a, u) - ae, fe > 0 ? J = se : oe = se; - while (Math.abs(fe) > b && ++pe < y); - return se; - } - function Q(ae) { - for (var oe = 0, J = 1, fe = k - 1; J !== fe && P[J] <= ae; ++J) - oe += E; - --J; - var se = (ae - P[J]) / (P[J + 1] - P[J]), pe = oe + se * E, he = B(pe, a, u); - return he >= g ? $(ae, pe) : he === 0 ? pe : W(ae, oe, oe + E); - } - var X = !1; - function K() { - X = !0, (a !== r || u !== c) && F(); - } - var ee = function(oe) { - return X || K(), a === r && u === c ? oe : oe === 0 ? 0 : oe === 1 ? 1 : _(Q(oe), r, c); - }; - ee.getControlPoints = function() { - return [{ - x: a, - y: r - }, { - x: u, - y: c - }]; - }; - var Z = "generateBezier(" + [a, r, u, c] + ")"; - return ee.toString = function() { - return Z; - }, ee; -} -/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */ -var lce = function() { - function a(c) { - return -c.tension * c.x - c.friction * c.v; - } - function r(c, d, g) { - var b = { - x: c.x + g.dx * d, - v: c.v + g.dv * d, - tension: c.tension, - friction: c.friction - }; - return { - dx: b.v, - dv: a(b) - }; - } - function u(c, d) { - var g = { - dx: c.v, - dv: a(c) - }, b = r(c, d * 0.5, g), y = r(c, d * 0.5, b), k = r(c, d, y), E = 1 / 6 * (g.dx + 2 * (b.dx + y.dx) + k.dx), C = 1 / 6 * (g.dv + 2 * (b.dv + y.dv) + k.dv); - return c.x = c.x + E * d, c.v = c.v + C * d, c; - } - return function c(d, g, b) { - var y = { - x: -1, - v: 0, - tension: null, - friction: null - }, k = [0], E = 0, C = 1 / 1e4, T = 16 / 1e3, P, N, D; - for (d = parseFloat(d) || 500, g = parseFloat(g) || 20, b = b || null, y.tension = d, y.friction = g, P = b !== null, P ? (E = c(d, g), N = E / b * T) : N = T; D = u(D || y, N), k.push(1 + D.x), E += 16, Math.abs(D.x) > C && Math.abs(D.v) > C; ) - ; - return P ? function(H) { - return k[H * (k.length - 1) | 0]; - } : E; - }; -}(), oi = function(r, u, c, d) { - var g = cce(r, u, c, d); - return function(b, y, k) { - return b + (y - b) * g(k); - }; -}, VE = { - linear: function(r, u, c) { - return r + (u - r) * c; - }, - // default easings - ease: oi(0.25, 0.1, 0.25, 1), - "ease-in": oi(0.42, 0, 1, 1), - "ease-out": oi(0, 0, 0.58, 1), - "ease-in-out": oi(0.42, 0, 0.58, 1), - // sine - "ease-in-sine": oi(0.47, 0, 0.745, 0.715), - "ease-out-sine": oi(0.39, 0.575, 0.565, 1), - "ease-in-out-sine": oi(0.445, 0.05, 0.55, 0.95), - // quad - "ease-in-quad": oi(0.55, 0.085, 0.68, 0.53), - "ease-out-quad": oi(0.25, 0.46, 0.45, 0.94), - "ease-in-out-quad": oi(0.455, 0.03, 0.515, 0.955), - // cubic - "ease-in-cubic": oi(0.55, 0.055, 0.675, 0.19), - "ease-out-cubic": oi(0.215, 0.61, 0.355, 1), - "ease-in-out-cubic": oi(0.645, 0.045, 0.355, 1), - // quart - "ease-in-quart": oi(0.895, 0.03, 0.685, 0.22), - "ease-out-quart": oi(0.165, 0.84, 0.44, 1), - "ease-in-out-quart": oi(0.77, 0, 0.175, 1), - // quint - "ease-in-quint": oi(0.755, 0.05, 0.855, 0.06), - "ease-out-quint": oi(0.23, 1, 0.32, 1), - "ease-in-out-quint": oi(0.86, 0, 0.07, 1), - // expo - "ease-in-expo": oi(0.95, 0.05, 0.795, 0.035), - "ease-out-expo": oi(0.19, 1, 0.22, 1), - "ease-in-out-expo": oi(1, 0, 0, 1), - // circ - "ease-in-circ": oi(0.6, 0.04, 0.98, 0.335), - "ease-out-circ": oi(0.075, 0.82, 0.165, 1), - "ease-in-out-circ": oi(0.785, 0.135, 0.15, 0.86), - // user param easings... - spring: function(r, u, c) { - if (c === 0) - return VE.linear; - var d = lce(r, u, c); - return function(g, b, y) { - return g + (b - g) * d(y); - }; - }, - "cubic-bezier": oi -}; -function oG(a, r, u, c, d) { - if (c === 1 || r === u) - return u; - var g = d(r, u, c); - return a == null || ((a.roundValue || a.color) && (g = Math.round(g)), a.min !== void 0 && (g = Math.max(g, a.min)), a.max !== void 0 && (g = Math.min(g, a.max))), g; -} -function sG(a, r) { - return a.pfValue != null || a.value != null ? a.pfValue != null && (r == null || r.type.units !== "%") ? a.pfValue : a.value : a; -} -function kb(a, r, u, c, d) { - var g = d != null ? d.type : null; - u < 0 ? u = 0 : u > 1 && (u = 1); - var b = sG(a, d), y = sG(r, d); - if (kt(b) && kt(y)) - return oG(g, b, y, u, c); - if (Qr(b) && Qr(y)) { - for (var k = [], E = 0; E < y.length; E++) { - var C = b[E], T = y[E]; - if (C != null && T != null) { - var P = oG(g, C, T, u, c); - k.push(P); - } else - k.push(T); - } - return k; - } -} -function fce(a, r, u, c) { - var d = !c, g = a._private, b = r._private, y = b.easing, k = b.startTime, E = c ? a : a.cy(), C = E.style(); - if (!b.easingImpl) - if (y == null) - b.easingImpl = VE.linear; - else { - var T; - if (qt(y)) { - var P = C.parse("transition-timing-function", y); - T = P.value; - } else - T = y; - var N, D; - qt(T) ? (N = T, D = []) : (N = T[1], D = T.slice(2).map(function(Pe) { - return +Pe; - })), D.length > 0 ? (N === "spring" && D.push(b.duration), b.easingImpl = VE[N].apply(null, D)) : b.easingImpl = VE[N]; - } - var H = b.easingImpl, _; - if (b.duration === 0 ? _ = 1 : _ = (u - k) / b.duration, b.applying && (_ = b.progress), _ < 0 ? _ = 0 : _ > 1 && (_ = 1), b.delay == null) { - var B = b.startPosition, $ = b.position; - if ($ && d && !a.locked()) { - var F = {}; - _p(B.x, $.x) && (F.x = kb(B.x, $.x, _, H)), _p(B.y, $.y) && (F.y = kb(B.y, $.y, _, H)), a.position(F); - } - var W = b.startPan, Q = b.pan, X = g.pan, K = Q != null && c; - K && (_p(W.x, Q.x) && (X.x = kb(W.x, Q.x, _, H)), _p(W.y, Q.y) && (X.y = kb(W.y, Q.y, _, H)), a.emit("pan")); - var ee = b.startZoom, Z = b.zoom, ae = Z != null && c; - ae && (_p(ee, Z) && (g.zoom = Qp(g.minZoom, kb(ee, Z, _, H), g.maxZoom)), a.emit("zoom")), (K || ae) && a.emit("viewport"); - var oe = b.style; - if (oe && oe.length > 0 && d) { - for (var J = 0; J < oe.length; J++) { - var fe = oe[J], se = fe.name, pe = fe, he = b.startStyle[se], de = C.properties[he.name], ke = kb(he, pe, _, H, de); - C.overrideBypass(a, se, ke); - } - a.emit("style"); - } - } - return b.progress = _, _; -} -function _p(a, r) { - return a == null || r == null ? !1 : kt(a) && kt(r) ? !0 : !!(a && r); -} -function hce(a, r, u, c) { - var d = r._private; - d.started = !0, d.startTime = u - d.progress * d.duration; -} -function uG(a, r) { - var u = r._private.aniEles, c = []; - function d(C, T) { - var P = C._private, N = P.animation.current, D = P.animation.queue, H = !1; - if (N.length === 0) { - var _ = D.shift(); - _ && N.push(_); - } - for (var B = function(X) { - for (var K = X.length - 1; K >= 0; K--) { - var ee = X[K]; - ee(); - } - X.splice(0, X.length); - }, $ = N.length - 1; $ >= 0; $--) { - var F = N[$], W = F._private; - if (W.stopped) { - N.splice($, 1), W.hooked = !1, W.playing = !1, W.started = !1, B(W.frames); - continue; - } - !W.playing && !W.applying || (W.playing && W.applying && (W.applying = !1), W.started || hce(C, F, a), fce(C, F, a, T), W.applying && (W.applying = !1), B(W.frames), W.step != null && W.step(a), F.completed() && (N.splice($, 1), W.hooked = !1, W.playing = !1, W.started = !1, B(W.completes)), H = !0); - } - return !T && N.length === 0 && D.length === 0 && c.push(C), H; - } - for (var g = !1, b = 0; b < u.length; b++) { - var y = u[b], k = d(y); - g = g || k; - } - var E = d(r, !0); - (g || E) && (u.length > 0 ? r.notify("draw", u) : r.notify("draw")), u.unmerge(c), r.emit("step"); -} -var dce = { - // pull in animation functions - animate: Mr.animate(), - animation: Mr.animation(), - animated: Mr.animated(), - clearQueue: Mr.clearQueue(), - delay: Mr.delay(), - delayAnimation: Mr.delayAnimation(), - stop: Mr.stop(), - addToAnimationPool: function(r) { - var u = this; - u.styleEnabled() && u._private.aniEles.merge(r); - }, - stopAnimationLoop: function() { - this._private.animationsRunning = !1; - }, - startAnimationLoop: function() { - var r = this; - if (r._private.animationsRunning = !0, !r.styleEnabled()) - return; - function u() { - r._private.animationsRunning && XE(function(g) { - uG(g, r), u(); - }); - } - var c = r.renderer(); - c && c.beforeRender ? c.beforeRender(function(g, b) { - uG(b, r); - }, c.beforeRenderPriorities.animations) : u(); - } -}, vce = { - qualifierCompare: function(r, u) { - return r == null || u == null ? r == null && u == null : r.sameText(u); - }, - eventMatches: function(r, u, c) { - var d = u.qualifier; - return d != null ? r !== c.target && cw(c.target) && d.matches(c.target) : !0; - }, - addEventFields: function(r, u) { - u.cy = r, u.target = r; - }, - callbackContext: function(r, u, c) { - return u.qualifier != null ? c.target : r; - } -}, _E = function(r) { - return qt(r) ? new _h(r) : r; -}, M$ = { - createEmitter: function() { - var r = this._private; - return r.emitter || (r.emitter = new b5(vce, this)), this; - }, - emitter: function() { - return this._private.emitter; - }, - on: function(r, u, c) { - return this.emitter().on(r, _E(u), c), this; - }, - removeListener: function(r, u, c) { - return this.emitter().removeListener(r, _E(u), c), this; - }, - removeAllListeners: function() { - return this.emitter().removeAllListeners(), this; - }, - one: function(r, u, c) { - return this.emitter().one(r, _E(u), c), this; - }, - once: function(r, u, c) { - return this.emitter().one(r, _E(u), c), this; - }, - emit: function(r, u) { - return this.emitter().emit(r, u), this; - }, - emitAndNotify: function(r, u) { - return this.emit(r), this.notify(r, u), this; - } -}; -Mr.eventAliasesOn(M$); -var g6 = { - png: function(r) { - var u = this._private.renderer; - return r = r || {}, u.png(r); - }, - jpg: function(r) { - var u = this._private.renderer; - return r = r || {}, r.bg = r.bg || "#fff", u.jpg(r); - } -}; -g6.jpeg = g6.jpg; -var WE = { - layout: function(r) { - var u = this; - if (r == null) { - Qi("Layout options must be specified to make a layout"); - return; - } - if (r.name == null) { - Qi("A `name` must be specified to make a layout"); - return; - } - var c = r.name, d = u.extension("layout", c); - if (d == null) { - Qi("No such layout `" + c + "` found. Did you forget to import it and `cytoscape.use()` it?"); - return; - } - var g; - qt(r.eles) ? g = u.$(r.eles) : g = r.eles != null ? r.eles : u.$(); - var b = new d(on({}, r, { - cy: u, - eles: g - })); - return b; - } -}; -WE.createLayout = WE.makeLayout = WE.layout; -var gce = { - notify: function(r, u) { - var c = this._private; - if (this.batching()) { - c.batchNotifications = c.batchNotifications || {}; - var d = c.batchNotifications[r] = c.batchNotifications[r] || this.collection(); - u != null && d.merge(u); - return; - } - if (c.notificationsEnabled) { - var g = this.renderer(); - this.destroyed() || !g || g.notify(r, u); - } - }, - notifications: function(r) { - var u = this._private; - return r === void 0 ? u.notificationsEnabled : (u.notificationsEnabled = !!r, this); - }, - noNotifications: function(r) { - this.notifications(!1), r(), this.notifications(!0); - }, - batching: function() { - return this._private.batchCount > 0; - }, - startBatch: function() { - var r = this._private; - return r.batchCount == null && (r.batchCount = 0), r.batchCount === 0 && (r.batchStyleEles = this.collection(), r.batchNotifications = {}), r.batchCount++, this; - }, - endBatch: function() { - var r = this._private; - if (r.batchCount === 0) - return this; - if (r.batchCount--, r.batchCount === 0) { - r.batchStyleEles.updateStyle(); - var u = this.renderer(); - Object.keys(r.batchNotifications).forEach(function(c) { - var d = r.batchNotifications[c]; - d.empty() ? u.notify(c) : u.notify(c, d); - }); - } - return this; - }, - batch: function(r) { - return this.startBatch(), r(), this.endBatch(), this; - }, - // for backwards compatibility - batchData: function(r) { - var u = this; - return this.batch(function() { - for (var c = Object.keys(r), d = 0; d < c.length; d++) { - var g = c[d], b = r[g], y = u.getElementById(g); - y.data(b); - } - }); - } -}, bce = po({ - hideEdgesOnViewport: !1, - textureOnViewport: !1, - motionBlur: !1, - motionBlurOpacity: 0.05, - pixelRatio: void 0, - desktopTapThreshold: 4, - touchTapThreshold: 8, - wheelSensitivity: 1, - debug: !1, - showFps: !1 -}), b6 = { - renderTo: function(r, u, c, d) { - var g = this._private.renderer; - return g.renderTo(r, u, c, d), this; - }, - renderer: function() { - return this._private.renderer; - }, - forceRender: function() { - return this.notify("draw"), this; - }, - resize: function() { - return this.invalidateSize(), this.emitAndNotify("resize"), this; - }, - initRenderer: function(r) { - var u = this, c = u.extension("renderer", r.name); - if (c == null) { - Qi("Can not initialise: No such renderer `".concat(r.name, "` found. Did you forget to import it and `cytoscape.use()` it?")); - return; - } - r.wheelSensitivity !== void 0 && Sr("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine."); - var d = bce(r); - d.cy = u, u._private.renderer = new c(d), this.notify("init"); - }, - destroyRenderer: function() { - var r = this; - r.notify("destroy"); - var u = r.container(); - if (u) - for (u._cyreg = null; u.childNodes.length > 0; ) - u.removeChild(u.childNodes[0]); - r._private.renderer = null, r.mutableElements().forEach(function(c) { - var d = c._private; - d.rscratch = {}, d.rstyle = {}, d.animation.current = [], d.animation.queue = []; - }); - }, - onRender: function(r) { - return this.on("render", r); - }, - offRender: function(r) { - return this.off("render", r); - } -}; -b6.invalidateDimensions = b6.resize; -var UE = { - // get a collection - // - empty collection on no args - // - collection of elements in the graph on selector arg - // - guarantee a returned collection when elements or collection specified - collection: function(r, u) { - return qt(r) ? this.$(r) : tu(r) ? r.collection() : Qr(r) ? (u || (u = {}), new bo(this, r, u.unique, u.removed)) : new bo(this); - }, - nodes: function(r) { - var u = this.$(function(c) { - return c.isNode(); - }); - return r ? u.filter(r) : u; - }, - edges: function(r) { - var u = this.$(function(c) { - return c.isEdge(); - }); - return r ? u.filter(r) : u; - }, - // search the graph like jQuery - $: function(r) { - var u = this._private.elements; - return r ? u.filter(r) : u.spawnSelf(); - }, - mutableElements: function() { - return this._private.elements; - } -}; -UE.elements = UE.filter = UE.$; -var Ao = {}, Vp = "t", pce = "f"; -Ao.apply = function(a) { - for (var r = this, u = r._private, c = u.cy, d = c.collection(), g = 0; g < a.length; g++) { - var b = a[g], y = r.getContextMeta(b); - if (!y.empty) { - var k = r.getContextStyle(y), E = r.applyContextStyle(y, k, b); - b._private.appliedInitStyle ? r.updateTransitions(b, E.diffProps) : b._private.appliedInitStyle = !0; - var C = r.updateStyleHints(b); - C && d.push(b); - } - } - return d; -}; -Ao.getPropertiesDiff = function(a, r) { - var u = this, c = u._private.propDiffs = u._private.propDiffs || {}, d = a + "-" + r, g = c[d]; - if (g) - return g; - for (var b = [], y = {}, k = 0; k < u.length; k++) { - var E = u[k], C = a[k] === Vp, T = r[k] === Vp, P = C !== T, N = E.mappedProperties.length > 0; - if (P || T && N) { - var D = void 0; - P && N || P ? D = E.properties : N && (D = E.mappedProperties); - for (var H = 0; H < D.length; H++) { - for (var _ = D[H], B = _.name, $ = !1, F = k + 1; F < u.length; F++) { - var W = u[F], Q = r[F] === Vp; - if (Q && ($ = W.properties[_.name] != null, $)) - break; - } - !y[B] && !$ && (y[B] = !0, b.push(B)); - } - } - } - return c[d] = b, b; -}; -Ao.getContextMeta = function(a) { - for (var r = this, u = "", c, d = a._private.styleCxtKey || "", g = 0; g < r.length; g++) { - var b = r[g], y = b.selector && b.selector.matches(a); - y ? u += Vp : u += pce; - } - return c = r.getPropertiesDiff(d, u), a._private.styleCxtKey = u, { - key: u, - diffPropNames: c, - empty: c.length === 0 - }; -}; -Ao.getContextStyle = function(a) { - var r = a.key, u = this, c = this._private.contextStyles = this._private.contextStyles || {}; - if (c[r]) - return c[r]; - for (var d = { - _private: { - key: r - } - }, g = 0; g < u.length; g++) { - var b = u[g], y = r[g] === Vp; - if (y) - for (var k = 0; k < b.properties.length; k++) { - var E = b.properties[k]; - d[E.name] = E; - } - } - return c[r] = d, d; -}; -Ao.applyContextStyle = function(a, r, u) { - for (var c = this, d = a.diffPropNames, g = {}, b = c.types, y = 0; y < d.length; y++) { - var k = d[y], E = r[k], C = u.pstyle(k); - if (!E) - if (C) - C.bypass ? E = { - name: k, - deleteBypassed: !0 - } : E = { - name: k, - delete: !0 - }; - else - continue; - if (C !== E) { - if (E.mapped === b.fn && C != null && C.mapping != null && C.mapping.value === E.value) { - var T = C.mapping, P = T.fnValue = E.value(u); - if (P === T.prevFnValue) - continue; - } - var N = g[k] = { - prev: C - }; - c.applyParsedProperty(u, E), N.next = u.pstyle(k), N.next && N.next.bypass && (N.next = N.next.bypassed); - } - } - return { - diffProps: g - }; -}; -Ao.updateStyleHints = function(a) { - var r = a._private, u = this, c = u.propertyGroupNames, d = u.propertyGroupKeys, g = function(at, ft, en) { - return u.getPropertiesHash(at, ft, en); - }, b = r.styleKey; - if (a.removed()) - return !1; - var y = r.group === "nodes", k = a._private.style; - c = Object.keys(k); - for (var E = 0; E < d.length; E++) { - var C = d[E]; - r.styleKeys[C] = [xb, $p]; - } - for (var T = function(at, ft) { - return r.styleKeys[ft][0] = Kp(at, r.styleKeys[ft][0]); - }, P = function(at, ft) { - return r.styleKeys[ft][1] = Zp(at, r.styleKeys[ft][1]); - }, N = function(at, ft) { - T(at, ft), P(at, ft); - }, D = function(at, ft) { - for (var en = 0; en < at.length; en++) { - var gn = at.charCodeAt(en); - T(gn, ft), P(gn, ft); - } - }, H = 2e9, _ = function(at) { - return -128 < at && at < 128 && Math.floor(at) !== at ? H - (at * 1024 | 0) : at; - }, B = 0; B < c.length; B++) { - var $ = c[B], F = k[$]; - if (F != null) { - var W = this.properties[$], Q = W.type, X = W.groupKey, K = void 0; - W.hashOverride != null ? K = W.hashOverride(a, F) : F.pfValue != null && (K = F.pfValue); - var ee = W.enums == null ? F.value : null, Z = K != null, ae = ee != null, oe = Z || ae, J = F.units; - if (Q.number && oe && !Q.multiple) { - var fe = Z ? K : ee; - N(_(fe), X), !Z && J != null && D(J, X); - } else - D(F.strValue, X); - } - } - for (var se = [xb, $p], pe = 0; pe < d.length; pe++) { - var he = d[pe], de = r.styleKeys[he]; - se[0] = Kp(de[0], se[0]), se[1] = Zp(de[1], se[1]); - } - r.styleKey = Noe(se[0], se[1]); - var ke = r.styleKeys; - r.labelDimsKey = Ih(ke.labelDimensions); - var Pe = g(a, ["label"], ke.labelDimensions); - if (r.labelKey = Ih(Pe), r.labelStyleKey = Ih(NE(ke.commonLabel, Pe)), !y) { - var Ae = g(a, ["source-label"], ke.labelDimensions); - r.sourceLabelKey = Ih(Ae), r.sourceLabelStyleKey = Ih(NE(ke.commonLabel, Ae)); - var Te = g(a, ["target-label"], ke.labelDimensions); - r.targetLabelKey = Ih(Te), r.targetLabelStyleKey = Ih(NE(ke.commonLabel, Te)); - } - if (y) { - var Oe = r.styleKeys, ze = Oe.nodeBody, We = Oe.nodeBorder, $e = Oe.backgroundImage, Ge = Oe.compound, me = Oe.pie, Ve = [ze, We, $e, Ge, me].filter(function(Ke) { - return Ke != null; - }).reduce(NE, [xb, $p]); - r.nodeKey = Ih(Ve), r.hasPie = me != null && me[0] !== xb && me[1] !== $p; - } - return b !== r.styleKey; -}; -Ao.clearStyleHints = function(a) { - var r = a._private; - r.styleCxtKey = "", r.styleKeys = {}, r.styleKey = null, r.labelKey = null, r.labelStyleKey = null, r.sourceLabelKey = null, r.sourceLabelStyleKey = null, r.targetLabelKey = null, r.targetLabelStyleKey = null, r.nodeKey = null, r.hasPie = null; -}; -Ao.applyParsedProperty = function(a, r) { - var u = this, c = r, d = a._private.style, g, b = u.types, y = u.properties[c.name].type, k = c.bypass, E = d[c.name], C = E && E.bypass, T = a._private, P = "mapping", N = function(ze) { - return ze == null ? null : ze.pfValue != null ? ze.pfValue : ze.value; - }, D = function() { - var ze = N(E), We = N(c); - u.checkTriggers(a, c.name, ze, We); - }; - if (c && c.name.substr(0, 3) === "pie" && Sr("The pie style properties are deprecated. Create charts using background images instead."), r.name === "curve-style" && a.isEdge() && // loops must be bundled beziers - (r.value !== "bezier" && a.isLoop() || // edges connected to compound nodes can not be haystacks - r.value === "haystack" && (a.source().isParent() || a.target().isParent())) && (c = r = this.parse(r.name, "bezier", k)), c.delete) - return d[c.name] = void 0, D(), !0; - if (c.deleteBypassed) - return E ? E.bypass ? (E.bypassed = void 0, D(), !0) : !1 : (D(), !0); - if (c.deleteBypass) - return E ? E.bypass ? (d[c.name] = E.bypassed, D(), !0) : !1 : (D(), !0); - var H = function() { - Sr("Do not assign mappings to elements without corresponding data (i.e. ele `" + a.id() + "` has no mapping for property `" + c.name + "` with data field `" + c.field + "`); try a `[" + c.field + "]` selector to limit scope to elements with `" + c.field + "` defined"); - }; - switch (c.mapped) { - case b.mapData: { - for (var _ = c.field.split("."), B = T.data, $ = 0; $ < _.length && B; $++) { - var F = _[$]; - B = B[F]; - } - if (B == null) - return H(), !1; - var W; - if (kt(B)) { - var Q = c.fieldMax - c.fieldMin; - Q === 0 ? W = 0 : W = (B - c.fieldMin) / Q; - } else - return Sr("Do not use continuous mappers without specifying numeric data (i.e. `" + c.field + ": " + B + "` for `" + a.id() + "` is non-numeric)"), !1; - if (W < 0 ? W = 0 : W > 1 && (W = 1), y.color) { - var X = c.valueMin[0], K = c.valueMax[0], ee = c.valueMin[1], Z = c.valueMax[1], ae = c.valueMin[2], oe = c.valueMax[2], J = c.valueMin[3] == null ? 1 : c.valueMin[3], fe = c.valueMax[3] == null ? 1 : c.valueMax[3], se = [Math.round(X + (K - X) * W), Math.round(ee + (Z - ee) * W), Math.round(ae + (oe - ae) * W), Math.round(J + (fe - J) * W)]; - g = { - // colours are simple, so just create the flat property instead of expensive string parsing - bypass: c.bypass, - // we're a bypass if the mapping property is a bypass - name: c.name, - value: se, - strValue: "rgb(" + se[0] + ", " + se[1] + ", " + se[2] + ")" - }; - } else if (y.number) { - var pe = c.valueMin + (c.valueMax - c.valueMin) * W; - g = this.parse(c.name, pe, c.bypass, P); - } else - return !1; - if (!g) - return H(), !1; - g.mapping = c, c = g; - break; - } - case b.data: { - for (var he = c.field.split("."), de = T.data, ke = 0; ke < he.length && de; ke++) { - var Pe = he[ke]; - de = de[Pe]; - } - if (de != null && (g = this.parse(c.name, de, c.bypass, P)), !g) - return H(), !1; - g.mapping = c, c = g; - break; - } - case b.fn: { - var Ae = c.value, Te = c.fnValue != null ? c.fnValue : Ae(a); - if (c.prevFnValue = Te, Te == null) - return Sr("Custom function mappers may not return null (i.e. `" + c.name + "` for ele `" + a.id() + "` is null)"), !1; - if (g = this.parse(c.name, Te, c.bypass, P), !g) - return Sr("Custom function mappers may not return invalid values for the property type (i.e. `" + c.name + "` for ele `" + a.id() + "` is invalid)"), !1; - g.mapping = kl(c), c = g; - break; - } - case void 0: - break; - default: - return !1; - } - return k ? (C ? c.bypassed = E.bypassed : c.bypassed = E, d[c.name] = c) : C ? E.bypassed = c : d[c.name] = c, D(), !0; -}; -Ao.cleanElements = function(a, r) { - for (var u = 0; u < a.length; u++) { - var c = a[u]; - if (this.clearStyleHints(c), c.dirtyCompoundBoundsCache(), c.dirtyBoundingBoxCache(), !r) - c._private.style = {}; - else - for (var d = c._private.style, g = Object.keys(d), b = 0; b < g.length; b++) { - var y = g[b], k = d[y]; - k != null && (k.bypass ? k.bypassed = null : d[y] = null); - } - } -}; -Ao.update = function() { - var a = this._private.cy, r = a.mutableElements(); - r.updateStyle(); -}; -Ao.updateTransitions = function(a, r) { - var u = this, c = a._private, d = a.pstyle("transition-property").value, g = a.pstyle("transition-duration").pfValue, b = a.pstyle("transition-delay").pfValue; - if (d.length > 0 && g > 0) { - for (var y = {}, k = !1, E = 0; E < d.length; E++) { - var C = d[E], T = a.pstyle(C), P = r[C]; - if (P) { - var N = P.prev, D = N, H = P.next != null ? P.next : T, _ = !1, B = void 0, $ = 1e-6; - D && (kt(D.pfValue) && kt(H.pfValue) ? (_ = H.pfValue - D.pfValue, B = D.pfValue + $ * _) : kt(D.value) && kt(H.value) ? (_ = H.value - D.value, B = D.value + $ * _) : Qr(D.value) && Qr(H.value) && (_ = D.value[0] !== H.value[0] || D.value[1] !== H.value[1] || D.value[2] !== H.value[2], B = D.strValue), _ && (y[C] = H.strValue, this.applyBypass(a, C, B), k = !0)); - } - } - if (!k) - return; - c.transitioning = !0, new Hb(function(F) { - b > 0 ? a.delayAnimation(b).play().promise().then(F) : F(); - }).then(function() { - return a.animation({ - style: y, - duration: g, - easing: a.pstyle("transition-timing-function").value, - queue: !1 - }).play().promise(); - }).then(function() { - u.removeBypasses(a, d), a.emitAndNotify("style"), c.transitioning = !1; - }); - } else - c.transitioning && (this.removeBypasses(a, d), a.emitAndNotify("style"), c.transitioning = !1); -}; -Ao.checkTrigger = function(a, r, u, c, d, g) { - var b = this.properties[r], y = d(b); - y != null && y(u, c) && g(b); -}; -Ao.checkZOrderTrigger = function(a, r, u, c) { - var d = this; - this.checkTrigger(a, r, u, c, function(g) { - return g.triggersZOrder; - }, function() { - d._private.cy.notify("zorder", a); - }); -}; -Ao.checkBoundsTrigger = function(a, r, u, c) { - this.checkTrigger(a, r, u, c, function(d) { - return d.triggersBounds; - }, function(d) { - a.dirtyCompoundBoundsCache(), a.dirtyBoundingBoxCache(), // only for beziers -- so performance of other edges isn't affected - d.triggersBoundsOfParallelBeziers && (r === "curve-style" && (u === "bezier" || c === "bezier") || r === "display" && (u === "none" || c === "none")) && a.parallelEdges().forEach(function(g) { - g.isBundledBezier() && g.dirtyBoundingBoxCache(); - }); - }); -}; -Ao.checkTriggers = function(a, r, u, c) { - a.dirtyStyleCache(), this.checkZOrderTrigger(a, r, u, c), this.checkBoundsTrigger(a, r, u, c); -}; -var hw = {}; -hw.applyBypass = function(a, r, u, c) { - var d = this, g = [], b = !0; - if (r === "*" || r === "**") { - if (u !== void 0) - for (var y = 0; y < d.properties.length; y++) { - var k = d.properties[y], E = k.name, C = this.parse(E, u, !0); - C && g.push(C); - } - } else if (qt(r)) { - var T = this.parse(r, u, !0); - T && g.push(T); - } else if (fr(r)) { - var P = r; - c = u; - for (var N = Object.keys(P), D = 0; D < N.length; D++) { - var H = N[D], _ = P[H]; - if (_ === void 0 && (_ = P[f5(H)]), _ !== void 0) { - var B = this.parse(H, _, !0); - B && g.push(B); - } - } - } else - return !1; - if (g.length === 0) - return !1; - for (var $ = !1, F = 0; F < a.length; F++) { - for (var W = a[F], Q = {}, X = void 0, K = 0; K < g.length; K++) { - var ee = g[K]; - if (c) { - var Z = W.pstyle(ee.name); - X = Q[ee.name] = { - prev: Z - }; - } - $ = this.applyParsedProperty(W, kl(ee)) || $, c && (X.next = W.pstyle(ee.name)); - } - $ && this.updateStyleHints(W), c && this.updateTransitions(W, Q, b); - } - return $; -}; -hw.overrideBypass = function(a, r, u) { - r = D6(r); - for (var c = 0; c < a.length; c++) { - var d = a[c], g = d._private.style[r], b = this.properties[r].type, y = b.color, k = b.mutiple, E = g ? g.pfValue != null ? g.pfValue : g.value : null; - !g || !g.bypass ? this.applyBypass(d, r, u) : (g.value = u, g.pfValue != null && (g.pfValue = u), y ? g.strValue = "rgb(" + u.join(",") + ")" : k ? g.strValue = u.join(" ") : g.strValue = "" + u, this.updateStyleHints(d)), this.checkTriggers(d, r, E, u); - } -}; -hw.removeAllBypasses = function(a, r) { - return this.removeBypasses(a, this.propertyNames, r); -}; -hw.removeBypasses = function(a, r, u) { - for (var c = !0, d = 0; d < a.length; d++) { - for (var g = a[d], b = {}, y = 0; y < r.length; y++) { - var k = r[y], E = this.properties[k], C = g.pstyle(E.name); - if (!(!C || !C.bypass)) { - var T = "", P = this.parse(k, T, !0), N = b[E.name] = { - prev: C - }; - this.applyParsedProperty(g, P), N.next = g.pstyle(E.name); - } - } - this.updateStyleHints(g), u && this.updateTransitions(g, b, c); - } -}; -var _6 = {}; -_6.getEmSizeInPixels = function() { - var a = this.containerCss("font-size"); - return a != null ? parseFloat(a) : 1; -}; -_6.containerCss = function(a) { - var r = this._private.cy, u = r.container(), c = r.window(); - if (c && u && c.getComputedStyle) - return c.getComputedStyle(u).getPropertyValue(a); -}; -var Sl = {}; -Sl.getRenderedStyle = function(a, r) { - return r ? this.getStylePropertyValue(a, r, !0) : this.getRawStyle(a, !0); -}; -Sl.getRawStyle = function(a, r) { - var u = this; - if (a = a[0], a) { - for (var c = {}, d = 0; d < u.properties.length; d++) { - var g = u.properties[d], b = u.getStylePropertyValue(a, g.name, r); - b != null && (c[g.name] = b, c[f5(g.name)] = b); - } - return c; - } -}; -Sl.getIndexedStyle = function(a, r, u, c) { - var d = a.pstyle(r)[u][c]; - return d ?? a.cy().style().getDefaultProperty(r)[u][0]; -}; -Sl.getStylePropertyValue = function(a, r, u) { - var c = this; - if (a = a[0], a) { - var d = c.properties[r]; - d.alias && (d = d.pointsTo); - var g = d.type, b = a.pstyle(d.name); - if (b) { - var y = b.value, k = b.units, E = b.strValue; - if (u && g.number && y != null && kt(y)) { - var C = a.cy().zoom(), T = function(_) { - return _ * C; - }, P = function(_, B) { - return T(_) + B; - }, N = Qr(y), D = N ? k.every(function(H) { - return H != null; - }) : k != null; - return D ? N ? y.map(function(H, _) { - return P(H, k[_]); - }).join(" ") : P(y, k) : N ? y.map(function(H) { - return qt(H) ? H : "" + T(H); - }).join(" ") : "" + T(y); - } else if (E != null) - return E; - } - return null; - } -}; -Sl.getAnimationStartStyle = function(a, r) { - for (var u = {}, c = 0; c < r.length; c++) { - var d = r[c], g = d.name, b = a.pstyle(g); - b !== void 0 && (fr(b) ? b = this.parse(g, b.strValue) : b = this.parse(g, b)), b && (u[g] = b); - } - return u; -}; -Sl.getPropsList = function(a) { - var r = this, u = [], c = a, d = r.properties; - if (c) - for (var g = Object.keys(c), b = 0; b < g.length; b++) { - var y = g[b], k = c[y], E = d[y] || d[D6(y)], C = this.parse(E.name, k); - C && u.push(C); - } - return u; -}; -Sl.getNonDefaultPropertiesHash = function(a, r, u) { - var c = u.slice(), d, g, b, y, k, E; - for (k = 0; k < r.length; k++) - if (d = r[k], g = a.pstyle(d, !1), g != null) - if (g.pfValue != null) - c[0] = Kp(y, c[0]), c[1] = Zp(y, c[1]); - else - for (b = g.strValue, E = 0; E < b.length; E++) - y = b.charCodeAt(E), c[0] = Kp(y, c[0]), c[1] = Zp(y, c[1]); - return c; -}; -Sl.getPropertiesHash = Sl.getNonDefaultPropertiesHash; -var m5 = {}; -m5.appendFromJson = function(a) { - for (var r = this, u = 0; u < a.length; u++) { - var c = a[u], d = c.selector, g = c.style || c.css, b = Object.keys(g); - r.selector(d); - for (var y = 0; y < b.length; y++) { - var k = b[y], E = g[k]; - r.css(k, E); - } - } - return r; -}; -m5.fromJson = function(a) { - var r = this; - return r.resetToDefault(), r.appendFromJson(a), r; -}; -m5.json = function() { - for (var a = [], r = this.defaultLength; r < this.length; r++) { - for (var u = this[r], c = u.selector, d = u.properties, g = {}, b = 0; b < d.length; b++) { - var y = d[b]; - g[y.name] = y.strValue; - } - a.push({ - selector: c ? c.toString() : "core", - style: g - }); - } - return a; -}; -var G6 = {}; -G6.appendFromString = function(a) { - var r = this, u = this, c = "" + a, d, g, b; - c = c.replace(/[/][*](\s|.)+?[*][/]/g, ""); - function y() { - c.length > d.length ? c = c.substr(d.length) : c = ""; - } - function k() { - g.length > b.length ? g = g.substr(b.length) : g = ""; - } - for (; ; ) { - var E = c.match(/^\s*$/); - if (E) - break; - var C = c.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/); - if (!C) { - Sr("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: " + c); - break; - } - d = C[0]; - var T = C[1]; - if (T !== "core") { - var P = new _h(T); - if (P.invalid) { - Sr("Skipping parsing of block: Invalid selector found in string stylesheet: " + T), y(); - continue; - } - } - var N = C[2], D = !1; - g = N; - for (var H = []; ; ) { - var _ = g.match(/^\s*$/); - if (_) - break; - var B = g.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/); - if (!B) { - Sr("Skipping parsing of block: Invalid formatting of style property and value definitions found in:" + N), D = !0; - break; - } - b = B[0]; - var $ = B[1], F = B[2], W = r.properties[$]; - if (!W) { - Sr("Skipping property: Invalid property name in: " + b), k(); - continue; - } - var Q = u.parse($, F); - if (!Q) { - Sr("Skipping property: Invalid property definition in: " + b), k(); - continue; - } - H.push({ - name: $, - val: F - }), k(); - } - if (D) { - y(); - break; - } - u.selector(T); - for (var X = 0; X < H.length; X++) { - var K = H[X]; - u.css(K.name, K.val); - } - y(); - } - return u; -}; -G6.fromString = function(a) { - var r = this; - return r.resetToDefault(), r.appendFromString(a), r; -}; -var vo = {}; -(function() { - var a = Aa, r = woe, u = yoe, c = koe, d = Eoe, g = function(Ve) { - return "^" + Ve + "\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"; - }, b = function(Ve) { - var Ke = a + "|\\w+|" + r + "|" + u + "|" + c + "|" + d; - return "^" + Ve + "\\s*\\(([\\w\\.]+)\\s*\\,\\s*(" + a + ")\\s*\\,\\s*(" + a + ")\\s*,\\s*(" + Ke + ")\\s*\\,\\s*(" + Ke + ")\\)$"; - }, y = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, "^(none)$", "^(.+)$"]; - vo.types = { - time: { - number: !0, - min: 0, - units: "s|ms", - implicitUnits: "ms" - }, - percent: { - number: !0, - min: 0, - max: 100, - units: "%", - implicitUnits: "%" - }, - percentages: { - number: !0, - min: 0, - max: 100, - units: "%", - implicitUnits: "%", - multiple: !0 - }, - zeroOneNumber: { - number: !0, - min: 0, - max: 1, - unitless: !0 - }, - zeroOneNumbers: { - number: !0, - min: 0, - max: 1, - unitless: !0, - multiple: !0 - }, - nOneOneNumber: { - number: !0, - min: -1, - max: 1, - unitless: !0 - }, - nonNegativeInt: { - number: !0, - min: 0, - integer: !0, - unitless: !0 - }, - nonNegativeNumber: { - number: !0, - min: 0, - unitless: !0 - }, - position: { - enums: ["parent", "origin"] - }, - nodeSize: { - number: !0, - min: 0, - enums: ["label"] - }, - number: { - number: !0, - unitless: !0 - }, - numbers: { - number: !0, - unitless: !0, - multiple: !0 - }, - positiveNumber: { - number: !0, - unitless: !0, - min: 0, - strictMin: !0 - }, - size: { - number: !0, - min: 0 - }, - bidirectionalSize: { - number: !0 - }, - // allows negative - bidirectionalSizeMaybePercent: { - number: !0, - allowPercent: !0 - }, - // allows negative - bidirectionalSizes: { - number: !0, - multiple: !0 - }, - // allows negative - sizeMaybePercent: { - number: !0, - min: 0, - allowPercent: !0 - }, - axisDirection: { - enums: ["horizontal", "leftward", "rightward", "vertical", "upward", "downward", "auto"] - }, - paddingRelativeTo: { - enums: ["width", "height", "average", "min", "max"] - }, - bgWH: { - number: !0, - min: 0, - allowPercent: !0, - enums: ["auto"], - multiple: !0 - }, - bgPos: { - number: !0, - allowPercent: !0, - multiple: !0 - }, - bgRelativeTo: { - enums: ["inner", "include-padding"], - multiple: !0 - }, - bgRepeat: { - enums: ["repeat", "repeat-x", "repeat-y", "no-repeat"], - multiple: !0 - }, - bgFit: { - enums: ["none", "contain", "cover"], - multiple: !0 - }, - bgCrossOrigin: { - enums: ["anonymous", "use-credentials", "null"], - multiple: !0 - }, - bgClip: { - enums: ["none", "node"], - multiple: !0 - }, - bgContainment: { - enums: ["inside", "over"], - multiple: !0 - }, - color: { - color: !0 - }, - colors: { - color: !0, - multiple: !0 - }, - fill: { - enums: ["solid", "linear-gradient", "radial-gradient"] - }, - bool: { - enums: ["yes", "no"] - }, - bools: { - enums: ["yes", "no"], - multiple: !0 - }, - lineStyle: { - enums: ["solid", "dotted", "dashed"] - }, - lineCap: { - enums: ["butt", "round", "square"] - }, - borderStyle: { - enums: ["solid", "dotted", "dashed", "double"] - }, - curveStyle: { - enums: ["bezier", "unbundled-bezier", "haystack", "segments", "straight", "straight-triangle", "taxi"] - }, - fontFamily: { - regex: '^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$' - }, - fontStyle: { - enums: ["italic", "normal", "oblique"] - }, - fontWeight: { - enums: ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "800", "900", 100, 200, 300, 400, 500, 600, 700, 800, 900] - }, - textDecoration: { - enums: ["none", "underline", "overline", "line-through"] - }, - textTransform: { - enums: ["none", "uppercase", "lowercase"] - }, - textWrap: { - enums: ["none", "wrap", "ellipsis"] - }, - textOverflowWrap: { - enums: ["whitespace", "anywhere"] - }, - textBackgroundShape: { - enums: ["rectangle", "roundrectangle", "round-rectangle"] - }, - nodeShape: { - enums: ["rectangle", "roundrectangle", "round-rectangle", "cutrectangle", "cut-rectangle", "bottomroundrectangle", "bottom-round-rectangle", "barrel", "ellipse", "triangle", "round-triangle", "square", "pentagon", "round-pentagon", "hexagon", "round-hexagon", "concavehexagon", "concave-hexagon", "heptagon", "round-heptagon", "octagon", "round-octagon", "tag", "round-tag", "star", "diamond", "round-diamond", "vee", "rhomboid", "right-rhomboid", "polygon"] - }, - overlayShape: { - enums: ["roundrectangle", "round-rectangle", "ellipse"] - }, - compoundIncludeLabels: { - enums: ["include", "exclude"] - }, - arrowShape: { - enums: ["tee", "triangle", "triangle-tee", "circle-triangle", "triangle-cross", "triangle-backcurve", "vee", "square", "circle", "diamond", "chevron", "none"] - }, - arrowFill: { - enums: ["filled", "hollow"] - }, - display: { - enums: ["element", "none"] - }, - visibility: { - enums: ["hidden", "visible"] - }, - zCompoundDepth: { - enums: ["bottom", "orphan", "auto", "top"] - }, - zIndexCompare: { - enums: ["auto", "manual"] - }, - valign: { - enums: ["top", "center", "bottom"] - }, - halign: { - enums: ["left", "center", "right"] - }, - justification: { - enums: ["left", "center", "right", "auto"] - }, - text: { - string: !0 - }, - data: { - mapping: !0, - regex: g("data") - }, - layoutData: { - mapping: !0, - regex: g("layoutData") - }, - scratch: { - mapping: !0, - regex: g("scratch") - }, - mapData: { - mapping: !0, - regex: b("mapData") - }, - mapLayoutData: { - mapping: !0, - regex: b("mapLayoutData") - }, - mapScratch: { - mapping: !0, - regex: b("mapScratch") - }, - fn: { - mapping: !0, - fn: !0 - }, - url: { - regexes: y, - singleRegexMatchValue: !0 - }, - urls: { - regexes: y, - singleRegexMatchValue: !0, - multiple: !0 - }, - propList: { - propList: !0 - }, - angle: { - number: !0, - units: "deg|rad", - implicitUnits: "rad" - }, - textRotation: { - number: !0, - units: "deg|rad", - implicitUnits: "rad", - enums: ["none", "autorotate"] - }, - polygonPointList: { - number: !0, - multiple: !0, - evenMultiple: !0, - min: -1, - max: 1, - unitless: !0 - }, - edgeDistances: { - enums: ["intersection", "node-position", "endpoints"] - }, - edgeEndpoint: { - number: !0, - multiple: !0, - units: "%|px|em|deg|rad", - implicitUnits: "px", - enums: ["inside-to-node", "outside-to-node", "outside-to-node-or-label", "outside-to-line", "outside-to-line-or-label"], - singleEnum: !0, - validate: function(Ve, Ke) { - switch (Ve.length) { - case 2: - return Ke[0] !== "deg" && Ke[0] !== "rad" && Ke[1] !== "deg" && Ke[1] !== "rad"; - case 1: - return qt(Ve[0]) || Ke[0] === "deg" || Ke[0] === "rad"; - default: - return !1; - } - } - }, - easing: { - regexes: ["^(spring)\\s*\\(\\s*(" + a + ")\\s*,\\s*(" + a + ")\\s*\\)$", "^(cubic-bezier)\\s*\\(\\s*(" + a + ")\\s*,\\s*(" + a + ")\\s*,\\s*(" + a + ")\\s*,\\s*(" + a + ")\\s*\\)$"], - enums: ["linear", "ease", "ease-in", "ease-out", "ease-in-out", "ease-in-sine", "ease-out-sine", "ease-in-out-sine", "ease-in-quad", "ease-out-quad", "ease-in-out-quad", "ease-in-cubic", "ease-out-cubic", "ease-in-out-cubic", "ease-in-quart", "ease-out-quart", "ease-in-out-quart", "ease-in-quint", "ease-out-quint", "ease-in-out-quint", "ease-in-expo", "ease-out-expo", "ease-in-out-expo", "ease-in-circ", "ease-out-circ", "ease-in-out-circ"] - }, - gradientDirection: { - enums: [ - "to-bottom", - "to-top", - "to-left", - "to-right", - "to-bottom-right", - "to-bottom-left", - "to-top-right", - "to-top-left", - "to-right-bottom", - "to-left-bottom", - "to-right-top", - "to-left-top" - // different order - ] - }, - boundsExpansion: { - number: !0, - multiple: !0, - min: 0, - validate: function(Ve) { - var Ke = Ve.length; - return Ke === 1 || Ke === 2 || Ke === 4; - } - } - }; - var k = { - zeroNonZero: function(Ve, Ke) { - return (Ve == null || Ke == null) && Ve !== Ke || Ve == 0 && Ke != 0 ? !0 : Ve != 0 && Ke == 0; - }, - any: function(Ve, Ke) { - return Ve != Ke; - }, - emptyNonEmpty: function(Ve, Ke) { - var at = zh(Ve), ft = zh(Ke); - return at && !ft || !at && ft; - } - }, E = vo.types, C = [{ - name: "label", - type: E.text, - triggersBounds: k.any, - triggersZOrder: k.emptyNonEmpty - }, { - name: "text-rotation", - type: E.textRotation, - triggersBounds: k.any - }, { - name: "text-margin-x", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "text-margin-y", - type: E.bidirectionalSize, - triggersBounds: k.any - }], T = [{ - name: "source-label", - type: E.text, - triggersBounds: k.any - }, { - name: "source-text-rotation", - type: E.textRotation, - triggersBounds: k.any - }, { - name: "source-text-margin-x", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "source-text-margin-y", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "source-text-offset", - type: E.size, - triggersBounds: k.any - }], P = [{ - name: "target-label", - type: E.text, - triggersBounds: k.any - }, { - name: "target-text-rotation", - type: E.textRotation, - triggersBounds: k.any - }, { - name: "target-text-margin-x", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "target-text-margin-y", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "target-text-offset", - type: E.size, - triggersBounds: k.any - }], N = [{ - name: "font-family", - type: E.fontFamily, - triggersBounds: k.any - }, { - name: "font-style", - type: E.fontStyle, - triggersBounds: k.any - }, { - name: "font-weight", - type: E.fontWeight, - triggersBounds: k.any - }, { - name: "font-size", - type: E.size, - triggersBounds: k.any - }, { - name: "text-transform", - type: E.textTransform, - triggersBounds: k.any - }, { - name: "text-wrap", - type: E.textWrap, - triggersBounds: k.any - }, { - name: "text-overflow-wrap", - type: E.textOverflowWrap, - triggersBounds: k.any - }, { - name: "text-max-width", - type: E.size, - triggersBounds: k.any - }, { - name: "text-outline-width", - type: E.size, - triggersBounds: k.any - }, { - name: "line-height", - type: E.positiveNumber, - triggersBounds: k.any - }], D = [{ - name: "text-valign", - type: E.valign, - triggersBounds: k.any - }, { - name: "text-halign", - type: E.halign, - triggersBounds: k.any - }, { - name: "color", - type: E.color - }, { - name: "text-outline-color", - type: E.color - }, { - name: "text-outline-opacity", - type: E.zeroOneNumber - }, { - name: "text-background-color", - type: E.color - }, { - name: "text-background-opacity", - type: E.zeroOneNumber - }, { - name: "text-background-padding", - type: E.size, - triggersBounds: k.any - }, { - name: "text-border-opacity", - type: E.zeroOneNumber - }, { - name: "text-border-color", - type: E.color - }, { - name: "text-border-width", - type: E.size, - triggersBounds: k.any - }, { - name: "text-border-style", - type: E.borderStyle, - triggersBounds: k.any - }, { - name: "text-background-shape", - type: E.textBackgroundShape, - triggersBounds: k.any - }, { - name: "text-justification", - type: E.justification - }], H = [{ - name: "events", - type: E.bool, - triggersZOrder: k.any - }, { - name: "text-events", - type: E.bool, - triggersZOrder: k.any - }], _ = [{ - name: "display", - type: E.display, - triggersZOrder: k.any, - triggersBounds: k.any, - triggersBoundsOfParallelBeziers: !0 - }, { - name: "visibility", - type: E.visibility, - triggersZOrder: k.any - }, { - name: "opacity", - type: E.zeroOneNumber, - triggersZOrder: k.zeroNonZero - }, { - name: "text-opacity", - type: E.zeroOneNumber - }, { - name: "min-zoomed-font-size", - type: E.size - }, { - name: "z-compound-depth", - type: E.zCompoundDepth, - triggersZOrder: k.any - }, { - name: "z-index-compare", - type: E.zIndexCompare, - triggersZOrder: k.any - }, { - name: "z-index", - type: E.number, - triggersZOrder: k.any - }], B = [{ - name: "overlay-padding", - type: E.size, - triggersBounds: k.any - }, { - name: "overlay-color", - type: E.color - }, { - name: "overlay-opacity", - type: E.zeroOneNumber, - triggersBounds: k.zeroNonZero - }, { - name: "overlay-shape", - type: E.overlayShape, - triggersBounds: k.any - }], $ = [{ - name: "underlay-padding", - type: E.size, - triggersBounds: k.any - }, { - name: "underlay-color", - type: E.color - }, { - name: "underlay-opacity", - type: E.zeroOneNumber, - triggersBounds: k.zeroNonZero - }, { - name: "underlay-shape", - type: E.overlayShape, - triggersBounds: k.any - }], F = [{ - name: "transition-property", - type: E.propList - }, { - name: "transition-duration", - type: E.time - }, { - name: "transition-delay", - type: E.time - }, { - name: "transition-timing-function", - type: E.easing - }], W = function(Ve, Ke) { - return Ke.value === "label" ? -Ve.poolIndex() : Ke.pfValue; - }, Q = [{ - name: "height", - type: E.nodeSize, - triggersBounds: k.any, - hashOverride: W - }, { - name: "width", - type: E.nodeSize, - triggersBounds: k.any, - hashOverride: W - }, { - name: "shape", - type: E.nodeShape, - triggersBounds: k.any - }, { - name: "shape-polygon-points", - type: E.polygonPointList, - triggersBounds: k.any - }, { - name: "background-color", - type: E.color - }, { - name: "background-fill", - type: E.fill - }, { - name: "background-opacity", - type: E.zeroOneNumber - }, { - name: "background-blacken", - type: E.nOneOneNumber - }, { - name: "background-gradient-stop-colors", - type: E.colors - }, { - name: "background-gradient-stop-positions", - type: E.percentages - }, { - name: "background-gradient-direction", - type: E.gradientDirection - }, { - name: "padding", - type: E.sizeMaybePercent, - triggersBounds: k.any - }, { - name: "padding-relative-to", - type: E.paddingRelativeTo, - triggersBounds: k.any - }, { - name: "bounds-expansion", - type: E.boundsExpansion, - triggersBounds: k.any - }], X = [{ - name: "border-color", - type: E.color - }, { - name: "border-opacity", - type: E.zeroOneNumber - }, { - name: "border-width", - type: E.size, - triggersBounds: k.any - }, { - name: "border-style", - type: E.borderStyle - }], K = [{ - name: "background-image", - type: E.urls - }, { - name: "background-image-crossorigin", - type: E.bgCrossOrigin - }, { - name: "background-image-opacity", - type: E.zeroOneNumbers - }, { - name: "background-image-containment", - type: E.bgContainment - }, { - name: "background-image-smoothing", - type: E.bools - }, { - name: "background-position-x", - type: E.bgPos - }, { - name: "background-position-y", - type: E.bgPos - }, { - name: "background-width-relative-to", - type: E.bgRelativeTo - }, { - name: "background-height-relative-to", - type: E.bgRelativeTo - }, { - name: "background-repeat", - type: E.bgRepeat - }, { - name: "background-fit", - type: E.bgFit - }, { - name: "background-clip", - type: E.bgClip - }, { - name: "background-width", - type: E.bgWH - }, { - name: "background-height", - type: E.bgWH - }, { - name: "background-offset-x", - type: E.bgPos - }, { - name: "background-offset-y", - type: E.bgPos - }], ee = [{ - name: "position", - type: E.position, - triggersBounds: k.any - }, { - name: "compound-sizing-wrt-labels", - type: E.compoundIncludeLabels, - triggersBounds: k.any - }, { - name: "min-width", - type: E.size, - triggersBounds: k.any - }, { - name: "min-width-bias-left", - type: E.sizeMaybePercent, - triggersBounds: k.any - }, { - name: "min-width-bias-right", - type: E.sizeMaybePercent, - triggersBounds: k.any - }, { - name: "min-height", - type: E.size, - triggersBounds: k.any - }, { - name: "min-height-bias-top", - type: E.sizeMaybePercent, - triggersBounds: k.any - }, { - name: "min-height-bias-bottom", - type: E.sizeMaybePercent, - triggersBounds: k.any - }], Z = [{ - name: "line-style", - type: E.lineStyle - }, { - name: "line-color", - type: E.color - }, { - name: "line-fill", - type: E.fill - }, { - name: "line-cap", - type: E.lineCap - }, { - name: "line-opacity", - type: E.zeroOneNumber - }, { - name: "line-dash-pattern", - type: E.numbers - }, { - name: "line-dash-offset", - type: E.number - }, { - name: "line-gradient-stop-colors", - type: E.colors - }, { - name: "line-gradient-stop-positions", - type: E.percentages - }, { - name: "curve-style", - type: E.curveStyle, - triggersBounds: k.any, - triggersBoundsOfParallelBeziers: !0 - }, { - name: "haystack-radius", - type: E.zeroOneNumber, - triggersBounds: k.any - }, { - name: "source-endpoint", - type: E.edgeEndpoint, - triggersBounds: k.any - }, { - name: "target-endpoint", - type: E.edgeEndpoint, - triggersBounds: k.any - }, { - name: "control-point-step-size", - type: E.size, - triggersBounds: k.any - }, { - name: "control-point-distances", - type: E.bidirectionalSizes, - triggersBounds: k.any - }, { - name: "control-point-weights", - type: E.numbers, - triggersBounds: k.any - }, { - name: "segment-distances", - type: E.bidirectionalSizes, - triggersBounds: k.any - }, { - name: "segment-weights", - type: E.numbers, - triggersBounds: k.any - }, { - name: "taxi-turn", - type: E.bidirectionalSizeMaybePercent, - triggersBounds: k.any - }, { - name: "taxi-turn-min-distance", - type: E.size, - triggersBounds: k.any - }, { - name: "taxi-direction", - type: E.axisDirection, - triggersBounds: k.any - }, { - name: "edge-distances", - type: E.edgeDistances, - triggersBounds: k.any - }, { - name: "arrow-scale", - type: E.positiveNumber, - triggersBounds: k.any - }, { - name: "loop-direction", - type: E.angle, - triggersBounds: k.any - }, { - name: "loop-sweep", - type: E.angle, - triggersBounds: k.any - }, { - name: "source-distance-from-node", - type: E.size, - triggersBounds: k.any - }, { - name: "target-distance-from-node", - type: E.size, - triggersBounds: k.any - }], ae = [{ - name: "ghost", - type: E.bool, - triggersBounds: k.any - }, { - name: "ghost-offset-x", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "ghost-offset-y", - type: E.bidirectionalSize, - triggersBounds: k.any - }, { - name: "ghost-opacity", - type: E.zeroOneNumber - }], oe = [{ - name: "selection-box-color", - type: E.color - }, { - name: "selection-box-opacity", - type: E.zeroOneNumber - }, { - name: "selection-box-border-color", - type: E.color - }, { - name: "selection-box-border-width", - type: E.size - }, { - name: "active-bg-color", - type: E.color - }, { - name: "active-bg-opacity", - type: E.zeroOneNumber - }, { - name: "active-bg-size", - type: E.size - }, { - name: "outside-texture-bg-color", - type: E.color - }, { - name: "outside-texture-bg-opacity", - type: E.zeroOneNumber - }], J = []; - vo.pieBackgroundN = 16, J.push({ - name: "pie-size", - type: E.sizeMaybePercent - }); - for (var fe = 1; fe <= vo.pieBackgroundN; fe++) - J.push({ - name: "pie-" + fe + "-background-color", - type: E.color - }), J.push({ - name: "pie-" + fe + "-background-size", - type: E.percent - }), J.push({ - name: "pie-" + fe + "-background-opacity", - type: E.zeroOneNumber - }); - var se = [], pe = vo.arrowPrefixes = ["source", "mid-source", "target", "mid-target"]; - [{ - name: "arrow-shape", - type: E.arrowShape, - triggersBounds: k.any - }, { - name: "arrow-color", - type: E.color - }, { - name: "arrow-fill", - type: E.arrowFill - }].forEach(function(me) { - pe.forEach(function(Ve) { - var Ke = Ve + "-" + me.name, at = me.type, ft = me.triggersBounds; - se.push({ - name: Ke, - type: at, - triggersBounds: ft - }); - }); - }, {}); - var he = vo.properties = [].concat(H, F, _, B, $, ae, D, N, C, T, P, Q, X, K, J, ee, Z, se, oe), de = vo.propertyGroups = { - // common to all eles - behavior: H, - transition: F, - visibility: _, - overlay: B, - underlay: $, - ghost: ae, - // labels - commonLabel: D, - labelDimensions: N, - mainLabel: C, - sourceLabel: T, - targetLabel: P, - // node props - nodeBody: Q, - nodeBorder: X, - backgroundImage: K, - pie: J, - compound: ee, - // edge props - edgeLine: Z, - edgeArrow: se, - core: oe - }, ke = vo.propertyGroupNames = {}, Pe = vo.propertyGroupKeys = Object.keys(de); - Pe.forEach(function(me) { - ke[me] = de[me].map(function(Ve) { - return Ve.name; - }), de[me].forEach(function(Ve) { - return Ve.groupKey = me; - }); - }); - var Ae = vo.aliases = [{ - name: "content", - pointsTo: "label" - }, { - name: "control-point-distance", - pointsTo: "control-point-distances" - }, { - name: "control-point-weight", - pointsTo: "control-point-weights" - }, { - name: "edge-text-rotation", - pointsTo: "text-rotation" - }, { - name: "padding-left", - pointsTo: "padding" - }, { - name: "padding-right", - pointsTo: "padding" - }, { - name: "padding-top", - pointsTo: "padding" - }, { - name: "padding-bottom", - pointsTo: "padding" - }]; - vo.propertyNames = he.map(function(me) { - return me.name; - }); - for (var Te = 0; Te < he.length; Te++) { - var Oe = he[Te]; - he[Oe.name] = Oe; - } - for (var ze = 0; ze < Ae.length; ze++) { - var We = Ae[ze], $e = he[We.pointsTo], Ge = { - name: We.name, - alias: !0, - pointsTo: $e - }; - he.push(Ge), he[We.name] = Ge; - } -})(); -vo.getDefaultProperty = function(a) { - return this.getDefaultProperties()[a]; -}; -vo.getDefaultProperties = function() { - var a = this._private; - if (a.defaultProperties != null) - return a.defaultProperties; - for (var r = on({ - // core props - "selection-box-color": "#ddd", - "selection-box-opacity": 0.65, - "selection-box-border-color": "#aaa", - "selection-box-border-width": 1, - "active-bg-color": "black", - "active-bg-opacity": 0.15, - "active-bg-size": 30, - "outside-texture-bg-color": "#000", - "outside-texture-bg-opacity": 0.125, - // common node/edge props - events: "yes", - "text-events": "no", - "text-valign": "top", - "text-halign": "center", - "text-justification": "auto", - "line-height": 1, - color: "#000", - "text-outline-color": "#000", - "text-outline-width": 0, - "text-outline-opacity": 1, - "text-opacity": 1, - "text-decoration": "none", - "text-transform": "none", - "text-wrap": "none", - "text-overflow-wrap": "whitespace", - "text-max-width": 9999, - "text-background-color": "#000", - "text-background-opacity": 0, - "text-background-shape": "rectangle", - "text-background-padding": 0, - "text-border-opacity": 0, - "text-border-width": 0, - "text-border-style": "solid", - "text-border-color": "#000", - "font-family": "Helvetica Neue, Helvetica, sans-serif", - "font-style": "normal", - "font-weight": "normal", - "font-size": 16, - "min-zoomed-font-size": 0, - "text-rotation": "none", - "source-text-rotation": "none", - "target-text-rotation": "none", - visibility: "visible", - display: "element", - opacity: 1, - "z-compound-depth": "auto", - "z-index-compare": "auto", - "z-index": 0, - label: "", - "text-margin-x": 0, - "text-margin-y": 0, - "source-label": "", - "source-text-offset": 0, - "source-text-margin-x": 0, - "source-text-margin-y": 0, - "target-label": "", - "target-text-offset": 0, - "target-text-margin-x": 0, - "target-text-margin-y": 0, - "overlay-opacity": 0, - "overlay-color": "#000", - "overlay-padding": 10, - "overlay-shape": "round-rectangle", - "underlay-opacity": 0, - "underlay-color": "#000", - "underlay-padding": 10, - "underlay-shape": "round-rectangle", - "transition-property": "none", - "transition-duration": 0, - "transition-delay": 0, - "transition-timing-function": "linear", - // node props - "background-blacken": 0, - "background-color": "#999", - "background-fill": "solid", - "background-opacity": 1, - "background-image": "none", - "background-image-crossorigin": "anonymous", - "background-image-opacity": 1, - "background-image-containment": "inside", - "background-image-smoothing": "yes", - "background-position-x": "50%", - "background-position-y": "50%", - "background-offset-x": 0, - "background-offset-y": 0, - "background-width-relative-to": "include-padding", - "background-height-relative-to": "include-padding", - "background-repeat": "no-repeat", - "background-fit": "none", - "background-clip": "node", - "background-width": "auto", - "background-height": "auto", - "border-color": "#000", - "border-opacity": 1, - "border-width": 0, - "border-style": "solid", - height: 30, - width: 30, - shape: "ellipse", - "shape-polygon-points": "-1, -1, 1, -1, 1, 1, -1, 1", - "bounds-expansion": 0, - // node gradient - "background-gradient-direction": "to-bottom", - "background-gradient-stop-colors": "#999", - "background-gradient-stop-positions": "0%", - // ghost props - ghost: "no", - "ghost-offset-y": 0, - "ghost-offset-x": 0, - "ghost-opacity": 0, - // compound props - padding: 0, - "padding-relative-to": "width", - position: "origin", - "compound-sizing-wrt-labels": "include", - "min-width": 0, - "min-width-bias-left": 0, - "min-width-bias-right": 0, - "min-height": 0, - "min-height-bias-top": 0, - "min-height-bias-bottom": 0 - }, { - // node pie bg - "pie-size": "100%" - }, [{ - name: "pie-{{i}}-background-color", - value: "black" - }, { - name: "pie-{{i}}-background-size", - value: "0%" - }, { - name: "pie-{{i}}-background-opacity", - value: 1 - }].reduce(function(k, E) { - for (var C = 1; C <= vo.pieBackgroundN; C++) { - var T = E.name.replace("{{i}}", C), P = E.value; - k[T] = P; - } - return k; - }, {}), { - // edge props - "line-style": "solid", - "line-color": "#999", - "line-fill": "solid", - "line-cap": "butt", - "line-opacity": 1, - "line-gradient-stop-colors": "#999", - "line-gradient-stop-positions": "0%", - "control-point-step-size": 40, - "control-point-weights": 0.5, - "segment-weights": 0.5, - "segment-distances": 20, - "taxi-turn": "50%", - "taxi-turn-min-distance": 10, - "taxi-direction": "auto", - "edge-distances": "intersection", - "curve-style": "haystack", - "haystack-radius": 0, - "arrow-scale": 1, - "loop-direction": "-45deg", - "loop-sweep": "-90deg", - "source-distance-from-node": 0, - "target-distance-from-node": 0, - "source-endpoint": "outside-to-node", - "target-endpoint": "outside-to-node", - "line-dash-pattern": [6, 3], - "line-dash-offset": 0 - }, [{ - name: "arrow-shape", - value: "none" - }, { - name: "arrow-color", - value: "#999" - }, { - name: "arrow-fill", - value: "filled" - }].reduce(function(k, E) { - return vo.arrowPrefixes.forEach(function(C) { - var T = C + "-" + E.name, P = E.value; - k[T] = P; - }), k; - }, {})), u = {}, c = 0; c < this.properties.length; c++) { - var d = this.properties[c]; - if (!d.pointsTo) { - var g = d.name, b = r[g], y = this.parse(g, b); - u[g] = y; - } - } - return a.defaultProperties = u, a.defaultProperties; -}; -vo.addDefaultStylesheet = function() { - this.selector(":parent").css({ - shape: "rectangle", - padding: 10, - "background-color": "#eee", - "border-color": "#ccc", - "border-width": 1 - }).selector("edge").css({ - width: 3 - }).selector(":loop").css({ - "curve-style": "bezier" - }).selector("edge:compound").css({ - "curve-style": "bezier", - "source-endpoint": "outside-to-line", - "target-endpoint": "outside-to-line" - }).selector(":selected").css({ - "background-color": "#0169D9", - "line-color": "#0169D9", - "source-arrow-color": "#0169D9", - "target-arrow-color": "#0169D9", - "mid-source-arrow-color": "#0169D9", - "mid-target-arrow-color": "#0169D9" - }).selector(":parent:selected").css({ - "background-color": "#CCE1F9", - "border-color": "#aec8e5" - }).selector(":active").css({ - "overlay-color": "black", - "overlay-padding": 10, - "overlay-opacity": 0.25 - }), this.defaultLength = this.length; -}; -var y5 = {}; -y5.parse = function(a, r, u, c) { - var d = this; - if (zi(r)) - return d.parseImplWarn(a, r, u, c); - var g = c === "mapping" || c === !0 || c === !1 || c == null ? "dontcare" : c, b = u ? "t" : "f", y = "" + r, k = UG(a, y, b, g), E = d.propCache = d.propCache || [], C; - return (C = E[k]) || (C = E[k] = d.parseImplWarn(a, r, u, c)), (u || c === "mapping") && (C = kl(C), C && (C.value = kl(C.value))), C; -}; -y5.parseImplWarn = function(a, r, u, c) { - var d = this.parseImpl(a, r, u, c); - return !d && r != null && Sr("The style property `".concat(a, ": ").concat(r, "` is invalid")), d && (d.name === "width" || d.name === "height") && r === "label" && Sr("The style value of `label` is deprecated for `" + d.name + "`"), d; -}; -y5.parseImpl = function(a, r, u, c) { - var d = this; - a = D6(a); - var g = d.properties[a], b = r, y = d.types; - if (!g || r === void 0) - return null; - g.alias && (g = g.pointsTo, a = g.name); - var k = qt(r); - k && (r = r.trim()); - var E = g.type; - if (!E) - return null; - if (u && (r === "" || r === null)) - return { - name: a, - value: r, - bypass: !0, - deleteBypass: !0 - }; - if (zi(r)) - return { - name: a, - value: r, - strValue: "fn", - mapped: y.fn, - bypass: u - }; - var C, T; - if (!(!k || c || r.length < 7 || r[1] !== "a")) { - if (r.length >= 7 && r[0] === "d" && (C = new RegExp(y.data.regex).exec(r))) { - if (u) - return !1; - var P = y.data; - return { - name: a, - value: C, - strValue: "" + r, - mapped: P, - field: C[1], - bypass: u - }; - } else if (r.length >= 10 && r[0] === "m" && (T = new RegExp(y.mapData.regex).exec(r))) { - if (u || E.multiple) - return !1; - var N = y.mapData; - if (!(E.color || E.number)) - return !1; - var D = this.parse(a, T[4]); - if (!D || D.mapped) - return !1; - var H = this.parse(a, T[5]); - if (!H || H.mapped) - return !1; - if (D.pfValue === H.pfValue || D.strValue === H.strValue) - return Sr("`" + a + ": " + r + "` is not a valid mapper because the output range is zero; converting to `" + a + ": " + D.strValue + "`"), this.parse(a, D.strValue); - if (E.color) { - var _ = D.value, B = H.value, $ = _[0] === B[0] && _[1] === B[1] && _[2] === B[2] && // optional alpha - (_[3] === B[3] || (_[3] == null || _[3] === 1) && (B[3] == null || B[3] === 1)); - if ($) - return !1; - } - return { - name: a, - value: T, - strValue: "" + r, - mapped: N, - field: T[1], - fieldMin: parseFloat(T[2]), - // min & max are numeric - fieldMax: parseFloat(T[3]), - valueMin: D.value, - valueMax: H.value, - bypass: u - }; - } - } - if (E.multiple && c !== "multiple") { - var F; - if (k ? F = r.split(/\s+/) : Qr(r) ? F = r : F = [r], E.evenMultiple && F.length % 2 !== 0) - return null; - for (var W = [], Q = [], X = [], K = "", ee = !1, Z = 0; Z < F.length; Z++) { - var ae = d.parse(a, F[Z], u, "multiple"); - ee = ee || qt(ae.value), W.push(ae.value), X.push(ae.pfValue != null ? ae.pfValue : ae.value), Q.push(ae.units), K += (Z > 0 ? " " : "") + ae.strValue; - } - return E.validate && !E.validate(W, Q) ? null : E.singleEnum && ee ? W.length === 1 && qt(W[0]) ? { - name: a, - value: W[0], - strValue: W[0], - bypass: u - } : null : { - name: a, - value: W, - pfValue: X, - strValue: K, - bypass: u, - units: Q - }; - } - var oe = function() { - for (var Ke = 0; Ke < E.enums.length; Ke++) { - var at = E.enums[Ke]; - if (at === r) - return { - name: a, - value: r, - strValue: "" + r, - bypass: u - }; - } - return null; - }; - if (E.number) { - var J, fe = "px"; - if (E.units && (J = E.units), E.implicitUnits && (fe = E.implicitUnits), !E.unitless) - if (k) { - var se = "px|em" + (E.allowPercent ? "|\\%" : ""); - J && (se = J); - var pe = r.match("^(" + Aa + ")(" + se + ")?$"); - pe && (r = pe[1], J = pe[2] || fe); - } else - (!J || E.implicitUnits) && (J = fe); - if (r = parseFloat(r), isNaN(r) && E.enums === void 0) - return null; - if (isNaN(r) && E.enums !== void 0) - return r = b, oe(); - if (E.integer && !foe(r) || E.min !== void 0 && (r < E.min || E.strictMin && r === E.min) || E.max !== void 0 && (r > E.max || E.strictMax && r === E.max)) - return null; - var he = { - name: a, - value: r, - strValue: "" + r + (J || ""), - units: J, - bypass: u - }; - return E.unitless || J !== "px" && J !== "em" ? he.pfValue = r : he.pfValue = J === "px" || !J ? r : this.getEmSizeInPixels() * r, (J === "ms" || J === "s") && (he.pfValue = J === "ms" ? r : 1e3 * r), (J === "deg" || J === "rad") && (he.pfValue = J === "rad" ? r : ose(r)), J === "%" && (he.pfValue = r / 100), he; - } else if (E.propList) { - var de = [], ke = "" + r; - if (ke !== "none") { - for (var Pe = ke.split(/\s*,\s*|\s+/), Ae = 0; Ae < Pe.length; Ae++) { - var Te = Pe[Ae].trim(); - d.properties[Te] ? de.push(Te) : Sr("`" + Te + "` is not a valid property name"); - } - if (de.length === 0) - return null; - } - return { - name: a, - value: de, - strValue: de.length === 0 ? "none" : de.join(" "), - bypass: u - }; - } else if (E.color) { - var Oe = Poe(r); - return Oe ? { - name: a, - value: Oe, - pfValue: Oe, - strValue: "rgb(" + Oe[0] + "," + Oe[1] + "," + Oe[2] + ")", - // n.b. no spaces b/c of multiple support - bypass: u - } : null; - } else if (E.regex || E.regexes) { - if (E.enums) { - var ze = oe(); - if (ze) - return ze; - } - for (var We = E.regexes ? E.regexes : [E.regex], $e = 0; $e < We.length; $e++) { - var Ge = new RegExp(We[$e]), me = Ge.exec(r); - if (me) - return { - name: a, - value: E.singleRegexMatchValue ? me[1] : me, - strValue: "" + r, - bypass: u - }; - } - return null; - } else - return E.string ? { - name: a, - value: "" + r, - strValue: "" + r, - bypass: u - } : E.enums ? oe() : null; -}; -var Io = function a(r) { - if (!(this instanceof a)) - return new a(r); - if (!P6(r)) { - Qi("A style must have a core reference"); - return; - } - this._private = { - cy: r, - coreStyle: {} - }, this.length = 0, this.resetToDefault(); -}, Oo = Io.prototype; -Oo.instanceString = function() { - return "style"; -}; -Oo.clear = function() { - for (var a = this._private, r = a.cy, u = r.elements(), c = 0; c < this.length; c++) - this[c] = void 0; - return this.length = 0, a.contextStyles = {}, a.propDiffs = {}, this.cleanElements(u, !0), u.forEach(function(d) { - var g = d[0]._private; - g.styleDirty = !0, g.appliedInitStyle = !1; - }), this; -}; -Oo.resetToDefault = function() { - return this.clear(), this.addDefaultStylesheet(), this; -}; -Oo.core = function(a) { - return this._private.coreStyle[a] || this.getDefaultProperty(a); -}; -Oo.selector = function(a) { - var r = a === "core" ? null : new _h(a), u = this.length++; - return this[u] = { - selector: r, - properties: [], - mappedProperties: [], - index: u - }, this; -}; -Oo.css = function() { - var a = this, r = arguments; - if (r.length === 1) - for (var u = r[0], c = 0; c < a.properties.length; c++) { - var d = a.properties[c], g = u[d.name]; - g === void 0 && (g = u[f5(d.name)]), g !== void 0 && this.cssRule(d.name, g); - } - else - r.length === 2 && this.cssRule(r[0], r[1]); - return this; -}; -Oo.style = Oo.css; -Oo.cssRule = function(a, r) { - var u = this.parse(a, r); - if (u) { - var c = this.length - 1; - this[c].properties.push(u), this[c].properties[u.name] = u, u.name.match(/pie-(\d+)-background-size/) && u.value && (this._private.hasPie = !0), u.mapped && this[c].mappedProperties.push(u); - var d = !this[c].selector; - d && (this._private.coreStyle[u.name] = u); - } - return this; -}; -Oo.append = function(a) { - return _G(a) ? a.appendToStyle(this) : Qr(a) ? this.appendFromJson(a) : qt(a) && this.appendFromString(a), this; -}; -Io.fromJson = function(a, r) { - var u = new Io(a); - return u.fromJson(r), u; -}; -Io.fromString = function(a, r) { - return new Io(a).fromString(r); -}; -[Ao, hw, _6, Sl, m5, G6, vo, y5].forEach(function(a) { - on(Oo, a); -}); -Io.types = Oo.types; -Io.properties = Oo.properties; -Io.propertyGroups = Oo.propertyGroups; -Io.propertyGroupNames = Oo.propertyGroupNames; -Io.propertyGroupKeys = Oo.propertyGroupKeys; -var wce = { - style: function(r) { - if (r) { - var u = this.setStyle(r); - u.update(); - } - return this._private.style; - }, - setStyle: function(r) { - var u = this._private; - return _G(r) ? u.style = r.generateStyle(this) : Qr(r) ? u.style = Io.fromJson(this, r) : qt(r) ? u.style = Io.fromString(this, r) : u.style = Io(this), u.style; - }, - // e.g. cy.data() changed => recalc ele mappers - updateStyle: function() { - this.mutableElements().updateStyle(); - } -}, mce = "single", vv = { - autolock: function(r) { - if (r !== void 0) - this._private.autolock = !!r; - else - return this._private.autolock; - return this; - }, - autoungrabify: function(r) { - if (r !== void 0) - this._private.autoungrabify = !!r; - else - return this._private.autoungrabify; - return this; - }, - autounselectify: function(r) { - if (r !== void 0) - this._private.autounselectify = !!r; - else - return this._private.autounselectify; - return this; - }, - selectionType: function(r) { - var u = this._private; - if (u.selectionType == null && (u.selectionType = mce), r !== void 0) - (r === "additive" || r === "single") && (u.selectionType = r); - else - return u.selectionType; - return this; - }, - panningEnabled: function(r) { - if (r !== void 0) - this._private.panningEnabled = !!r; - else - return this._private.panningEnabled; - return this; - }, - userPanningEnabled: function(r) { - if (r !== void 0) - this._private.userPanningEnabled = !!r; - else - return this._private.userPanningEnabled; - return this; - }, - zoomingEnabled: function(r) { - if (r !== void 0) - this._private.zoomingEnabled = !!r; - else - return this._private.zoomingEnabled; - return this; - }, - userZoomingEnabled: function(r) { - if (r !== void 0) - this._private.userZoomingEnabled = !!r; - else - return this._private.userZoomingEnabled; - return this; - }, - boxSelectionEnabled: function(r) { - if (r !== void 0) - this._private.boxSelectionEnabled = !!r; - else - return this._private.boxSelectionEnabled; - return this; - }, - pan: function() { - var r = arguments, u = this._private.pan, c, d, g, b, y; - switch (r.length) { - case 0: - return u; - case 1: - if (qt(r[0])) - return c = r[0], u[c]; - if (fr(r[0])) { - if (!this._private.panningEnabled) - return this; - g = r[0], b = g.x, y = g.y, kt(b) && (u.x = b), kt(y) && (u.y = y), this.emit("pan viewport"); - } - break; - case 2: - if (!this._private.panningEnabled) - return this; - c = r[0], d = r[1], (c === "x" || c === "y") && kt(d) && (u[c] = d), this.emit("pan viewport"); - break; - } - return this.notify("viewport"), this; - }, - panBy: function(r, u) { - var c = arguments, d = this._private.pan, g, b, y, k, E; - if (!this._private.panningEnabled) - return this; - switch (c.length) { - case 1: - fr(r) && (y = c[0], k = y.x, E = y.y, kt(k) && (d.x += k), kt(E) && (d.y += E), this.emit("pan viewport")); - break; - case 2: - g = r, b = u, (g === "x" || g === "y") && kt(b) && (d[g] += b), this.emit("pan viewport"); - break; - } - return this.notify("viewport"), this; - }, - fit: function(r, u) { - var c = this.getFitViewport(r, u); - if (c) { - var d = this._private; - d.zoom = c.zoom, d.pan = c.pan, this.emit("pan zoom viewport"), this.notify("viewport"); - } - return this; - }, - getFitViewport: function(r, u) { - if (kt(r) && u === void 0 && (u = r, r = void 0), !(!this._private.panningEnabled || !this._private.zoomingEnabled)) { - var c; - if (qt(r)) { - var d = r; - r = this.$(d); - } else if (voe(r)) { - var g = r; - c = { - x1: g.x1, - y1: g.y1, - x2: g.x2, - y2: g.y2 - }, c.w = c.x2 - c.x1, c.h = c.y2 - c.y1; - } else - tu(r) || (r = this.mutableElements()); - if (!(tu(r) && r.empty())) { - c = c || r.boundingBox(); - var b = this.width(), y = this.height(), k; - if (u = kt(u) ? u : 0, !isNaN(b) && !isNaN(y) && b > 0 && y > 0 && !isNaN(c.w) && !isNaN(c.h) && c.w > 0 && c.h > 0) { - k = Math.min((b - 2 * u) / c.w, (y - 2 * u) / c.h), k = k > this._private.maxZoom ? this._private.maxZoom : k, k = k < this._private.minZoom ? this._private.minZoom : k; - var E = { - // now pan to middle - x: (b - k * (c.x1 + c.x2)) / 2, - y: (y - k * (c.y1 + c.y2)) / 2 - }; - return { - zoom: k, - pan: E - }; - } - } - } - }, - zoomRange: function(r, u) { - var c = this._private; - if (u == null) { - var d = r; - r = d.min, u = d.max; - } - return kt(r) && kt(u) && r <= u ? (c.minZoom = r, c.maxZoom = u) : kt(r) && u === void 0 && r <= c.maxZoom ? c.minZoom = r : kt(u) && r === void 0 && u >= c.minZoom && (c.maxZoom = u), this; - }, - minZoom: function(r) { - return r === void 0 ? this._private.minZoom : this.zoomRange({ - min: r - }); - }, - maxZoom: function(r) { - return r === void 0 ? this._private.maxZoom : this.zoomRange({ - max: r - }); - }, - getZoomedViewport: function(r) { - var u = this._private, c = u.pan, d = u.zoom, g, b, y = !1; - if (u.zoomingEnabled || (y = !0), kt(r) ? b = r : fr(r) && (b = r.level, r.position != null ? g = d5(r.position, d, c) : r.renderedPosition != null && (g = r.renderedPosition), g != null && !u.panningEnabled && (y = !0)), b = b > u.maxZoom ? u.maxZoom : b, b = b < u.minZoom ? u.minZoom : b, y || !kt(b) || b === d || g != null && (!kt(g.x) || !kt(g.y))) - return null; - if (g != null) { - var k = c, E = d, C = b, T = { - x: -C / E * (g.x - k.x) + g.x, - y: -C / E * (g.y - k.y) + g.y - }; - return { - zoomed: !0, - panned: !0, - zoom: C, - pan: T - }; - } else - return { - zoomed: !0, - panned: !1, - zoom: b, - pan: c - }; - }, - zoom: function(r) { - if (r === void 0) - return this._private.zoom; - var u = this.getZoomedViewport(r), c = this._private; - return u == null || !u.zoomed ? this : (c.zoom = u.zoom, u.panned && (c.pan.x = u.pan.x, c.pan.y = u.pan.y), this.emit("zoom" + (u.panned ? " pan" : "") + " viewport"), this.notify("viewport"), this); - }, - viewport: function(r) { - var u = this._private, c = !0, d = !0, g = [], b = !1, y = !1; - if (!r) - return this; - if (kt(r.zoom) || (c = !1), fr(r.pan) || (d = !1), !c && !d) - return this; - if (c) { - var k = r.zoom; - k < u.minZoom || k > u.maxZoom || !u.zoomingEnabled ? b = !0 : (u.zoom = k, g.push("zoom")); - } - if (d && (!b || !r.cancelOnFailedZoom) && u.panningEnabled) { - var E = r.pan; - kt(E.x) && (u.pan.x = E.x, y = !1), kt(E.y) && (u.pan.y = E.y, y = !1), y || g.push("pan"); - } - return g.length > 0 && (g.push("viewport"), this.emit(g.join(" ")), this.notify("viewport")), this; - }, - center: function(r) { - var u = this.getCenterPan(r); - return u && (this._private.pan = u, this.emit("pan viewport"), this.notify("viewport")), this; - }, - getCenterPan: function(r, u) { - if (this._private.panningEnabled) { - if (qt(r)) { - var c = r; - r = this.mutableElements().filter(c); - } else - tu(r) || (r = this.mutableElements()); - if (r.length !== 0) { - var d = r.boundingBox(), g = this.width(), b = this.height(); - u = u === void 0 ? this._private.zoom : u; - var y = { - // middle - x: (g - u * (d.x1 + d.x2)) / 2, - y: (b - u * (d.y1 + d.y2)) / 2 - }; - return y; - } - } - }, - reset: function() { - return !this._private.panningEnabled || !this._private.zoomingEnabled ? this : (this.viewport({ - pan: { - x: 0, - y: 0 - }, - zoom: 1 - }), this); - }, - invalidateSize: function() { - this._private.sizeCache = null; - }, - size: function() { - var r = this._private, u = r.container, c = this; - return r.sizeCache = r.sizeCache || (u ? function() { - var d = c.window().getComputedStyle(u), g = function(y) { - return parseFloat(d.getPropertyValue(y)); - }; - return { - width: u.clientWidth - g("padding-left") - g("padding-right"), - height: u.clientHeight - g("padding-top") - g("padding-bottom") - }; - }() : { - // fallback if no container (not 0 b/c can be used for dividing etc) - width: 1, - height: 1 - }); - }, - width: function() { - return this.size().width; - }, - height: function() { - return this.size().height; - }, - extent: function() { - var r = this._private.pan, u = this._private.zoom, c = this.renderedExtent(), d = { - x1: (c.x1 - r.x) / u, - x2: (c.x2 - r.x) / u, - y1: (c.y1 - r.y) / u, - y2: (c.y2 - r.y) / u - }; - return d.w = d.x2 - d.x1, d.h = d.y2 - d.y1, d; - }, - renderedExtent: function() { - var r = this.width(), u = this.height(); - return { - x1: 0, - y1: 0, - x2: r, - y2: u, - w: r, - h: u - }; - }, - multiClickDebounceTime: function(r) { - if (r) - this._private.multiClickDebounceTime = r; - else - return this._private.multiClickDebounceTime; - return this; - } -}; -vv.centre = vv.center; -vv.autolockNodes = vv.autolock; -vv.autoungrabifyNodes = vv.autoungrabify; -var nw = { - data: Mr.data({ - field: "data", - bindingEvent: "data", - allowBinding: !0, - allowSetting: !0, - settingEvent: "data", - settingTriggersEvent: !0, - triggerFnName: "trigger", - allowGetting: !0, - updateStyle: !0 - }), - removeData: Mr.removeData({ - field: "data", - event: "data", - triggerFnName: "trigger", - triggerEvent: !0, - updateStyle: !0 - }), - scratch: Mr.data({ - field: "scratch", - bindingEvent: "scratch", - allowBinding: !0, - allowSetting: !0, - settingEvent: "scratch", - settingTriggersEvent: !0, - triggerFnName: "trigger", - allowGetting: !0, - updateStyle: !0 - }), - removeScratch: Mr.removeData({ - field: "scratch", - event: "scratch", - triggerFnName: "trigger", - triggerEvent: !0, - updateStyle: !0 - }) -}; -nw.attr = nw.data; -nw.removeAttr = nw.removeData; -var rw = function(r) { - var u = this; - r = on({}, r); - var c = r.container; - c && !ZE(c) && ZE(c[0]) && (c = c[0]); - var d = c ? c._cyreg : null; - d = d || {}, d && d.cy && (d.cy.destroy(), d = {}); - var g = d.readies = d.readies || []; - c && (c._cyreg = d), d.cy = u; - var b = Oa !== void 0 && c !== void 0 && !r.headless, y = r; - y.layout = on({ - name: b ? "grid" : "null" - }, y.layout), y.renderer = on({ - name: b ? "canvas" : "null" - }, y.renderer); - var k = function(D, H, _) { - return H !== void 0 ? H : _ !== void 0 ? _ : D; - }, E = this._private = { - container: c, - // html dom ele container - ready: !1, - // whether ready has been triggered - options: y, - // cached options - elements: new bo(this), - // elements in the graph - listeners: [], - // list of listeners - aniEles: new bo(this), - // elements being animated - data: y.data || {}, - // data for the core - scratch: {}, - // scratch object for core - layout: null, - renderer: null, - destroyed: !1, - // whether destroy was called - notificationsEnabled: !0, - // whether notifications are sent to the renderer - minZoom: 1e-50, - maxZoom: 1e50, - zoomingEnabled: k(!0, y.zoomingEnabled), - userZoomingEnabled: k(!0, y.userZoomingEnabled), - panningEnabled: k(!0, y.panningEnabled), - userPanningEnabled: k(!0, y.userPanningEnabled), - boxSelectionEnabled: k(!0, y.boxSelectionEnabled), - autolock: k(!1, y.autolock, y.autolockNodes), - autoungrabify: k(!1, y.autoungrabify, y.autoungrabifyNodes), - autounselectify: k(!1, y.autounselectify), - styleEnabled: y.styleEnabled === void 0 ? b : y.styleEnabled, - zoom: kt(y.zoom) ? y.zoom : 1, - pan: { - x: fr(y.pan) && kt(y.pan.x) ? y.pan.x : 0, - y: fr(y.pan) && kt(y.pan.y) ? y.pan.y : 0 - }, - animation: { - // object for currently-running animations - current: [], - queue: [] - }, - hasCompoundNodes: !1, - multiClickDebounceTime: k(250, y.multiClickDebounceTime) - }; - this.createEmitter(), this.selectionType(y.selectionType), this.zoomRange({ - min: y.minZoom, - max: y.maxZoom - }); - var C = function(D, H) { - var _ = D.some(goe); - if (_) - return Hb.all(D).then(H); - H(D); - }; - E.styleEnabled && u.setStyle([]); - var T = on({}, y, y.renderer); - u.initRenderer(T); - var P = function(D, H, _) { - u.notifications(!1); - var B = u.mutableElements(); - B.length > 0 && B.remove(), D != null && (fr(D) || Qr(D)) && u.add(D), u.one("layoutready", function(F) { - u.notifications(!0), u.emit(F), u.one("load", H), u.emitAndNotify("load"); - }).one("layoutstop", function() { - u.one("done", _), u.emit("done"); - }); - var $ = on({}, u._private.options.layout); - $.eles = u.elements(), u.layout($).run(); - }; - C([y.style, y.elements], function(N) { - var D = N[0], H = N[1]; - E.styleEnabled && u.style().append(D), P(H, function() { - u.startAnimationLoop(), E.ready = !0, zi(y.ready) && u.on("ready", y.ready); - for (var _ = 0; _ < g.length; _++) { - var B = g[_]; - u.on("ready", B); - } - d && (d.readies = []), u.emit("ready"); - }, y.done); - }); -}, t5 = rw.prototype; -on(t5, { - instanceString: function() { - return "core"; - }, - isReady: function() { - return this._private.ready; - }, - destroyed: function() { - return this._private.destroyed; - }, - ready: function(r) { - return this.isReady() ? this.emitter().emit("ready", [], r) : this.on("ready", r), this; - }, - destroy: function() { - var r = this; - if (!r.destroyed()) - return r.stopAnimationLoop(), r.destroyRenderer(), this.emit("destroy"), r._private.destroyed = !0, r; - }, - hasElementWithId: function(r) { - return this._private.elements.hasElementWithId(r); - }, - getElementById: function(r) { - return this._private.elements.getElementById(r); - }, - hasCompoundNodes: function() { - return this._private.hasCompoundNodes; - }, - headless: function() { - return this._private.renderer.isHeadless(); - }, - styleEnabled: function() { - return this._private.styleEnabled; - }, - addToPool: function(r) { - return this._private.elements.merge(r), this; - }, - removeFromPool: function(r) { - return this._private.elements.unmerge(r), this; - }, - container: function() { - return this._private.container || null; - }, - window: function() { - var r = this._private.container; - if (r == null) - return Oa; - var u = this._private.container.ownerDocument; - return u === void 0 || u == null ? Oa : u.defaultView || Oa; - }, - mount: function(r) { - if (r != null) { - var u = this, c = u._private, d = c.options; - return !ZE(r) && ZE(r[0]) && (r = r[0]), u.stopAnimationLoop(), u.destroyRenderer(), c.container = r, c.styleEnabled = !0, u.invalidateSize(), u.initRenderer(on({}, d, d.renderer, { - // allow custom renderer name to be re-used, otherwise use canvas - name: d.renderer.name === "null" ? "canvas" : d.renderer.name - })), u.startAnimationLoop(), u.style(d.style), u.emit("mount"), u; - } - }, - unmount: function() { - var r = this; - return r.stopAnimationLoop(), r.destroyRenderer(), r.initRenderer({ - name: "null" - }), r.emit("unmount"), r; - }, - options: function() { - return kl(this._private.options); - }, - json: function(r) { - var u = this, c = u._private, d = u.mutableElements(), g = function(W) { - return u.getElementById(W.id()); - }; - if (fr(r)) { - if (u.startBatch(), r.elements) { - var b = {}, y = function(W, Q) { - for (var X = [], K = [], ee = 0; ee < W.length; ee++) { - var Z = W[ee]; - if (!Z.data.id) { - Sr("cy.json() cannot handle elements without an ID attribute"); - continue; - } - var ae = "" + Z.data.id, oe = u.getElementById(ae); - b[ae] = !0, oe.length !== 0 ? K.push({ - ele: oe, - json: Z - }) : (Q && (Z.group = Q), X.push(Z)); - } - u.add(X); - for (var J = 0; J < K.length; J++) { - var fe = K[J], se = fe.ele, pe = fe.json; - se.json(pe); - } - }; - if (Qr(r.elements)) - y(r.elements); - else - for (var k = ["nodes", "edges"], E = 0; E < k.length; E++) { - var C = k[E], T = r.elements[C]; - Qr(T) && y(T, C); - } - var P = u.collection(); - d.filter(function(F) { - return !b[F.id()]; - }).forEach(function(F) { - F.isParent() ? P.merge(F) : F.remove(); - }), P.forEach(function(F) { - return F.children().move({ - parent: null - }); - }), P.forEach(function(F) { - return g(F).remove(); - }); - } - r.style && u.style(r.style), r.zoom != null && r.zoom !== c.zoom && u.zoom(r.zoom), r.pan && (r.pan.x !== c.pan.x || r.pan.y !== c.pan.y) && u.pan(r.pan), r.data && u.data(r.data); - for (var N = ["minZoom", "maxZoom", "zoomingEnabled", "userZoomingEnabled", "panningEnabled", "userPanningEnabled", "boxSelectionEnabled", "autolock", "autoungrabify", "autounselectify", "multiClickDebounceTime"], D = 0; D < N.length; D++) { - var H = N[D]; - r[H] != null && u[H](r[H]); - } - return u.endBatch(), this; - } else { - var _ = !!r, B = {}; - _ ? B.elements = this.elements().map(function(F) { - return F.json(); - }) : (B.elements = {}, d.forEach(function(F) { - var W = F.group(); - B.elements[W] || (B.elements[W] = []), B.elements[W].push(F.json()); - })), this._private.styleEnabled && (B.style = u.style().json()), B.data = kl(u.data()); - var $ = c.options; - return B.zoomingEnabled = c.zoomingEnabled, B.userZoomingEnabled = c.userZoomingEnabled, B.zoom = c.zoom, B.minZoom = c.minZoom, B.maxZoom = c.maxZoom, B.panningEnabled = c.panningEnabled, B.userPanningEnabled = c.userPanningEnabled, B.pan = kl(c.pan), B.boxSelectionEnabled = c.boxSelectionEnabled, B.renderer = kl($.renderer), B.hideEdgesOnViewport = $.hideEdgesOnViewport, B.textureOnViewport = $.textureOnViewport, B.wheelSensitivity = $.wheelSensitivity, B.motionBlur = $.motionBlur, B.multiClickDebounceTime = $.multiClickDebounceTime, B; - } - } -}); -t5.$id = t5.getElementById; -[uce, dce, M$, g6, WE, gce, b6, UE, wce, vv, nw].forEach(function(a) { - on(t5, a); -}); -var yce = { - fit: !0, - // whether to fit the viewport to the graph - directed: !1, - // whether the tree is directed downwards (or edges can point in any direction if false) - padding: 30, - // padding on fit - circle: !1, - // put depths in concentric circles if true, put depths top down if false - grid: !1, - // whether to create an even grid into which the DAG is placed (circle:false only) - spacingFactor: 1.75, - // positive spacing factor, larger => more space between nodes (N.B. n/a if causes overlap) - boundingBox: void 0, - // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - avoidOverlap: !0, - // prevents node overlap, may overflow boundingBox if not enough space - nodeDimensionsIncludeLabels: !1, - // Excludes the label when calculating node bounding boxes for the layout algorithm - roots: void 0, - // the roots of the trees - depthSort: void 0, - // a sorting function to order nodes at equal depth. e.g. function(a, b){ return a.data('weight') - b.data('weight') } - animate: !1, - // whether to transition the node positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: void 0, - // easing of animation if enabled, - animateFilter: function(r, u) { - return !0; - }, - // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: void 0, - // callback on layoutready - stop: void 0, - // callback on layoutstop - transform: function(r, u) { - return u; - } - // transform a given node position. Useful for changing flow direction in discrete layouts -}, kce = { - maximal: !1, - // whether to shift nodes down their natural BFS depths in order to avoid upwards edges (DAGS only); setting acyclic to true sets maximal to true also - acyclic: !1 - // whether the tree is acyclic and thus a node could be shifted (due to the maximal option) multiple times without causing an infinite loop; setting to true sets maximal to true also; if you are uncertain whether a tree is acyclic, set to false to avoid potential infinite loops -}, Eb = function(r) { - return r.scratch("breadthfirst"); -}, cG = function(r, u) { - return r.scratch("breadthfirst", u); -}; -function O$(a) { - this.options = on({}, yce, kce, a); -} -O$.prototype.run = function() { - var a = this.options, r = a, u = a.cy, c = r.eles, d = c.nodes().filter(function(mt) { - return !mt.isParent(); - }), g = c, b = r.directed, y = r.acyclic || r.maximal || r.maximalAdjustments > 0, k = Ms(r.boundingBox ? r.boundingBox : { - x1: 0, - y1: 0, - w: u.width(), - h: u.height() - }), E; - if (tu(r.roots)) - E = r.roots; - else if (Qr(r.roots)) { - for (var C = [], T = 0; T < r.roots.length; T++) { - var P = r.roots[T], N = u.getElementById(P); - C.push(N); - } - E = u.collection(C); - } else if (qt(r.roots)) - E = u.$(r.roots); - else if (b) - E = d.roots(); - else { - var D = c.components(); - E = u.collection(); - for (var H = function(ht) { - var Rt = D[ht], Lt = Rt.maxDegree(!1), yt = Rt.filter(function(Mt) { - return Mt.degree(!1) === Lt; - }); - E = E.add(yt); - }, _ = 0; _ < D.length; _++) - H(_); - } - var B = [], $ = {}, F = function(ht, Rt) { - B[Rt] == null && (B[Rt] = []); - var Lt = B[Rt].length; - B[Rt].push(ht), cG(ht, { - index: Lt, - depth: Rt - }); - }, W = function(ht, Rt) { - var Lt = Eb(ht), yt = Lt.depth, Mt = Lt.index; - B[yt][Mt] = null, F(ht, Rt); - }; - g.bfs({ - roots: E, - directed: r.directed, - visit: function(ht, Rt, Lt, yt, Mt) { - var In = ht[0], Pn = In.id(); - F(In, Mt), $[Pn] = !0; - } - }); - for (var Q = [], X = 0; X < d.length; X++) { - var K = d[X]; - $[K.id()] || Q.push(K); - } - var ee = function(ht) { - for (var Rt = B[ht], Lt = 0; Lt < Rt.length; Lt++) { - var yt = Rt[Lt]; - if (yt == null) { - Rt.splice(Lt, 1), Lt--; - continue; - } - cG(yt, { - depth: ht, - index: Lt - }); - } - }, Z = function() { - for (var ht = 0; ht < B.length; ht++) - ee(ht); - }, ae = function(ht, Rt) { - for (var Lt = Eb(ht), yt = ht.incomers().filter(function(ne) { - return ne.isNode() && c.has(ne); - }), Mt = -1, In = ht.id(), Pn = 0; Pn < yt.length; Pn++) { - var Vt = yt[Pn], ar = Eb(Vt); - Mt = Math.max(Mt, ar.depth); - } - if (Lt.depth <= Mt) { - if (!r.acyclic && Rt[In]) - return null; - var Qe = Mt + 1; - return W(ht, Qe), Rt[In] = Qe, !0; - } - return !1; - }; - if (b && y) { - var oe = [], J = {}, fe = function(ht) { - return oe.push(ht); - }, se = function() { - return oe.shift(); - }; - for (d.forEach(function(mt) { - return oe.push(mt); - }); oe.length > 0; ) { - var pe = se(), he = ae(pe, J); - if (he) - pe.outgoers().filter(function(mt) { - return mt.isNode() && c.has(mt); - }).forEach(fe); - else if (he === null) { - Sr("Detected double maximal shift for node `" + pe.id() + "`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs."); - break; - } - } - } - Z(); - var de = 0; - if (r.avoidOverlap) - for (var ke = 0; ke < d.length; ke++) { - var Pe = d[ke], Ae = Pe.layoutDimensions(r), Te = Ae.w, Oe = Ae.h; - de = Math.max(de, Te, Oe); - } - var ze = {}, We = function(ht) { - if (ze[ht.id()]) - return ze[ht.id()]; - for (var Rt = Eb(ht).depth, Lt = ht.neighborhood(), yt = 0, Mt = 0, In = 0; In < Lt.length; In++) { - var Pn = Lt[In]; - if (!(Pn.isEdge() || Pn.isParent() || !d.has(Pn))) { - var Vt = Eb(Pn); - if (Vt != null) { - var ar = Vt.index, Qe = Vt.depth; - if (!(ar == null || Qe == null)) { - var ne = B[Qe].length; - Qe < Rt && (yt += ar / ne, Mt++); - } - } - } - } - return Mt = Math.max(1, Mt), yt = yt / Mt, Mt === 0 && (yt = 0), ze[ht.id()] = yt, yt; - }, $e = function(ht, Rt) { - var Lt = We(ht), yt = We(Rt), Mt = Lt - yt; - return Mt === 0 ? $G(ht.id(), Rt.id()) : Mt; - }; - r.depthSort !== void 0 && ($e = r.depthSort); - for (var Ge = 0; Ge < B.length; Ge++) - B[Ge].sort($e), ee(Ge); - for (var me = [], Ve = 0; Ve < Q.length; Ve++) - me.push(Q[Ve]); - B.unshift(me), Z(); - for (var Ke = 0, at = 0; at < B.length; at++) - Ke = Math.max(B[at].length, Ke); - var ft = { - x: k.x1 + k.w / 2, - y: k.x1 + k.h / 2 - }, en = B.reduce(function(mt, ht) { - return Math.max(mt, ht.length); - }, 0), gn = function(ht) { - var Rt = Eb(ht), Lt = Rt.depth, yt = Rt.index, Mt = B[Lt].length, In = Math.max(k.w / ((r.grid ? en : Mt) + 1), de), Pn = Math.max(k.h / (B.length + 1), de), Vt = Math.min(k.w / 2 / B.length, k.h / 2 / B.length); - if (Vt = Math.max(Vt, de), r.circle) { - var Qe = Vt * Lt + Vt - (B.length > 0 && B[0].length <= 3 ? Vt / 2 : 0), ne = 2 * Math.PI / B[Lt].length * yt; - return Lt === 0 && B[0].length === 1 && (Qe = 1), { - x: ft.x + Qe * Math.cos(ne), - y: ft.y + Qe * Math.sin(ne) - }; - } else { - var ar = { - x: ft.x + (yt + 1 - (Mt + 1) / 2) * In, - y: (Lt + 1) * Pn - }; - return ar; - } - }; - return c.nodes().layoutPositions(this, r, gn), this; -}; -var Ece = { - fit: !0, - // whether to fit the viewport to the graph - padding: 30, - // the padding on fit - boundingBox: void 0, - // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - avoidOverlap: !0, - // prevents node overlap, may overflow boundingBox and radius if not enough space - nodeDimensionsIncludeLabels: !1, - // Excludes the label when calculating node bounding boxes for the layout algorithm - spacingFactor: void 0, - // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up - radius: void 0, - // the radius of the circle - startAngle: 3 / 2 * Math.PI, - // where nodes start in radians - sweep: void 0, - // how many radians should be between the first and last node (defaults to full circle) - clockwise: !0, - // whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false) - sort: void 0, - // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') } - animate: !1, - // whether to transition the node positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: void 0, - // easing of animation if enabled - animateFilter: function(r, u) { - return !0; - }, - // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: void 0, - // callback on layoutready - stop: void 0, - // callback on layoutstop - transform: function(r, u) { - return u; - } - // transform a given node position. Useful for changing flow direction in discrete layouts -}; -function A$(a) { - this.options = on({}, Ece, a); -} -A$.prototype.run = function() { - var a = this.options, r = a, u = a.cy, c = r.eles, d = r.counterclockwise !== void 0 ? !r.counterclockwise : r.clockwise, g = c.nodes().not(":parent"); - r.sort && (g = g.sort(r.sort)); - for (var b = Ms(r.boundingBox ? r.boundingBox : { - x1: 0, - y1: 0, - w: u.width(), - h: u.height() - }), y = { - x: b.x1 + b.w / 2, - y: b.y1 + b.h / 2 - }, k = r.sweep === void 0 ? 2 * Math.PI - 2 * Math.PI / g.length : r.sweep, E = k / Math.max(1, g.length - 1), C, T = 0, P = 0; P < g.length; P++) { - var N = g[P], D = N.layoutDimensions(r), H = D.w, _ = D.h; - T = Math.max(T, H, _); - } - if (kt(r.radius) ? C = r.radius : g.length <= 1 ? C = 0 : C = Math.min(b.h, b.w) / 2 - T, g.length > 1 && r.avoidOverlap) { - T *= 1.75; - var B = Math.cos(E) - Math.cos(0), $ = Math.sin(E) - Math.sin(0), F = Math.sqrt(T * T / (B * B + $ * $)); - C = Math.max(F, C); - } - var W = function(X, K) { - var ee = r.startAngle + K * E * (d ? 1 : -1), Z = C * Math.cos(ee), ae = C * Math.sin(ee), oe = { - x: y.x + Z, - y: y.y + ae - }; - return oe; - }; - return c.nodes().layoutPositions(this, r, W), this; -}; -var Sce = { - fit: !0, - // whether to fit the viewport to the graph - padding: 30, - // the padding on fit - startAngle: 3 / 2 * Math.PI, - // where nodes start in radians - sweep: void 0, - // how many radians should be between the first and last node (defaults to full circle) - clockwise: !0, - // whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false) - equidistant: !1, - // whether levels have an equal radial distance betwen them, may cause bounding box overflow - minNodeSpacing: 10, - // min spacing between outside of nodes (used for radius adjustment) - boundingBox: void 0, - // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - avoidOverlap: !0, - // prevents node overlap, may overflow boundingBox if not enough space - nodeDimensionsIncludeLabels: !1, - // Excludes the label when calculating node bounding boxes for the layout algorithm - height: void 0, - // height of layout area (overrides container height) - width: void 0, - // width of layout area (overrides container width) - spacingFactor: void 0, - // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up - concentric: function(r) { - return r.degree(); - }, - levelWidth: function(r) { - return r.maxDegree() / 4; - }, - animate: !1, - // whether to transition the node positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: void 0, - // easing of animation if enabled - animateFilter: function(r, u) { - return !0; - }, - // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: void 0, - // callback on layoutready - stop: void 0, - // callback on layoutstop - transform: function(r, u) { - return u; - } - // transform a given node position. Useful for changing flow direction in discrete layouts -}; -function R$(a) { - this.options = on({}, Sce, a); -} -R$.prototype.run = function() { - for (var a = this.options, r = a, u = r.counterclockwise !== void 0 ? !r.counterclockwise : r.clockwise, c = a.cy, d = r.eles, g = d.nodes().not(":parent"), b = Ms(r.boundingBox ? r.boundingBox : { - x1: 0, - y1: 0, - w: c.width(), - h: c.height() - }), y = { - x: b.x1 + b.w / 2, - y: b.y1 + b.h / 2 - }, k = [], E = 0, C = 0; C < g.length; C++) { - var T = g[C], P = void 0; - P = r.concentric(T), k.push({ - value: P, - node: T - }), T._private.scratch.concentric = P; - } - g.updateStyle(); - for (var N = 0; N < g.length; N++) { - var D = g[N], H = D.layoutDimensions(r); - E = Math.max(E, H.w, H.h); - } - k.sort(function(mt, ht) { - return ht.value - mt.value; - }); - for (var _ = r.levelWidth(g), B = [[]], $ = B[0], F = 0; F < k.length; F++) { - var W = k[F]; - if ($.length > 0) { - var Q = Math.abs($[0].value - W.value); - Q >= _ && ($ = [], B.push($)); - } - $.push(W); - } - var X = E + r.minNodeSpacing; - if (!r.avoidOverlap) { - var K = B.length > 0 && B[0].length > 1, ee = Math.min(b.w, b.h) / 2 - X, Z = ee / (B.length + K ? 1 : 0); - X = Math.min(X, Z); - } - for (var ae = 0, oe = 0; oe < B.length; oe++) { - var J = B[oe], fe = r.sweep === void 0 ? 2 * Math.PI - 2 * Math.PI / J.length : r.sweep, se = J.dTheta = fe / Math.max(1, J.length - 1); - if (J.length > 1 && r.avoidOverlap) { - var pe = Math.cos(se) - Math.cos(0), he = Math.sin(se) - Math.sin(0), de = Math.sqrt(X * X / (pe * pe + he * he)); - ae = Math.max(de, ae); - } - J.r = ae, ae += X; - } - if (r.equidistant) { - for (var ke = 0, Pe = 0, Ae = 0; Ae < B.length; Ae++) { - var Te = B[Ae], Oe = Te.r - Pe; - ke = Math.max(ke, Oe); - } - Pe = 0; - for (var ze = 0; ze < B.length; ze++) { - var We = B[ze]; - ze === 0 && (Pe = We.r), We.r = Pe, Pe += ke; - } - } - for (var $e = {}, Ge = 0; Ge < B.length; Ge++) - for (var me = B[Ge], Ve = me.dTheta, Ke = me.r, at = 0; at < me.length; at++) { - var ft = me[at], en = r.startAngle + (u ? 1 : -1) * Ve * at, gn = { - x: y.x + Ke * Math.cos(en), - y: y.y + Ke * Math.sin(en) - }; - $e[ft.node.id()] = gn; - } - return d.nodes().layoutPositions(this, r, function(mt) { - var ht = mt.id(); - return $e[ht]; - }), this; -}; -var i6, Cce = { - // Called on `layoutready` - ready: function() { - }, - // Called on `layoutstop` - stop: function() { - }, - // Whether to animate while running the layout - // true : Animate continuously as the layout is running - // false : Just show the end result - // 'end' : Animate with the end result, from the initial positions to the end positions - animate: !0, - // Easing of the animation for animate:'end' - animationEasing: void 0, - // The duration of the animation for animate:'end' - animationDuration: void 0, - // A function that determines whether the node should be animated - // All nodes animated by default on animate enabled - // Non-animated nodes are positioned immediately when the layout starts - animateFilter: function(r, u) { - return !0; - }, - // The layout animates only after this many milliseconds for animate:true - // (prevents flashing on fast runs) - animationThreshold: 250, - // Number of iterations between consecutive screen positions update - refresh: 20, - // Whether to fit the network view after when done - fit: !0, - // Padding on fit - padding: 30, - // Constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - boundingBox: void 0, - // Excludes the label when calculating node bounding boxes for the layout algorithm - nodeDimensionsIncludeLabels: !1, - // Randomize the initial positions of the nodes (true) or use existing positions (false) - randomize: !1, - // Extra spacing between components in non-compound graphs - componentSpacing: 40, - // Node repulsion (non overlapping) multiplier - nodeRepulsion: function(r) { - return 2048; - }, - // Node repulsion (overlapping) multiplier - nodeOverlap: 4, - // Ideal edge (non nested) length - idealEdgeLength: function(r) { - return 32; - }, - // Divisor to compute edge forces - edgeElasticity: function(r) { - return 32; - }, - // Nesting factor (multiplier) to compute ideal edge length for nested edges - nestingFactor: 1.2, - // Gravity force (constant) - gravity: 1, - // Maximum number of iterations to perform - numIter: 1e3, - // Initial temperature (maximum node displacement) - initialTemp: 1e3, - // Cooling factor (how the temperature is reduced between consecutive iterations - coolingFactor: 0.99, - // Lower temperature threshold (below this point the layout will end) - minTemp: 1 -}; -function k5(a) { - this.options = on({}, Cce, a), this.options.layout = this; - var r = this.options.eles.nodes(), u = this.options.eles.edges(), c = u.filter(function(d) { - var g = d.source().data("id"), b = d.target().data("id"), y = r.some(function(E) { - return E.data("id") === g; - }), k = r.some(function(E) { - return E.data("id") === b; - }); - return !y || !k; - }); - this.options.eles = this.options.eles.not(c); -} -k5.prototype.run = function() { - var a = this.options, r = a.cy, u = this; - u.stopped = !1, (a.animate === !0 || a.animate === !1) && u.emit({ - type: "layoutstart", - layout: u - }), a.debug === !0 ? i6 = !0 : i6 = !1; - var c = xce(r, u, a); - i6 && Pce(c), a.randomize && Dce(c); - var d = kf(), g = function() { - jce(c, r, a), a.fit === !0 && r.fit(a.padding); - }, b = function(P) { - return !(u.stopped || P >= a.numIter || (Nce(c, a), c.temperature = c.temperature * a.coolingFactor, c.temperature < a.minTemp)); - }, y = function() { - if (a.animate === !0 || a.animate === !1) - g(), u.one("layoutstop", a.stop), u.emit({ - type: "layoutstop", - layout: u - }); - else { - var P = a.eles.nodes(), N = B$(c, a, P); - P.layoutPositions(u, a, N); - } - }, k = 0, E = !0; - if (a.animate === !0) { - var C = function T() { - for (var P = 0; E && P < a.refresh; ) - E = b(k), k++, P++; - if (!E) - fG(c, a), y(); - else { - var N = kf(); - N - d >= a.animationThreshold && g(), XE(T); - } - }; - C(); - } else { - for (; E; ) - E = b(k), k++; - fG(c, a), y(); - } - return this; -}; -k5.prototype.stop = function() { - return this.stopped = !0, this.thread && this.thread.stop(), this.emit("layoutstop"), this; -}; -k5.prototype.destroy = function() { - return this.thread && this.thread.stop(), this; -}; -var xce = function(r, u, c) { - for (var d = c.eles.edges(), g = c.eles.nodes(), b = Ms(c.boundingBox ? c.boundingBox : { - x1: 0, - y1: 0, - w: r.width(), - h: r.height() - }), y = { - isCompound: r.hasCompoundNodes(), - layoutNodes: [], - idToIndex: {}, - nodeSize: g.size(), - graphSet: [], - indexToGraph: [], - layoutEdges: [], - edgeSize: d.size(), - temperature: c.initialTemp, - clientWidth: b.w, - clientHeight: b.h, - boundingBox: b - }, k = c.eles.components(), E = {}, C = 0; C < k.length; C++) - for (var T = k[C], P = 0; P < T.length; P++) { - var N = T[P]; - E[N.id()] = C; - } - for (var C = 0; C < y.nodeSize; C++) { - var D = g[C], H = D.layoutDimensions(c), _ = {}; - _.isLocked = D.locked(), _.id = D.data("id"), _.parentId = D.data("parent"), _.cmptId = E[D.id()], _.children = [], _.positionX = D.position("x"), _.positionY = D.position("y"), _.offsetX = 0, _.offsetY = 0, _.height = H.w, _.width = H.h, _.maxX = _.positionX + _.width / 2, _.minX = _.positionX - _.width / 2, _.maxY = _.positionY + _.height / 2, _.minY = _.positionY - _.height / 2, _.padLeft = parseFloat(D.style("padding")), _.padRight = parseFloat(D.style("padding")), _.padTop = parseFloat(D.style("padding")), _.padBottom = parseFloat(D.style("padding")), _.nodeRepulsion = zi(c.nodeRepulsion) ? c.nodeRepulsion(D) : c.nodeRepulsion, y.layoutNodes.push(_), y.idToIndex[_.id] = C; - } - for (var B = [], $ = 0, F = -1, W = [], C = 0; C < y.nodeSize; C++) { - var D = y.layoutNodes[C], Q = D.parentId; - Q != null ? y.layoutNodes[y.idToIndex[Q]].children.push(D.id) : (B[++F] = D.id, W.push(D.id)); - } - for (y.graphSet.push(W); $ <= F; ) { - var X = B[$++], K = y.idToIndex[X], N = y.layoutNodes[K], ee = N.children; - if (ee.length > 0) { - y.graphSet.push(ee); - for (var C = 0; C < ee.length; C++) - B[++F] = ee[C]; - } - } - for (var C = 0; C < y.graphSet.length; C++) - for (var Z = y.graphSet[C], P = 0; P < Z.length; P++) { - var ae = y.idToIndex[Z[P]]; - y.indexToGraph[ae] = C; - } - for (var C = 0; C < y.edgeSize; C++) { - var oe = d[C], J = {}; - J.id = oe.data("id"), J.sourceId = oe.data("source"), J.targetId = oe.data("target"); - var fe = zi(c.idealEdgeLength) ? c.idealEdgeLength(oe) : c.idealEdgeLength, se = zi(c.edgeElasticity) ? c.edgeElasticity(oe) : c.edgeElasticity, pe = y.idToIndex[J.sourceId], he = y.idToIndex[J.targetId], de = y.indexToGraph[pe], ke = y.indexToGraph[he]; - if (de != ke) { - for (var Pe = Tce(J.sourceId, J.targetId, y), Ae = y.graphSet[Pe], Te = 0, _ = y.layoutNodes[pe]; Ae.indexOf(_.id) === -1; ) - _ = y.layoutNodes[y.idToIndex[_.parentId]], Te++; - for (_ = y.layoutNodes[he]; Ae.indexOf(_.id) === -1; ) - _ = y.layoutNodes[y.idToIndex[_.parentId]], Te++; - fe *= Te * c.nestingFactor; - } - J.idealLength = fe, J.elasticity = se, y.layoutEdges.push(J); - } - return y; -}, Tce = function(r, u, c) { - var d = Lce(r, u, 0, c); - return 2 > d.count ? 0 : d.graph; -}, Lce = function a(r, u, c, d) { - var g = d.graphSet[c]; - if (-1 < g.indexOf(r) && -1 < g.indexOf(u)) - return { - count: 2, - graph: c - }; - for (var b = 0, y = 0; y < g.length; y++) { - var k = g[y], E = d.idToIndex[k], C = d.layoutNodes[E].children; - if (C.length !== 0) { - var T = d.indexToGraph[d.idToIndex[C[0]]], P = a(r, u, T, d); - if (P.count !== 0) - if (P.count === 1) { - if (b++, b === 2) - break; - } else - return P; - } - } - return { - count: b, - graph: c - }; -}, Pce, Dce = function(r, u) { - for (var c = r.clientWidth, d = r.clientHeight, g = 0; g < r.nodeSize; g++) { - var b = r.layoutNodes[g]; - b.children.length === 0 && !b.isLocked && (b.positionX = Math.random() * c, b.positionY = Math.random() * d); - } -}, B$ = function(r, u, c) { - var d = r.boundingBox, g = { - x1: 1 / 0, - x2: -1 / 0, - y1: 1 / 0, - y2: -1 / 0 - }; - return u.boundingBox && (c.forEach(function(b) { - var y = r.layoutNodes[r.idToIndex[b.data("id")]]; - g.x1 = Math.min(g.x1, y.positionX), g.x2 = Math.max(g.x2, y.positionX), g.y1 = Math.min(g.y1, y.positionY), g.y2 = Math.max(g.y2, y.positionY); - }), g.w = g.x2 - g.x1, g.h = g.y2 - g.y1), function(b, y) { - var k = r.layoutNodes[r.idToIndex[b.data("id")]]; - if (u.boundingBox) { - var E = (k.positionX - g.x1) / g.w, C = (k.positionY - g.y1) / g.h; - return { - x: d.x1 + E * d.w, - y: d.y1 + C * d.h - }; - } else - return { - x: k.positionX, - y: k.positionY - }; - }; -}, jce = function(r, u, c) { - var d = c.layout, g = c.eles.nodes(), b = B$(r, c, g); - g.positions(b), r.ready !== !0 && (r.ready = !0, d.one("layoutready", c.ready), d.emit({ - type: "layoutready", - layout: this - })); -}, Nce = function(r, u, c) { - Ice(r, u), Ace(r), Rce(r, u), Bce(r), zce(r); -}, Ice = function(r, u) { - for (var c = 0; c < r.graphSet.length; c++) - for (var d = r.graphSet[c], g = d.length, b = 0; b < g; b++) - for (var y = r.layoutNodes[r.idToIndex[d[b]]], k = b + 1; k < g; k++) { - var E = r.layoutNodes[r.idToIndex[d[k]]]; - Mce(y, E, r, u); - } -}, lG = function(r) { - return -r + 2 * r * Math.random(); -}, Mce = function(r, u, c, d) { - var g = r.cmptId, b = u.cmptId; - if (!(g !== b && !c.isCompound)) { - var y = u.positionX - r.positionX, k = u.positionY - r.positionY, E = 1; - y === 0 && k === 0 && (y = lG(E), k = lG(E)); - var C = Oce(r, u, y, k); - if (C > 0) - var T = d.nodeOverlap * C, P = Math.sqrt(y * y + k * k), N = T * y / P, D = T * k / P; - else - var H = n5(r, y, k), _ = n5(u, -1 * y, -1 * k), B = _.x - H.x, $ = _.y - H.y, F = B * B + $ * $, P = Math.sqrt(F), T = (r.nodeRepulsion + u.nodeRepulsion) / F, N = T * B / P, D = T * $ / P; - r.isLocked || (r.offsetX -= N, r.offsetY -= D), u.isLocked || (u.offsetX += N, u.offsetY += D); - } -}, Oce = function(r, u, c, d) { - if (c > 0) - var g = r.maxX - u.minX; - else - var g = u.maxX - r.minX; - if (d > 0) - var b = r.maxY - u.minY; - else - var b = u.maxY - r.minY; - return g >= 0 && b >= 0 ? Math.sqrt(g * g + b * b) : 0; -}, n5 = function(r, u, c) { - var d = r.positionX, g = r.positionY, b = r.height || 1, y = r.width || 1, k = c / u, E = b / y, C = {}; - return u === 0 && 0 < c || u === 0 && 0 > c ? (C.x = d, C.y = g + b / 2, C) : 0 < u && -1 * E <= k && k <= E ? (C.x = d + y / 2, C.y = g + y * c / 2 / u, C) : 0 > u && -1 * E <= k && k <= E ? (C.x = d - y / 2, C.y = g - y * c / 2 / u, C) : 0 < c && (k <= -1 * E || k >= E) ? (C.x = d + b * u / 2 / c, C.y = g + b / 2, C) : (0 > c && (k <= -1 * E || k >= E) && (C.x = d - b * u / 2 / c, C.y = g - b / 2), C); -}, Ace = function(r, u) { - for (var c = 0; c < r.edgeSize; c++) { - var d = r.layoutEdges[c], g = r.idToIndex[d.sourceId], b = r.layoutNodes[g], y = r.idToIndex[d.targetId], k = r.layoutNodes[y], E = k.positionX - b.positionX, C = k.positionY - b.positionY; - if (!(E === 0 && C === 0)) { - var T = n5(b, E, C), P = n5(k, -1 * E, -1 * C), N = P.x - T.x, D = P.y - T.y, H = Math.sqrt(N * N + D * D), _ = Math.pow(d.idealLength - H, 2) / d.elasticity; - if (H !== 0) - var B = _ * N / H, $ = _ * D / H; - else - var B = 0, $ = 0; - b.isLocked || (b.offsetX += B, b.offsetY += $), k.isLocked || (k.offsetX -= B, k.offsetY -= $); - } - } -}, Rce = function(r, u) { - if (u.gravity !== 0) - for (var c = 1, d = 0; d < r.graphSet.length; d++) { - var g = r.graphSet[d], b = g.length; - if (d === 0) - var y = r.clientHeight / 2, k = r.clientWidth / 2; - else - var E = r.layoutNodes[r.idToIndex[g[0]]], C = r.layoutNodes[r.idToIndex[E.parentId]], y = C.positionX, k = C.positionY; - for (var T = 0; T < b; T++) { - var P = r.layoutNodes[r.idToIndex[g[T]]]; - if (!P.isLocked) { - var N = y - P.positionX, D = k - P.positionY, H = Math.sqrt(N * N + D * D); - if (H > c) { - var _ = u.gravity * N / H, B = u.gravity * D / H; - P.offsetX += _, P.offsetY += B; - } - } - } - } -}, Bce = function(r, u) { - var c = [], d = 0, g = -1; - for (c.push.apply(c, r.graphSet[0]), g += r.graphSet[0].length; d <= g; ) { - var b = c[d++], y = r.idToIndex[b], k = r.layoutNodes[y], E = k.children; - if (0 < E.length && !k.isLocked) { - for (var C = k.offsetX, T = k.offsetY, P = 0; P < E.length; P++) { - var N = r.layoutNodes[r.idToIndex[E[P]]]; - N.offsetX += C, N.offsetY += T, c[++g] = E[P]; - } - k.offsetX = 0, k.offsetY = 0; - } - } -}, zce = function(r, u) { - for (var c = 0; c < r.nodeSize; c++) { - var d = r.layoutNodes[c]; - 0 < d.children.length && (d.maxX = void 0, d.minX = void 0, d.maxY = void 0, d.minY = void 0); - } - for (var c = 0; c < r.nodeSize; c++) { - var d = r.layoutNodes[c]; - if (!(0 < d.children.length || d.isLocked)) { - var g = Hce(d.offsetX, d.offsetY, r.temperature); - d.positionX += g.x, d.positionY += g.y, d.offsetX = 0, d.offsetY = 0, d.minX = d.positionX - d.width, d.maxX = d.positionX + d.width, d.minY = d.positionY - d.height, d.maxY = d.positionY + d.height, _ce(d, r); - } - } - for (var c = 0; c < r.nodeSize; c++) { - var d = r.layoutNodes[c]; - 0 < d.children.length && !d.isLocked && (d.positionX = (d.maxX + d.minX) / 2, d.positionY = (d.maxY + d.minY) / 2, d.width = d.maxX - d.minX, d.height = d.maxY - d.minY); - } -}, Hce = function(r, u, c) { - var d = Math.sqrt(r * r + u * u); - if (d > c) - var g = { - x: c * r / d, - y: c * u / d - }; - else - var g = { - x: r, - y: u - }; - return g; -}, _ce = function a(r, u) { - var c = r.parentId; - if (c != null) { - var d = u.layoutNodes[u.idToIndex[c]], g = !1; - if ((d.maxX == null || r.maxX + d.padRight > d.maxX) && (d.maxX = r.maxX + d.padRight, g = !0), (d.minX == null || r.minX - d.padLeft < d.minX) && (d.minX = r.minX - d.padLeft, g = !0), (d.maxY == null || r.maxY + d.padBottom > d.maxY) && (d.maxY = r.maxY + d.padBottom, g = !0), (d.minY == null || r.minY - d.padTop < d.minY) && (d.minY = r.minY - d.padTop, g = !0), g) - return a(d, u); - } -}, fG = function(r, u) { - for (var c = r.layoutNodes, d = [], g = 0; g < c.length; g++) { - var b = c[g], y = b.cmptId, k = d[y] = d[y] || []; - k.push(b); - } - for (var E = 0, g = 0; g < d.length; g++) { - var C = d[g]; - if (C) { - C.x1 = 1 / 0, C.x2 = -1 / 0, C.y1 = 1 / 0, C.y2 = -1 / 0; - for (var T = 0; T < C.length; T++) { - var P = C[T]; - C.x1 = Math.min(C.x1, P.positionX - P.width / 2), C.x2 = Math.max(C.x2, P.positionX + P.width / 2), C.y1 = Math.min(C.y1, P.positionY - P.height / 2), C.y2 = Math.max(C.y2, P.positionY + P.height / 2); - } - C.w = C.x2 - C.x1, C.h = C.y2 - C.y1, E += C.w * C.h; - } - } - d.sort(function($, F) { - return F.w * F.h - $.w * $.h; - }); - for (var N = 0, D = 0, H = 0, _ = 0, B = Math.sqrt(E) * r.clientWidth / r.clientHeight, g = 0; g < d.length; g++) { - var C = d[g]; - if (C) { - for (var T = 0; T < C.length; T++) { - var P = C[T]; - P.isLocked || (P.positionX += N - C.x1, P.positionY += D - C.y1); - } - N += C.w + u.componentSpacing, H += C.w + u.componentSpacing, _ = Math.max(_, C.h), H > B && (D += _ + u.componentSpacing, N = 0, H = 0, _ = 0); - } - } -}, Gce = { - fit: !0, - // whether to fit the viewport to the graph - padding: 30, - // padding used on fit - boundingBox: void 0, - // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - avoidOverlap: !0, - // prevents node overlap, may overflow boundingBox if not enough space - avoidOverlapPadding: 10, - // extra spacing around nodes when avoidOverlap: true - nodeDimensionsIncludeLabels: !1, - // Excludes the label when calculating node bounding boxes for the layout algorithm - spacingFactor: void 0, - // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up - condense: !1, - // uses all available space on false, uses minimal space on true - rows: void 0, - // force num of rows in the grid - cols: void 0, - // force num of columns in the grid - position: function(r) { - }, - // returns { row, col } for element - sort: void 0, - // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') } - animate: !1, - // whether to transition the node positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: void 0, - // easing of animation if enabled - animateFilter: function(r, u) { - return !0; - }, - // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: void 0, - // callback on layoutready - stop: void 0, - // callback on layoutstop - transform: function(r, u) { - return u; - } - // transform a given node position. Useful for changing flow direction in discrete layouts -}; -function z$(a) { - this.options = on({}, Gce, a); -} -z$.prototype.run = function() { - var a = this.options, r = a, u = a.cy, c = r.eles, d = c.nodes().not(":parent"); - r.sort && (d = d.sort(r.sort)); - var g = Ms(r.boundingBox ? r.boundingBox : { - x1: 0, - y1: 0, - w: u.width(), - h: u.height() - }); - if (g.h === 0 || g.w === 0) - c.nodes().layoutPositions(this, r, function(ze) { - return { - x: g.x1, - y: g.y1 - }; - }); - else { - var b = d.size(), y = Math.sqrt(b * g.h / g.w), k = Math.round(y), E = Math.round(g.w / g.h * y), C = function(We) { - if (We == null) - return Math.min(k, E); - var $e = Math.min(k, E); - $e == k ? k = We : E = We; - }, T = function(We) { - if (We == null) - return Math.max(k, E); - var $e = Math.max(k, E); - $e == k ? k = We : E = We; - }, P = r.rows, N = r.cols != null ? r.cols : r.columns; - if (P != null && N != null) - k = P, E = N; - else if (P != null && N == null) - k = P, E = Math.ceil(b / k); - else if (P == null && N != null) - E = N, k = Math.ceil(b / E); - else if (E * k > b) { - var D = C(), H = T(); - (D - 1) * H >= b ? C(D - 1) : (H - 1) * D >= b && T(H - 1); - } else - for (; E * k < b; ) { - var _ = C(), B = T(); - (B + 1) * _ >= b ? T(B + 1) : C(_ + 1); - } - var $ = g.w / E, F = g.h / k; - if (r.condense && ($ = 0, F = 0), r.avoidOverlap) - for (var W = 0; W < d.length; W++) { - var Q = d[W], X = Q._private.position; - (X.x == null || X.y == null) && (X.x = 0, X.y = 0); - var K = Q.layoutDimensions(r), ee = r.avoidOverlapPadding, Z = K.w + ee, ae = K.h + ee; - $ = Math.max($, Z), F = Math.max(F, ae); - } - for (var oe = {}, J = function(We, $e) { - return !!oe["c-" + We + "-" + $e]; - }, fe = function(We, $e) { - oe["c-" + We + "-" + $e] = !0; - }, se = 0, pe = 0, he = function() { - pe++, pe >= E && (pe = 0, se++); - }, de = {}, ke = 0; ke < d.length; ke++) { - var Pe = d[ke], Ae = r.position(Pe); - if (Ae && (Ae.row !== void 0 || Ae.col !== void 0)) { - var Te = { - row: Ae.row, - col: Ae.col - }; - if (Te.col === void 0) - for (Te.col = 0; J(Te.row, Te.col); ) - Te.col++; - else if (Te.row === void 0) - for (Te.row = 0; J(Te.row, Te.col); ) - Te.row++; - de[Pe.id()] = Te, fe(Te.row, Te.col); - } - } - var Oe = function(We, $e) { - var Ge, me; - if (We.locked() || We.isParent()) - return !1; - var Ve = de[We.id()]; - if (Ve) - Ge = Ve.col * $ + $ / 2 + g.x1, me = Ve.row * F + F / 2 + g.y1; - else { - for (; J(se, pe); ) - he(); - Ge = pe * $ + $ / 2 + g.x1, me = se * F + F / 2 + g.y1, fe(se, pe), he(); - } - return { - x: Ge, - y: me - }; - }; - d.layoutPositions(this, r, Oe); - } - return this; -}; -var $ce = { - ready: function() { - }, - // on layoutready - stop: function() { - } - // on layoutstop -}; -function $6(a) { - this.options = on({}, $ce, a); -} -$6.prototype.run = function() { - var a = this.options, r = a.eles, u = this; - return a.cy, u.emit("layoutstart"), r.nodes().positions(function() { - return { - x: 0, - y: 0 - }; - }), u.one("layoutready", a.ready), u.emit("layoutready"), u.one("layoutstop", a.stop), u.emit("layoutstop"), this; -}; -$6.prototype.stop = function() { - return this; -}; -var Yce = { - positions: void 0, - // map of (node id) => (position obj); or function(node){ return somPos; } - zoom: void 0, - // the zoom level to set (prob want fit = false if set) - pan: void 0, - // the pan level to set (prob want fit = false if set) - fit: !0, - // whether to fit to viewport - padding: 30, - // padding on fit - spacingFactor: void 0, - // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up - animate: !1, - // whether to transition the node positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: void 0, - // easing of animation if enabled - animateFilter: function(r, u) { - return !0; - }, - // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: void 0, - // callback on layoutready - stop: void 0, - // callback on layoutstop - transform: function(r, u) { - return u; - } - // transform a given node position. Useful for changing flow direction in discrete layouts -}; -function H$(a) { - this.options = on({}, Yce, a); -} -H$.prototype.run = function() { - var a = this.options, r = a.eles, u = r.nodes(), c = zi(a.positions); - function d(g) { - if (a.positions == null) - return tse(g.position()); - if (c) - return a.positions(g); - var b = a.positions[g._private.data.id]; - return b ?? null; - } - return u.layoutPositions(this, a, function(g, b) { - var y = d(g); - return g.locked() || y == null ? !1 : y; - }), this; -}; -var Fce = { - fit: !0, - // whether to fit to viewport - padding: 30, - // fit padding - boundingBox: void 0, - // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - animate: !1, - // whether to transition the node positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: void 0, - // easing of animation if enabled - animateFilter: function(r, u) { - return !0; - }, - // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts - ready: void 0, - // callback on layoutready - stop: void 0, - // callback on layoutstop - transform: function(r, u) { - return u; - } - // transform a given node position. Useful for changing flow direction in discrete layouts -}; -function _$(a) { - this.options = on({}, Fce, a); -} -_$.prototype.run = function() { - var a = this.options, r = a.cy, u = a.eles, c = Ms(a.boundingBox ? a.boundingBox : { - x1: 0, - y1: 0, - w: r.width(), - h: r.height() - }), d = function(b, y) { - return { - x: c.x1 + Math.round(Math.random() * c.w), - y: c.y1 + Math.round(Math.random() * c.h) - }; - }; - return u.nodes().layoutPositions(this, a, d), this; -}; -var qce = [{ - name: "breadthfirst", - impl: O$ -}, { - name: "circle", - impl: A$ -}, { - name: "concentric", - impl: R$ -}, { - name: "cose", - impl: k5 -}, { - name: "grid", - impl: z$ -}, { - name: "null", - impl: $6 -}, { - name: "preset", - impl: H$ -}, { - name: "random", - impl: _$ -}]; -function G$(a) { - this.options = a, this.notifications = 0; -} -var hG = function() { -}, dG = function() { - throw new Error("A headless instance can not render images"); -}; -G$.prototype = { - recalculateRenderedStyle: hG, - notify: function() { - this.notifications++; - }, - init: hG, - isHeadless: function() { - return !0; - }, - png: dG, - jpg: dG -}; -var Y6 = {}; -Y6.arrowShapeWidth = 0.3; -Y6.registerArrowShapes = function() { - var a = this.arrowShapes = {}, r = this, u = function(E, C, T, P, N, D, H) { - var _ = N.x - T / 2 - H, B = N.x + T / 2 + H, $ = N.y - T / 2 - H, F = N.y + T / 2 + H, W = _ <= E && E <= B && $ <= C && C <= F; - return W; - }, c = function(E, C, T, P, N) { - var D = E * Math.cos(P) - C * Math.sin(P), H = E * Math.sin(P) + C * Math.cos(P), _ = D * T, B = H * T, $ = _ + N.x, F = B + N.y; - return { - x: $, - y: F - }; - }, d = function(E, C, T, P) { - for (var N = [], D = 0; D < E.length; D += 2) { - var H = E[D], _ = E[D + 1]; - N.push(c(H, _, C, T, P)); - } - return N; - }, g = function(E) { - for (var C = [], T = 0; T < E.length; T++) { - var P = E[T]; - C.push(P.x, P.y); - } - return C; - }, b = function(E) { - return E.pstyle("width").pfValue * E.pstyle("arrow-scale").pfValue * 2; - }, y = function(E, C) { - qt(C) && (C = a[C]), a[E] = on({ - name: E, - points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3], - collide: function(P, N, D, H, _, B) { - var $ = g(d(this.points, D + 2 * B, H, _)), F = Is(P, N, $); - return F; - }, - roughCollide: u, - draw: function(P, N, D, H) { - var _ = d(this.points, N, D, H); - r.arrowShapeImpl("polygon")(P, _); - }, - spacing: function(P) { - return 0; - }, - gap: b - }, C); - }; - y("none", { - collide: QE, - roughCollide: QE, - draw: N6, - spacing: P_, - gap: P_ - }), y("triangle", { - points: [-0.15, -0.3, 0, 0, 0.15, -0.3] - }), y("arrow", "triangle"), y("triangle-backcurve", { - points: a.triangle.points, - controlPoint: [0, -0.15], - roughCollide: u, - draw: function(E, C, T, P, N) { - var D = d(this.points, C, T, P), H = this.controlPoint, _ = c(H[0], H[1], C, T, P); - r.arrowShapeImpl(this.name)(E, D, _); - }, - gap: function(E) { - return b(E) * 0.8; - } - }), y("triangle-tee", { - points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0], - pointsTee: [-0.15, -0.4, -0.15, -0.5, 0.15, -0.5, 0.15, -0.4], - collide: function(E, C, T, P, N, D, H) { - var _ = g(d(this.points, T + 2 * H, P, N)), B = g(d(this.pointsTee, T + 2 * H, P, N)), $ = Is(E, C, _) || Is(E, C, B); - return $; - }, - draw: function(E, C, T, P, N) { - var D = d(this.points, C, T, P), H = d(this.pointsTee, C, T, P); - r.arrowShapeImpl(this.name)(E, D, H); - } - }), y("circle-triangle", { - radius: 0.15, - pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15], - collide: function(E, C, T, P, N, D, H) { - var _ = N, B = Math.pow(_.x - E, 2) + Math.pow(_.y - C, 2) <= Math.pow((T + 2 * H) * this.radius, 2), $ = g(d(this.points, T + 2 * H, P, N)); - return Is(E, C, $) || B; - }, - draw: function(E, C, T, P, N) { - var D = d(this.pointsTr, C, T, P); - r.arrowShapeImpl(this.name)(E, D, P.x, P.y, this.radius * C); - }, - spacing: function(E) { - return r.getArrowWidth(E.pstyle("width").pfValue, E.pstyle("arrow-scale").value) * this.radius; - } - }), y("triangle-cross", { - points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0], - baseCrossLinePts: [ - -0.15, - -0.4, - // first half of the rectangle - -0.15, - -0.4, - 0.15, - -0.4, - // second half of the rectangle - 0.15, - -0.4 - ], - crossLinePts: function(E, C) { - var T = this.baseCrossLinePts.slice(), P = C / E, N = 3, D = 5; - return T[N] = T[N] - P, T[D] = T[D] - P, T; - }, - collide: function(E, C, T, P, N, D, H) { - var _ = g(d(this.points, T + 2 * H, P, N)), B = g(d(this.crossLinePts(T, D), T + 2 * H, P, N)), $ = Is(E, C, _) || Is(E, C, B); - return $; - }, - draw: function(E, C, T, P, N) { - var D = d(this.points, C, T, P), H = d(this.crossLinePts(C, N), C, T, P); - r.arrowShapeImpl(this.name)(E, D, H); - } - }), y("vee", { - points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15], - gap: function(E) { - return b(E) * 0.525; - } - }), y("circle", { - radius: 0.15, - collide: function(E, C, T, P, N, D, H) { - var _ = N, B = Math.pow(_.x - E, 2) + Math.pow(_.y - C, 2) <= Math.pow((T + 2 * H) * this.radius, 2); - return B; - }, - draw: function(E, C, T, P, N) { - r.arrowShapeImpl(this.name)(E, P.x, P.y, this.radius * C); - }, - spacing: function(E) { - return r.getArrowWidth(E.pstyle("width").pfValue, E.pstyle("arrow-scale").value) * this.radius; - } - }), y("tee", { - points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0], - spacing: function(E) { - return 1; - }, - gap: function(E) { - return 1; - } - }), y("square", { - points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3] - }), y("diamond", { - points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0], - gap: function(E) { - return E.pstyle("width").pfValue * E.pstyle("arrow-scale").value; - } - }), y("chevron", { - points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15], - gap: function(E) { - return 0.95 * E.pstyle("width").pfValue * E.pstyle("arrow-scale").value; - } - }); -}; -var pv = {}; -pv.projectIntoViewport = function(a, r) { - var u = this.cy, c = this.findContainerClientCoords(), d = c[0], g = c[1], b = c[4], y = u.pan(), k = u.zoom(), E = ((a - d) / b - y.x) / k, C = ((r - g) / b - y.y) / k; - return [E, C]; -}; -pv.findContainerClientCoords = function() { - if (this.containerBB) - return this.containerBB; - var a = this.container, r = a.getBoundingClientRect(), u = this.cy.window().getComputedStyle(a), c = function(B) { - return parseFloat(u.getPropertyValue(B)); - }, d = { - left: c("padding-left"), - right: c("padding-right"), - top: c("padding-top"), - bottom: c("padding-bottom") - }, g = { - left: c("border-left-width"), - right: c("border-right-width"), - top: c("border-top-width"), - bottom: c("border-bottom-width") - }, b = a.clientWidth, y = a.clientHeight, k = d.left + d.right, E = d.top + d.bottom, C = g.left + g.right, T = r.width / (b + C), P = b - k, N = y - E, D = r.left + d.left + g.left, H = r.top + d.top + g.top; - return this.containerBB = [D, H, P, N, T]; -}; -pv.invalidateContainerClientCoordsCache = function() { - this.containerBB = null; -}; -pv.findNearestElement = function(a, r, u, c) { - return this.findNearestElements(a, r, u, c)[0]; -}; -pv.findNearestElements = function(a, r, u, c) { - var d = this, g = this, b = g.getCachedZSortedEles(), y = [], k = g.cy.zoom(), E = g.cy.hasCompoundNodes(), C = (c ? 24 : 8) / k, T = (c ? 8 : 2) / k, P = (c ? 8 : 2) / k, N = 1 / 0, D, H; - u && (b = b.interactive); - function _(K, ee) { - if (K.isNode()) { - if (H) - return; - H = K, y.push(K); - } - if (K.isEdge() && (ee == null || ee < N)) - if (D) { - if (D.pstyle("z-compound-depth").value === K.pstyle("z-compound-depth").value && D.pstyle("z-compound-depth").value === K.pstyle("z-compound-depth").value) { - for (var Z = 0; Z < y.length; Z++) - if (y[Z].isEdge()) { - y[Z] = K, D = K, N = ee ?? N; - break; - } - } - } else - y.push(K), D = K, N = ee ?? N; - } - function B(K) { - var ee = K.outerWidth() + 2 * T, Z = K.outerHeight() + 2 * T, ae = ee / 2, oe = Z / 2, J = K.position(); - if (J.x - ae <= a && a <= J.x + ae && J.y - oe <= r && r <= J.y + oe) { - var fe = g.nodeShapes[d.getNodeShape(K)]; - if (fe.checkPoint(a, r, 0, ee, Z, J.x, J.y)) - return _(K, 0), !0; - } - } - function $(K) { - var ee = K._private, Z = ee.rscratch, ae = K.pstyle("width").pfValue, oe = K.pstyle("arrow-scale").value, J = ae / 2 + C, fe = J * J, se = J * 2, ke = ee.source, Pe = ee.target, pe; - if (Z.edgeType === "segments" || Z.edgeType === "straight" || Z.edgeType === "haystack") { - for (var he = Z.allpts, de = 0; de + 3 < he.length; de += 2) - if (vse(a, r, he[de], he[de + 1], he[de + 2], he[de + 3], se) && fe > (pe = mse(a, r, he[de], he[de + 1], he[de + 2], he[de + 3]))) - return _(K, pe), !0; - } else if (Z.edgeType === "bezier" || Z.edgeType === "multibezier" || Z.edgeType === "self" || Z.edgeType === "compound") { - for (var he = Z.allpts, de = 0; de + 5 < Z.allpts.length; de += 4) - if (gse(a, r, he[de], he[de + 1], he[de + 2], he[de + 3], he[de + 4], he[de + 5], se) && fe > (pe = wse(a, r, he[de], he[de + 1], he[de + 2], he[de + 3], he[de + 4], he[de + 5]))) - return _(K, pe), !0; - } - for (var ke = ke || ee.source, Pe = Pe || ee.target, Ae = d.getArrowWidth(ae, oe), Te = [{ - name: "source", - x: Z.arrowStartX, - y: Z.arrowStartY, - angle: Z.srcArrowAngle - }, { - name: "target", - x: Z.arrowEndX, - y: Z.arrowEndY, - angle: Z.tgtArrowAngle - }, { - name: "mid-source", - x: Z.midX, - y: Z.midY, - angle: Z.midsrcArrowAngle - }, { - name: "mid-target", - x: Z.midX, - y: Z.midY, - angle: Z.midtgtArrowAngle - }], de = 0; de < Te.length; de++) { - var Oe = Te[de], ze = g.arrowShapes[K.pstyle(Oe.name + "-arrow-shape").value], We = K.pstyle("width").pfValue; - if (ze.roughCollide(a, r, Ae, Oe.angle, { - x: Oe.x, - y: Oe.y - }, We, C) && ze.collide(a, r, Ae, Oe.angle, { - x: Oe.x, - y: Oe.y - }, We, C)) - return _(K), !0; - } - E && y.length > 0 && (B(ke), B(Pe)); - } - function F(K, ee, Z) { - return Sc(K, ee, Z); - } - function W(K, ee) { - var Z = K._private, ae = P, oe; - ee ? oe = ee + "-" : oe = "", K.boundingBox(); - var J = Z.labelBounds[ee || "main"], fe = K.pstyle(oe + "label").value, se = K.pstyle("text-events").strValue === "yes"; - if (!(!se || !fe)) { - var pe = F(Z.rscratch, "labelX", ee), he = F(Z.rscratch, "labelY", ee), de = F(Z.rscratch, "labelAngle", ee), ke = K.pstyle(oe + "text-margin-x").pfValue, Pe = K.pstyle(oe + "text-margin-y").pfValue, Ae = J.x1 - ae - ke, Te = J.x2 + ae - ke, Oe = J.y1 - ae - Pe, ze = J.y2 + ae - Pe; - if (de) { - var We = Math.cos(de), $e = Math.sin(de), Ge = function(gn, mt) { - return gn = gn - pe, mt = mt - he, { - x: gn * We - mt * $e + pe, - y: gn * $e + mt * We + he - }; - }, me = Ge(Ae, Oe), Ve = Ge(Ae, ze), Ke = Ge(Te, Oe), at = Ge(Te, ze), ft = [ - // with the margin added after the rotation is applied - me.x + ke, - me.y + Pe, - Ke.x + ke, - Ke.y + Pe, - at.x + ke, - at.y + Pe, - Ve.x + ke, - Ve.y + Pe - ]; - if (Is(a, r, ft)) - return _(K), !0; - } else if (Ib(J, a, r)) - return _(K), !0; - } - } - for (var Q = b.length - 1; Q >= 0; Q--) { - var X = b[Q]; - X.isNode() ? B(X) || W(X) : $(X) || W(X) || W(X, "source") || W(X, "target"); - } - return y; -}; -pv.getAllInBox = function(a, r, u, c) { - var d = this.getCachedZSortedEles().interactive, g = [], b = Math.min(a, u), y = Math.max(a, u), k = Math.min(r, c), E = Math.max(r, c); - a = b, u = y, r = k, c = E; - for (var C = Ms({ - x1: a, - y1: r, - x2: u, - y2: c - }), T = 0; T < d.length; T++) { - var P = d[T]; - if (P.isNode()) { - var N = P, D = N.boundingBox({ - includeNodes: !0, - includeEdges: !1, - includeLabels: !1 - }); - O6(C, D) && !t$(D, C) && g.push(N); - } else { - var H = P, _ = H._private, B = _.rscratch; - if (B.startX != null && B.startY != null && !Ib(C, B.startX, B.startY) || B.endX != null && B.endY != null && !Ib(C, B.endX, B.endY)) - continue; - if (B.edgeType === "bezier" || B.edgeType === "multibezier" || B.edgeType === "self" || B.edgeType === "compound" || B.edgeType === "segments" || B.edgeType === "haystack") { - for (var $ = _.rstyle.bezierPts || _.rstyle.linePts || _.rstyle.haystackPts, F = !0, W = 0; W < $.length; W++) - if (!dse(C, $[W])) { - F = !1; - break; - } - F && g.push(H); - } else - (B.edgeType === "haystack" || B.edgeType === "straight") && g.push(H); - } - } - return g; -}; -var r5 = {}; -r5.calculateArrowAngles = function(a) { - var r = a._private.rscratch, u = r.edgeType === "haystack", c = r.edgeType === "bezier", d = r.edgeType === "multibezier", g = r.edgeType === "segments", b = r.edgeType === "compound", y = r.edgeType === "self", k, E, C, T, P, N, B, $; - if (u ? (C = r.haystackPts[0], T = r.haystackPts[1], P = r.haystackPts[2], N = r.haystackPts[3]) : (C = r.arrowStartX, T = r.arrowStartY, P = r.arrowEndX, N = r.arrowEndY), B = r.midX, $ = r.midY, g) - k = C - r.segpts[0], E = T - r.segpts[1]; - else if (d || b || y || c) { - var D = r.allpts, H = Ja(D[0], D[2], D[4], 0.1), _ = Ja(D[1], D[3], D[5], 0.1); - k = C - H, E = T - _; - } else - k = C - B, E = T - $; - r.srcArrowAngle = IE(k, E); - var B = r.midX, $ = r.midY; - if (u && (B = (C + P) / 2, $ = (T + N) / 2), k = P - C, E = N - T, g) { - var D = r.allpts; - if (D.length / 2 % 2 === 0) { - var F = D.length / 2, W = F - 2; - k = D[F] - D[W], E = D[F + 1] - D[W + 1]; - } else { - var F = D.length / 2 - 1, W = F - 2, Q = F + 2; - k = D[F] - D[W], E = D[F + 1] - D[W + 1]; - } - } else if (d || b || y) { - var D = r.allpts, X = r.ctrlpts, K, ee, Z, ae; - if (X.length / 2 % 2 === 0) { - var oe = D.length / 2 - 1, J = oe + 2, fe = J + 2; - K = Ja(D[oe], D[J], D[fe], 0), ee = Ja(D[oe + 1], D[J + 1], D[fe + 1], 0), Z = Ja(D[oe], D[J], D[fe], 1e-4), ae = Ja(D[oe + 1], D[J + 1], D[fe + 1], 1e-4); - } else { - var J = D.length / 2 - 1, oe = J - 2, fe = J + 2; - K = Ja(D[oe], D[J], D[fe], 0.4999), ee = Ja(D[oe + 1], D[J + 1], D[fe + 1], 0.4999), Z = Ja(D[oe], D[J], D[fe], 0.5), ae = Ja(D[oe + 1], D[J + 1], D[fe + 1], 0.5); - } - k = Z - K, E = ae - ee; - } - if (r.midtgtArrowAngle = IE(k, E), r.midDispX = k, r.midDispY = E, k *= -1, E *= -1, g) { - var D = r.allpts; - if (D.length / 2 % 2 !== 0) { - var F = D.length / 2 - 1, Q = F + 2; - k = -(D[Q] - D[F]), E = -(D[Q + 1] - D[F + 1]); - } - } - if (r.midsrcArrowAngle = IE(k, E), g) - k = P - r.segpts[r.segpts.length - 2], E = N - r.segpts[r.segpts.length - 1]; - else if (d || b || y || c) { - var D = r.allpts, se = D.length, H = Ja(D[se - 6], D[se - 4], D[se - 2], 0.9), _ = Ja(D[se - 5], D[se - 3], D[se - 1], 0.9); - k = P - H, E = N - _; - } else - k = P - B, E = N - $; - r.tgtArrowAngle = IE(k, E); -}; -r5.getArrowWidth = r5.getArrowHeight = function(a, r) { - var u = this.arrowWidthCache = this.arrowWidthCache || {}, c = u[a + ", " + r]; - return c || (c = Math.max(Math.pow(a * 13.37, 0.9), 29) * r, u[a + ", " + r] = c, c); -}; -var Ro = {}; -Ro.findMidptPtsEtc = function(a, r) { - var u = r.posPts, c = r.intersectionPts, d = r.vectorNormInverse, g, b = a.pstyle("source-endpoint"), y = a.pstyle("target-endpoint"), k = b.units != null && y.units != null, E = function(Q, X, K, ee) { - var Z = ee - X, ae = K - Q, oe = Math.sqrt(ae * ae + Z * Z); - return { - x: -Z / oe, - y: ae / oe - }; - }, C = a.pstyle("edge-distances").value; - switch (C) { - case "node-position": - g = u; - break; - case "intersection": - g = c; - break; - case "endpoints": { - if (k) { - var T = this.manualEndptToPx(a.source()[0], b), P = kc(T, 2), N = P[0], D = P[1], H = this.manualEndptToPx(a.target()[0], y), _ = kc(H, 2), B = _[0], $ = _[1], F = { - x1: N, - y1: D, - x2: B, - y2: $ - }; - d = E(N, D, B, $), g = F; - } else - Sr("Edge ".concat(a.id(), " has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")), g = c; - break; - } - } - return { - midptPts: g, - vectorNormInverse: d - }; -}; -Ro.findHaystackPoints = function(a) { - for (var r = 0; r < a.length; r++) { - var u = a[r], c = u._private, d = c.rscratch; - if (!d.haystack) { - var g = Math.random() * 2 * Math.PI; - d.source = { - x: Math.cos(g), - y: Math.sin(g) - }, g = Math.random() * 2 * Math.PI, d.target = { - x: Math.cos(g), - y: Math.sin(g) - }; - } - var b = c.source, y = c.target, k = b.position(), E = y.position(), C = b.width(), T = y.width(), P = b.height(), N = y.height(), D = u.pstyle("haystack-radius").value, H = D / 2; - d.haystackPts = d.allpts = [d.source.x * C * H + k.x, d.source.y * P * H + k.y, d.target.x * T * H + E.x, d.target.y * N * H + E.y], d.midX = (d.allpts[0] + d.allpts[2]) / 2, d.midY = (d.allpts[1] + d.allpts[3]) / 2, d.edgeType = "haystack", d.haystack = !0, this.storeEdgeProjections(u), this.calculateArrowAngles(u), this.recalculateEdgeLabelProjections(u), this.calculateLabelAngles(u); - } -}; -Ro.findSegmentsPoints = function(a, r) { - var u = a._private.rscratch, c = a.pstyle("segment-weights"), d = a.pstyle("segment-distances"), g = Math.min(c.pfValue.length, d.pfValue.length); - u.edgeType = "segments", u.segpts = []; - for (var b = 0; b < g; b++) { - var y = c.pfValue[b], k = d.pfValue[b], E = 1 - y, C = y, T = this.findMidptPtsEtc(a, r), P = T.midptPts, N = T.vectorNormInverse, D = { - x: P.x1 * E + P.x2 * C, - y: P.y1 * E + P.y2 * C - }; - u.segpts.push(D.x + N.x * k, D.y + N.y * k); - } -}; -Ro.findLoopPoints = function(a, r, u, c) { - var d = a._private.rscratch, g = r.dirCounts, b = r.srcPos, y = a.pstyle("control-point-distances"), k = y ? y.pfValue[0] : void 0, E = a.pstyle("loop-direction").pfValue, C = a.pstyle("loop-sweep").pfValue, T = a.pstyle("control-point-step-size").pfValue; - d.edgeType = "self"; - var P = u, N = T; - c && (P = 0, N = k); - var D = E - Math.PI / 2, H = D - C / 2, _ = D + C / 2, B = E + "_" + C; - P = g[B] === void 0 ? g[B] = 0 : ++g[B], d.ctrlpts = [b.x + Math.cos(H) * 1.4 * N * (P / 3 + 1), b.y + Math.sin(H) * 1.4 * N * (P / 3 + 1), b.x + Math.cos(_) * 1.4 * N * (P / 3 + 1), b.y + Math.sin(_) * 1.4 * N * (P / 3 + 1)]; -}; -Ro.findCompoundLoopPoints = function(a, r, u, c) { - var d = a._private.rscratch; - d.edgeType = "compound"; - var g = r.srcPos, b = r.tgtPos, y = r.srcW, k = r.srcH, E = r.tgtW, C = r.tgtH, T = a.pstyle("control-point-step-size").pfValue, P = a.pstyle("control-point-distances"), N = P ? P.pfValue[0] : void 0, D = u, H = T; - c && (D = 0, H = N); - var _ = 50, B = { - x: g.x - y / 2, - y: g.y - k / 2 - }, $ = { - x: b.x - E / 2, - y: b.y - C / 2 - }, F = { - x: Math.min(B.x, $.x), - y: Math.min(B.y, $.y) - }, W = 0.5, Q = Math.max(W, Math.log(y * 0.01)), X = Math.max(W, Math.log(E * 0.01)); - d.ctrlpts = [F.x, F.y - (1 + Math.pow(_, 1.12) / 100) * H * (D / 3 + 1) * Q, F.x - (1 + Math.pow(_, 1.12) / 100) * H * (D / 3 + 1) * X, F.y]; -}; -Ro.findStraightEdgePoints = function(a) { - a._private.rscratch.edgeType = "straight"; -}; -Ro.findBezierPoints = function(a, r, u, c, d) { - var g = a._private.rscratch, b = a.pstyle("control-point-step-size").pfValue, y = a.pstyle("control-point-distances"), k = a.pstyle("control-point-weights"), E = y && k ? Math.min(y.value.length, k.value.length) : 1, C = y ? y.pfValue[0] : void 0, T = k.value[0], P = c; - g.edgeType = P ? "multibezier" : "bezier", g.ctrlpts = []; - for (var N = 0; N < E; N++) { - var D = (0.5 - r.eles.length / 2 + u) * b * (d ? -1 : 1), H = void 0, _ = e$(D); - P && (C = y ? y.pfValue[N] : b, T = k.value[N]), c ? H = C : H = C !== void 0 ? _ * C : void 0; - var B = H !== void 0 ? H : D, $ = 1 - T, F = T, W = this.findMidptPtsEtc(a, r), Q = W.midptPts, X = W.vectorNormInverse, K = { - x: Q.x1 * $ + Q.x2 * F, - y: Q.y1 * $ + Q.y2 * F - }; - g.ctrlpts.push(K.x + X.x * B, K.y + X.y * B); - } -}; -Ro.findTaxiPoints = function(a, r) { - var u = a._private.rscratch; - u.edgeType = "segments"; - var c = "vertical", d = "horizontal", g = "leftward", b = "rightward", y = "downward", k = "upward", E = "auto", C = r.posPts, T = r.srcW, P = r.srcH, N = r.tgtW, D = r.tgtH, H = a.pstyle("edge-distances").value, _ = H !== "node-position", B = a.pstyle("taxi-direction").value, $ = B, F = a.pstyle("taxi-turn"), W = F.units === "%", Q = F.pfValue, X = Q < 0, K = a.pstyle("taxi-turn-min-distance").pfValue, ee = _ ? (T + N) / 2 : 0, Z = _ ? (P + D) / 2 : 0, ae = C.x2 - C.x1, oe = C.y2 - C.y1, J = function(tt, Gt) { - return tt > 0 ? Math.max(tt - Gt, 0) : Math.min(tt + Gt, 0); - }, fe = J(ae, ee), se = J(oe, Z), pe = !1; - $ === E ? B = Math.abs(fe) > Math.abs(se) ? d : c : $ === k || $ === y ? (B = c, pe = !0) : ($ === g || $ === b) && (B = d, pe = !0); - var he = B === c, de = he ? se : fe, ke = he ? oe : ae, Pe = e$(ke), Ae = !1; - !(pe && (W || X)) && ($ === y && ke < 0 || $ === k && ke > 0 || $ === g && ke > 0 || $ === b && ke < 0) && (Pe *= -1, de = Pe * Math.abs(de), Ae = !0); - var Te; - if (W) { - var Oe = Q < 0 ? 1 + Q : Q; - Te = Oe * de; - } else { - var ze = Q < 0 ? de : 0; - Te = ze + Q * Pe; - } - var We = function(tt) { - return Math.abs(tt) < K || Math.abs(tt) >= Math.abs(de); - }, $e = We(Te), Ge = We(Math.abs(de) - Math.abs(Te)), me = $e || Ge; - if (me && !Ae) - if (he) { - var Ve = Math.abs(ke) <= P / 2, Ke = Math.abs(ae) <= N / 2; - if (Ve) { - var at = (C.x1 + C.x2) / 2, ft = C.y1, en = C.y2; - u.segpts = [at, ft, at, en]; - } else if (Ke) { - var gn = (C.y1 + C.y2) / 2, mt = C.x1, ht = C.x2; - u.segpts = [mt, gn, ht, gn]; - } else - u.segpts = [C.x1, C.y2]; - } else { - var Rt = Math.abs(ke) <= T / 2, Lt = Math.abs(oe) <= D / 2; - if (Rt) { - var yt = (C.y1 + C.y2) / 2, Mt = C.x1, In = C.x2; - u.segpts = [Mt, yt, In, yt]; - } else if (Lt) { - var Pn = (C.x1 + C.x2) / 2, Vt = C.y1, ar = C.y2; - u.segpts = [Pn, Vt, Pn, ar]; - } else - u.segpts = [C.x2, C.y1]; - } - else if (he) { - var Qe = C.y1 + Te + (_ ? P / 2 * Pe : 0), ne = C.x1, Ie = C.x2; - u.segpts = [ne, Qe, Ie, Qe]; - } else { - var Je = C.x1 + Te + (_ ? T / 2 * Pe : 0), Ye = C.y1, Fe = C.y2; - u.segpts = [Je, Ye, Je, Fe]; - } -}; -Ro.tryToCorrectInvalidPoints = function(a, r) { - var u = a._private.rscratch; - if (u.edgeType === "bezier") { - var c = r.srcPos, d = r.tgtPos, g = r.srcW, b = r.srcH, y = r.tgtW, k = r.tgtH, E = r.srcShape, C = r.tgtShape, T = !kt(u.startX) || !kt(u.startY), P = !kt(u.arrowStartX) || !kt(u.arrowStartY), N = !kt(u.endX) || !kt(u.endY), D = !kt(u.arrowEndX) || !kt(u.arrowEndY), H = 3, _ = this.getArrowWidth(a.pstyle("width").pfValue, a.pstyle("arrow-scale").value) * this.arrowShapeWidth, B = H * _, $ = hv({ - x: u.ctrlpts[0], - y: u.ctrlpts[1] - }, { - x: u.startX, - y: u.startY - }), F = $ < B, W = hv({ - x: u.ctrlpts[0], - y: u.ctrlpts[1] - }, { - x: u.endX, - y: u.endY - }), Q = W < B, X = !1; - if (T || P || F) { - X = !0; - var K = { - // delta - x: u.ctrlpts[0] - c.x, - y: u.ctrlpts[1] - c.y - }, ee = Math.sqrt(K.x * K.x + K.y * K.y), Z = { - // normalised delta - x: K.x / ee, - y: K.y / ee - }, ae = Math.max(g, b), oe = { - // *2 radius guarantees outside shape - x: u.ctrlpts[0] + Z.x * 2 * ae, - y: u.ctrlpts[1] + Z.y * 2 * ae - }, J = E.intersectLine(c.x, c.y, g, b, oe.x, oe.y, 0); - F ? (u.ctrlpts[0] = u.ctrlpts[0] + Z.x * (B - $), u.ctrlpts[1] = u.ctrlpts[1] + Z.y * (B - $)) : (u.ctrlpts[0] = J[0] + Z.x * B, u.ctrlpts[1] = J[1] + Z.y * B); - } - if (N || D || Q) { - X = !0; - var fe = { - // delta - x: u.ctrlpts[0] - d.x, - y: u.ctrlpts[1] - d.y - }, se = Math.sqrt(fe.x * fe.x + fe.y * fe.y), pe = { - // normalised delta - x: fe.x / se, - y: fe.y / se - }, he = Math.max(g, b), de = { - // *2 radius guarantees outside shape - x: u.ctrlpts[0] + pe.x * 2 * he, - y: u.ctrlpts[1] + pe.y * 2 * he - }, ke = C.intersectLine(d.x, d.y, y, k, de.x, de.y, 0); - Q ? (u.ctrlpts[0] = u.ctrlpts[0] + pe.x * (B - W), u.ctrlpts[1] = u.ctrlpts[1] + pe.y * (B - W)) : (u.ctrlpts[0] = ke[0] + pe.x * B, u.ctrlpts[1] = ke[1] + pe.y * B); - } - X && this.findEndpoints(a); - } -}; -Ro.storeAllpts = function(a) { - var r = a._private.rscratch; - if (r.edgeType === "multibezier" || r.edgeType === "bezier" || r.edgeType === "self" || r.edgeType === "compound") { - r.allpts = [], r.allpts.push(r.startX, r.startY); - for (var u = 0; u + 1 < r.ctrlpts.length; u += 2) - r.allpts.push(r.ctrlpts[u], r.ctrlpts[u + 1]), u + 3 < r.ctrlpts.length && r.allpts.push((r.ctrlpts[u] + r.ctrlpts[u + 2]) / 2, (r.ctrlpts[u + 1] + r.ctrlpts[u + 3]) / 2); - r.allpts.push(r.endX, r.endY); - var c, d; - r.ctrlpts.length / 2 % 2 === 0 ? (c = r.allpts.length / 2 - 1, r.midX = r.allpts[c], r.midY = r.allpts[c + 1]) : (c = r.allpts.length / 2 - 3, d = 0.5, r.midX = Ja(r.allpts[c], r.allpts[c + 2], r.allpts[c + 4], d), r.midY = Ja(r.allpts[c + 1], r.allpts[c + 3], r.allpts[c + 5], d)); - } else if (r.edgeType === "straight") - r.allpts = [r.startX, r.startY, r.endX, r.endY], r.midX = (r.startX + r.endX + r.arrowStartX + r.arrowEndX) / 4, r.midY = (r.startY + r.endY + r.arrowStartY + r.arrowEndY) / 4; - else if (r.edgeType === "segments") - if (r.allpts = [], r.allpts.push(r.startX, r.startY), r.allpts.push.apply(r.allpts, r.segpts), r.allpts.push(r.endX, r.endY), r.segpts.length % 4 === 0) { - var g = r.segpts.length / 2, b = g - 2; - r.midX = (r.segpts[b] + r.segpts[g]) / 2, r.midY = (r.segpts[b + 1] + r.segpts[g + 1]) / 2; - } else { - var y = r.segpts.length / 2 - 1; - r.midX = r.segpts[y], r.midY = r.segpts[y + 1]; - } -}; -Ro.checkForInvalidEdgeWarning = function(a) { - var r = a[0]._private.rscratch; - r.nodesOverlap || kt(r.startX) && kt(r.startY) && kt(r.endX) && kt(r.endY) ? r.loggedErr = !1 : r.loggedErr || (r.loggedErr = !0, Sr("Edge `" + a.id() + "` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.")); -}; -Ro.findEdgeControlPoints = function(a) { - var r = this; - if (!(!a || a.length === 0)) { - for (var u = this, c = u.cy, d = c.hasCompoundNodes(), g = { - map: new El(), - get: function(K) { - var ee = this.map.get(K[0]); - return ee != null ? ee.get(K[1]) : null; - }, - set: function(K, ee) { - var Z = this.map.get(K[0]); - Z == null && (Z = new El(), this.map.set(K[0], Z)), Z.set(K[1], ee); - } - }, b = [], y = [], k = 0; k < a.length; k++) { - var E = a[k], C = E._private, T = E.pstyle("curve-style").value; - if (!(E.removed() || !E.takesUpSpace())) { - if (T === "haystack") { - y.push(E); - continue; - } - var P = T === "unbundled-bezier" || T === "segments" || T === "straight" || T === "straight-triangle" || T === "taxi", N = T === "unbundled-bezier" || T === "bezier", D = C.source, H = C.target, _ = D.poolIndex(), B = H.poolIndex(), $ = [_, B].sort(), F = g.get($); - F == null && (F = { - eles: [] - }, g.set($, F), b.push($)), F.eles.push(E), P && (F.hasUnbundled = !0), N && (F.hasBezier = !0); - } - } - for (var W = function(K) { - var ee = b[K], Z = g.get(ee), ae = void 0; - if (!Z.hasUnbundled) { - var oe = Z.eles[0].parallelEdges().filter(function(ar) { - return ar.isBundledBezier(); - }); - I6(Z.eles), oe.forEach(function(ar) { - return Z.eles.push(ar); - }), Z.eles.sort(function(ar, Qe) { - return ar.poolIndex() - Qe.poolIndex(); - }); - } - var J = Z.eles[0], fe = J.source(), se = J.target(); - if (fe.poolIndex() > se.poolIndex()) { - var pe = fe; - fe = se, se = pe; - } - var he = Z.srcPos = fe.position(), de = Z.tgtPos = se.position(), ke = Z.srcW = fe.outerWidth(), Pe = Z.srcH = fe.outerHeight(), Ae = Z.tgtW = se.outerWidth(), Te = Z.tgtH = se.outerHeight(), Oe = Z.srcShape = u.nodeShapes[r.getNodeShape(fe)], ze = Z.tgtShape = u.nodeShapes[r.getNodeShape(se)]; - Z.dirCounts = { - north: 0, - west: 0, - south: 0, - east: 0, - northwest: 0, - southwest: 0, - northeast: 0, - southeast: 0 - }; - for (var We = 0; We < Z.eles.length; We++) { - var $e = Z.eles[We], Ge = $e[0]._private.rscratch, me = $e.pstyle("curve-style").value, Ve = me === "unbundled-bezier" || me === "segments" || me === "taxi", Ke = !fe.same($e.source()); - if (!Z.calculatedIntersection && fe !== se && (Z.hasBezier || Z.hasUnbundled)) { - Z.calculatedIntersection = !0; - var at = Oe.intersectLine(he.x, he.y, ke, Pe, de.x, de.y, 0), ft = Z.srcIntn = at, en = ze.intersectLine(de.x, de.y, Ae, Te, he.x, he.y, 0), gn = Z.tgtIntn = en, mt = Z.intersectionPts = { - x1: at[0], - x2: en[0], - y1: at[1], - y2: en[1] - }, ht = Z.posPts = { - x1: he.x, - x2: de.x, - y1: he.y, - y2: de.y - }, Rt = en[1] - at[1], Lt = en[0] - at[0], yt = Math.sqrt(Lt * Lt + Rt * Rt), Mt = Z.vector = { - x: Lt, - y: Rt - }, In = Z.vectorNorm = { - x: Mt.x / yt, - y: Mt.y / yt - }, Pn = { - x: -In.y, - y: In.x - }; - Z.nodesOverlap = !kt(yt) || ze.checkPoint(at[0], at[1], 0, Ae, Te, de.x, de.y) || Oe.checkPoint(en[0], en[1], 0, ke, Pe, he.x, he.y), Z.vectorNormInverse = Pn, ae = { - nodesOverlap: Z.nodesOverlap, - dirCounts: Z.dirCounts, - calculatedIntersection: !0, - hasBezier: Z.hasBezier, - hasUnbundled: Z.hasUnbundled, - eles: Z.eles, - srcPos: de, - tgtPos: he, - srcW: Ae, - srcH: Te, - tgtW: ke, - tgtH: Pe, - srcIntn: gn, - tgtIntn: ft, - srcShape: ze, - tgtShape: Oe, - posPts: { - x1: ht.x2, - y1: ht.y2, - x2: ht.x1, - y2: ht.y1 - }, - intersectionPts: { - x1: mt.x2, - y1: mt.y2, - x2: mt.x1, - y2: mt.y1 - }, - vector: { - x: -Mt.x, - y: -Mt.y - }, - vectorNorm: { - x: -In.x, - y: -In.y - }, - vectorNormInverse: { - x: -Pn.x, - y: -Pn.y - } - }; - } - var Vt = Ke ? ae : Z; - Ge.nodesOverlap = Vt.nodesOverlap, Ge.srcIntn = Vt.srcIntn, Ge.tgtIntn = Vt.tgtIntn, d && (fe.isParent() || fe.isChild() || se.isParent() || se.isChild()) && (fe.parents().anySame(se) || se.parents().anySame(fe) || fe.same(se) && fe.isParent()) ? r.findCompoundLoopPoints($e, Vt, We, Ve) : fe === se ? r.findLoopPoints($e, Vt, We, Ve) : me === "segments" ? r.findSegmentsPoints($e, Vt) : me === "taxi" ? r.findTaxiPoints($e, Vt) : me === "straight" || !Ve && Z.eles.length % 2 === 1 && We === Math.floor(Z.eles.length / 2) ? r.findStraightEdgePoints($e) : r.findBezierPoints($e, Vt, We, Ve, Ke), r.findEndpoints($e), r.tryToCorrectInvalidPoints($e, Vt), r.checkForInvalidEdgeWarning($e), r.storeAllpts($e), r.storeEdgeProjections($e), r.calculateArrowAngles($e), r.recalculateEdgeLabelProjections($e), r.calculateLabelAngles($e); - } - }, Q = 0; Q < b.length; Q++) - W(Q); - this.findHaystackPoints(y); - } -}; -function $$(a) { - var r = []; - if (a != null) { - for (var u = 0; u < a.length; u += 2) { - var c = a[u], d = a[u + 1]; - r.push({ - x: c, - y: d - }); - } - return r; - } -} -Ro.getSegmentPoints = function(a) { - var r = a[0]._private.rscratch, u = r.edgeType; - if (u === "segments") - return this.recalculateRenderedStyle(a), $$(r.segpts); -}; -Ro.getControlPoints = function(a) { - var r = a[0]._private.rscratch, u = r.edgeType; - if (u === "bezier" || u === "multibezier" || u === "self" || u === "compound") - return this.recalculateRenderedStyle(a), $$(r.ctrlpts); -}; -Ro.getEdgeMidpoint = function(a) { - var r = a[0]._private.rscratch; - return this.recalculateRenderedStyle(a), { - x: r.midX, - y: r.midY - }; -}; -var dw = {}; -dw.manualEndptToPx = function(a, r) { - var u = this, c = a.position(), d = a.outerWidth(), g = a.outerHeight(); - if (r.value.length === 2) { - var b = [r.pfValue[0], r.pfValue[1]]; - return r.units[0] === "%" && (b[0] = b[0] * d), r.units[1] === "%" && (b[1] = b[1] * g), b[0] += c.x, b[1] += c.y, b; - } else { - var y = r.pfValue[0]; - y = -Math.PI / 2 + y; - var k = 2 * Math.max(d, g), E = [c.x + Math.cos(y) * k, c.y + Math.sin(y) * k]; - return u.nodeShapes[this.getNodeShape(a)].intersectLine(c.x, c.y, d, g, E[0], E[1], 0); - } -}; -dw.findEndpoints = function(a) { - var r = this, u, c = a.source()[0], d = a.target()[0], g = c.position(), b = d.position(), y = a.pstyle("target-arrow-shape").value, k = a.pstyle("source-arrow-shape").value, E = a.pstyle("target-distance-from-node").pfValue, C = a.pstyle("source-distance-from-node").pfValue, T = a.pstyle("curve-style").value, P = a._private.rscratch, N = P.edgeType, D = T === "taxi", H = N === "self" || N === "compound", _ = N === "bezier" || N === "multibezier" || H, B = N !== "bezier", $ = N === "straight" || N === "segments", F = N === "segments", W = _ || B || $, Q = H || D, X = a.pstyle("source-endpoint"), K = Q ? "outside-to-node" : X.value, ee = a.pstyle("target-endpoint"), Z = Q ? "outside-to-node" : ee.value; - P.srcManEndpt = X, P.tgtManEndpt = ee; - var ae, oe, J, fe; - if (_) { - var se = [P.ctrlpts[0], P.ctrlpts[1]], pe = B ? [P.ctrlpts[P.ctrlpts.length - 2], P.ctrlpts[P.ctrlpts.length - 1]] : se; - ae = pe, oe = se; - } else if ($) { - var he = F ? P.segpts.slice(0, 2) : [b.x, b.y], de = F ? P.segpts.slice(P.segpts.length - 2) : [g.x, g.y]; - ae = de, oe = he; - } - if (Z === "inside-to-node") - u = [b.x, b.y]; - else if (ee.units) - u = this.manualEndptToPx(d, ee); - else if (Z === "outside-to-line") - u = P.tgtIntn; - else if (Z === "outside-to-node" || Z === "outside-to-node-or-label" ? J = ae : (Z === "outside-to-line" || Z === "outside-to-line-or-label") && (J = [g.x, g.y]), u = r.nodeShapes[this.getNodeShape(d)].intersectLine(b.x, b.y, d.outerWidth(), d.outerHeight(), J[0], J[1], 0), Z === "outside-to-node-or-label" || Z === "outside-to-line-or-label") { - var ke = d._private.rscratch, Pe = ke.labelWidth, Ae = ke.labelHeight, Te = ke.labelX, Oe = ke.labelY, ze = Pe / 2, We = Ae / 2, $e = d.pstyle("text-valign").value; - $e === "top" ? Oe -= We : $e === "bottom" && (Oe += We); - var Ge = d.pstyle("text-halign").value; - Ge === "left" ? Te -= ze : Ge === "right" && (Te += ze); - var me = Jp(J[0], J[1], [Te - ze, Oe - We, Te + ze, Oe - We, Te + ze, Oe + We, Te - ze, Oe + We], b.x, b.y); - if (me.length > 0) { - var Ve = g, Ke = uv(Ve, Tb(u)), at = uv(Ve, Tb(me)), ft = Ke; - if (at < Ke && (u = me, ft = at), me.length > 2) { - var en = uv(Ve, { - x: me[2], - y: me[3] - }); - en < ft && (u = [me[2], me[3]]); - } - } - } - var gn = ME(u, ae, r.arrowShapes[y].spacing(a) + E), mt = ME(u, ae, r.arrowShapes[y].gap(a) + E); - if (P.endX = mt[0], P.endY = mt[1], P.arrowEndX = gn[0], P.arrowEndY = gn[1], K === "inside-to-node") - u = [g.x, g.y]; - else if (X.units) - u = this.manualEndptToPx(c, X); - else if (K === "outside-to-line") - u = P.srcIntn; - else if (K === "outside-to-node" || K === "outside-to-node-or-label" ? fe = oe : (K === "outside-to-line" || K === "outside-to-line-or-label") && (fe = [b.x, b.y]), u = r.nodeShapes[this.getNodeShape(c)].intersectLine(g.x, g.y, c.outerWidth(), c.outerHeight(), fe[0], fe[1], 0), K === "outside-to-node-or-label" || K === "outside-to-line-or-label") { - var ht = c._private.rscratch, Rt = ht.labelWidth, Lt = ht.labelHeight, yt = ht.labelX, Mt = ht.labelY, In = Rt / 2, Pn = Lt / 2, Vt = c.pstyle("text-valign").value; - Vt === "top" ? Mt -= Pn : Vt === "bottom" && (Mt += Pn); - var ar = c.pstyle("text-halign").value; - ar === "left" ? yt -= In : ar === "right" && (yt += In); - var Qe = Jp(fe[0], fe[1], [yt - In, Mt - Pn, yt + In, Mt - Pn, yt + In, Mt + Pn, yt - In, Mt + Pn], g.x, g.y); - if (Qe.length > 0) { - var ne = b, Ie = uv(ne, Tb(u)), Je = uv(ne, Tb(Qe)), Ye = Ie; - if (Je < Ie && (u = [Qe[0], Qe[1]], Ye = Je), Qe.length > 2) { - var Fe = uv(ne, { - x: Qe[2], - y: Qe[3] - }); - Fe < Ye && (u = [Qe[2], Qe[3]]); - } - } - } - var bn = ME(u, oe, r.arrowShapes[k].spacing(a) + C), tt = ME(u, oe, r.arrowShapes[k].gap(a) + C); - P.startX = tt[0], P.startY = tt[1], P.arrowStartX = bn[0], P.arrowStartY = bn[1], W && (!kt(P.startX) || !kt(P.startY) || !kt(P.endX) || !kt(P.endY) ? P.badLine = !0 : P.badLine = !1); -}; -dw.getSourceEndpoint = function(a) { - var r = a[0]._private.rscratch; - switch (this.recalculateRenderedStyle(a), r.edgeType) { - case "haystack": - return { - x: r.haystackPts[0], - y: r.haystackPts[1] - }; - default: - return { - x: r.arrowStartX, - y: r.arrowStartY - }; - } -}; -dw.getTargetEndpoint = function(a) { - var r = a[0]._private.rscratch; - switch (this.recalculateRenderedStyle(a), r.edgeType) { - case "haystack": - return { - x: r.haystackPts[2], - y: r.haystackPts[3] - }; - default: - return { - x: r.arrowEndX, - y: r.arrowEndY - }; - } -}; -var F6 = {}; -function Vce(a, r, u) { - for (var c = function(E, C, T, P) { - return Ja(E, C, T, P); - }, d = r._private, g = d.rstyle.bezierPts, b = 0; b < a.bezierProjPcts.length; b++) { - var y = a.bezierProjPcts[b]; - g.push({ - x: c(u[0], u[2], u[4], y), - y: c(u[1], u[3], u[5], y) - }); - } -} -F6.storeEdgeProjections = function(a) { - var r = a._private, u = r.rscratch, c = u.edgeType; - if (r.rstyle.bezierPts = null, r.rstyle.linePts = null, r.rstyle.haystackPts = null, c === "multibezier" || c === "bezier" || c === "self" || c === "compound") { - r.rstyle.bezierPts = []; - for (var d = 0; d + 5 < u.allpts.length; d += 4) - Vce(this, a, u.allpts.slice(d, d + 6)); - } else if (c === "segments") - for (var g = r.rstyle.linePts = [], d = 0; d + 1 < u.allpts.length; d += 2) - g.push({ - x: u.allpts[d], - y: u.allpts[d + 1] - }); - else if (c === "haystack") { - var b = u.haystackPts; - r.rstyle.haystackPts = [{ - x: b[0], - y: b[1] - }, { - x: b[2], - y: b[3] - }]; - } - r.rstyle.arrowWidth = this.getArrowWidth(a.pstyle("width").pfValue, a.pstyle("arrow-scale").value) * this.arrowShapeWidth; -}; -F6.recalculateEdgeProjections = function(a) { - this.findEdgeControlPoints(a); -}; -var Cl = {}; -Cl.recalculateNodeLabelProjection = function(a) { - var r = a.pstyle("label").strValue; - if (!zh(r)) { - var u, c, d = a._private, g = a.width(), b = a.height(), y = a.padding(), k = a.position(), E = a.pstyle("text-halign").strValue, C = a.pstyle("text-valign").strValue, T = d.rscratch, P = d.rstyle; - switch (E) { - case "left": - u = k.x - g / 2 - y; - break; - case "right": - u = k.x + g / 2 + y; - break; - default: - u = k.x; - } - switch (C) { - case "top": - c = k.y - b / 2 - y; - break; - case "bottom": - c = k.y + b / 2 + y; - break; - default: - c = k.y; - } - T.labelX = u, T.labelY = c, P.labelX = u, P.labelY = c, this.calculateLabelAngles(a), this.applyLabelDimensions(a); - } -}; -var Y$ = function(r, u) { - var c = Math.atan(u / r); - return r === 0 && c < 0 && (c = c * -1), c; -}, F$ = function(r, u) { - var c = u.x - r.x, d = u.y - r.y; - return Y$(c, d); -}, Wce = function(r, u, c, d) { - var g = Qp(0, d - 1e-3, 1), b = Qp(0, d + 1e-3, 1), y = Pb(r, u, c, g), k = Pb(r, u, c, b); - return F$(y, k); -}; -Cl.recalculateEdgeLabelProjections = function(a) { - var r, u = a._private, c = u.rscratch, d = this, g = { - mid: a.pstyle("label").strValue, - source: a.pstyle("source-label").strValue, - target: a.pstyle("target-label").strValue - }; - if (g.mid || g.source || g.target) { - r = { - x: c.midX, - y: c.midY - }; - var b = function(T, P, N) { - Oh(u.rscratch, T, P, N), Oh(u.rstyle, T, P, N); - }; - b("labelX", null, r.x), b("labelY", null, r.y); - var y = Y$(c.midDispX, c.midDispY); - b("labelAutoAngle", null, y); - var k = function C() { - if (C.cache) - return C.cache; - for (var T = [], P = 0; P + 5 < c.allpts.length; P += 4) { - var N = { - x: c.allpts[P], - y: c.allpts[P + 1] - }, D = { - x: c.allpts[P + 2], - y: c.allpts[P + 3] - }, H = { - x: c.allpts[P + 4], - y: c.allpts[P + 5] - }; - T.push({ - p0: N, - p1: D, - p2: H, - startDist: 0, - length: 0, - segments: [] - }); - } - var _ = u.rstyle.bezierPts, B = d.bezierProjPcts.length; - function $(K, ee, Z, ae, oe) { - var J = hv(ee, Z), fe = K.segments[K.segments.length - 1], se = { - p0: ee, - p1: Z, - t0: ae, - t1: oe, - startDist: fe ? fe.startDist + fe.length : 0, - length: J - }; - K.segments.push(se), K.length += J; - } - for (var F = 0; F < T.length; F++) { - var W = T[F], Q = T[F - 1]; - Q && (W.startDist = Q.startDist + Q.length), $(W, W.p0, _[F * B], 0, d.bezierProjPcts[0]); - for (var X = 0; X < B - 1; X++) - $(W, _[F * B + X], _[F * B + X + 1], d.bezierProjPcts[X], d.bezierProjPcts[X + 1]); - $(W, _[F * B + B - 1], W.p2, d.bezierProjPcts[B - 1], 1); - } - return C.cache = T; - }, E = function(T) { - var P, N = T === "source"; - if (g[T]) { - var D = a.pstyle(T + "-text-offset").pfValue; - switch (c.edgeType) { - case "self": - case "compound": - case "bezier": - case "multibezier": { - for (var H = k(), _, B = 0, $ = 0, F = 0; F < H.length; F++) { - for (var W = H[N ? F : H.length - 1 - F], Q = 0; Q < W.segments.length; Q++) { - var X = W.segments[N ? Q : W.segments.length - 1 - Q], K = F === H.length - 1 && Q === W.segments.length - 1; - if (B = $, $ += X.length, $ >= D || K) { - _ = { - cp: W, - segment: X - }; - break; - } - } - if (_) - break; - } - var ee = _.cp, Z = _.segment, ae = (D - B) / Z.length, oe = Z.t1 - Z.t0, J = N ? Z.t0 + oe * ae : Z.t1 - oe * ae; - J = Qp(0, J, 1), r = Pb(ee.p0, ee.p1, ee.p2, J), P = Wce(ee.p0, ee.p1, ee.p2, J); - break; - } - case "straight": - case "segments": - case "haystack": { - for (var fe = 0, se, pe, he, de, ke = c.allpts.length, Pe = 0; Pe + 3 < ke && (N ? (he = { - x: c.allpts[Pe], - y: c.allpts[Pe + 1] - }, de = { - x: c.allpts[Pe + 2], - y: c.allpts[Pe + 3] - }) : (he = { - x: c.allpts[ke - 2 - Pe], - y: c.allpts[ke - 1 - Pe] - }, de = { - x: c.allpts[ke - 4 - Pe], - y: c.allpts[ke - 3 - Pe] - }), se = hv(he, de), pe = fe, fe += se, !(fe >= D)); Pe += 2) - ; - var Ae = D - pe, Te = Ae / se; - Te = Qp(0, Te, 1), r = use(he, de, Te), P = F$(he, de); - break; - } - } - b("labelX", T, r.x), b("labelY", T, r.y), b("labelAutoAngle", T, P); - } - }; - E("source"), E("target"), this.applyLabelDimensions(a); - } -}; -Cl.applyLabelDimensions = function(a) { - this.applyPrefixedLabelDimensions(a), a.isEdge() && (this.applyPrefixedLabelDimensions(a, "source"), this.applyPrefixedLabelDimensions(a, "target")); -}; -Cl.applyPrefixedLabelDimensions = function(a, r) { - var u = a._private, c = this.getLabelText(a, r), d = this.calculateLabelDimensions(a, c), g = a.pstyle("line-height").pfValue, b = a.pstyle("text-wrap").strValue, y = Sc(u.rscratch, "labelWrapCachedLines", r) || [], k = b !== "wrap" ? 1 : Math.max(y.length, 1), E = d.height / k, C = E * g, T = d.width, P = d.height + (k - 1) * (g - 1) * E; - Oh(u.rstyle, "labelWidth", r, T), Oh(u.rscratch, "labelWidth", r, T), Oh(u.rstyle, "labelHeight", r, P), Oh(u.rscratch, "labelHeight", r, P), Oh(u.rscratch, "labelLineHeight", r, C); -}; -Cl.getLabelText = function(a, r) { - var u = a._private, c = r ? r + "-" : "", d = a.pstyle(c + "label").strValue, g = a.pstyle("text-transform").value, b = function(Ae, Te) { - return Te ? (Oh(u.rscratch, Ae, r, Te), Te) : Sc(u.rscratch, Ae, r); - }; - if (!d) - return ""; - g == "none" || (g == "uppercase" ? d = d.toUpperCase() : g == "lowercase" && (d = d.toLowerCase())); - var y = a.pstyle("text-wrap").value; - if (y === "wrap") { - var k = b("labelKey"); - if (k != null && b("labelWrapKey") === k) - return b("labelWrapCachedText"); - for (var E = "​", C = d.split(` -`), T = a.pstyle("text-max-width").pfValue, P = a.pstyle("text-overflow-wrap").value, N = P === "anywhere", D = [], H = /[\s\u200b]+/, _ = N ? "" : " ", B = 0; B < C.length; B++) { - var $ = C[B], F = this.calculateLabelDimensions(a, $), W = F.width; - if (N) { - var Q = $.split("").join(E); - $ = Q; - } - if (W > T) { - for (var X = $.split(H), K = "", ee = 0; ee < X.length; ee++) { - var Z = X[ee], ae = K.length === 0 ? Z : K + _ + Z, oe = this.calculateLabelDimensions(a, ae), J = oe.width; - J <= T ? K += Z + _ : (K && D.push(K), K = Z + _); - } - K.match(/^[\s\u200b]+$/) || D.push(K); - } else - D.push($); - } - b("labelWrapCachedLines", D), d = b("labelWrapCachedText", D.join(` -`)), b("labelWrapKey", k); - } else if (y === "ellipsis") { - var fe = a.pstyle("text-max-width").pfValue, se = "", pe = "…", he = !1; - if (this.calculateLabelDimensions(a, d).width < fe) - return d; - for (var de = 0; de < d.length; de++) { - var ke = this.calculateLabelDimensions(a, se + d[de] + pe).width; - if (ke > fe) - break; - se += d[de], de === d.length - 1 && (he = !0); - } - return he || (se += pe), se; - } - return d; -}; -Cl.getLabelJustification = function(a) { - var r = a.pstyle("text-justification").strValue, u = a.pstyle("text-halign").strValue; - if (r === "auto") - if (a.isNode()) - switch (u) { - case "left": - return "right"; - case "right": - return "left"; - default: - return "center"; - } - else - return "center"; - else - return r; -}; -Cl.calculateLabelDimensions = function(a, r) { - var u = this, c = fv(r, a._private.labelDimsKey), d = u.labelDimCache || (u.labelDimCache = []), g = d[c]; - if (g != null) - return g; - var b = 0, y = a.pstyle("font-style").strValue, k = a.pstyle("font-size").pfValue, E = a.pstyle("font-family").strValue, C = a.pstyle("font-weight").strValue, T = this.labelCalcCanvas, P = this.labelCalcCanvasContext; - if (!T) { - T = this.labelCalcCanvas = document.createElement("canvas"), P = this.labelCalcCanvasContext = T.getContext("2d"); - var N = T.style; - N.position = "absolute", N.left = "-9999px", N.top = "-9999px", N.zIndex = "-1", N.visibility = "hidden", N.pointerEvents = "none"; - } - P.font = "".concat(y, " ").concat(C, " ").concat(k, "px ").concat(E); - for (var D = 0, H = 0, _ = r.split(` -`), B = 0; B < _.length; B++) { - var $ = _[B], F = P.measureText($), W = Math.ceil(F.width), Q = k; - D = Math.max(W, D), H += Q; - } - return D += b, H += b, d[c] = { - width: D, - height: H - }; -}; -Cl.calculateLabelAngle = function(a, r) { - var u = a._private, c = u.rscratch, d = a.isEdge(), g = r ? r + "-" : "", b = a.pstyle(g + "text-rotation"), y = b.strValue; - return y === "none" ? 0 : d && y === "autorotate" ? c.labelAutoAngle : y === "autorotate" ? 0 : b.pfValue; -}; -Cl.calculateLabelAngles = function(a) { - var r = this, u = a.isEdge(), c = a._private, d = c.rscratch; - d.labelAngle = r.calculateLabelAngle(a), u && (d.sourceLabelAngle = r.calculateLabelAngle(a, "source"), d.targetLabelAngle = r.calculateLabelAngle(a, "target")); -}; -var q$ = {}, vG = 28, gG = !1; -q$.getNodeShape = function(a) { - var r = this, u = a.pstyle("shape").value; - if (u === "cutrectangle" && (a.width() < vG || a.height() < vG)) - return gG || (Sr("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"), gG = !0), "rectangle"; - if (a.isParent()) - return u === "rectangle" || u === "roundrectangle" || u === "round-rectangle" || u === "cutrectangle" || u === "cut-rectangle" || u === "barrel" ? u : "rectangle"; - if (u === "polygon") { - var c = a.pstyle("shape-polygon-points").value; - return r.nodeShapes.makePolygon(c).name; - } - return u; -}; -var E5 = {}; -E5.registerCalculationListeners = function() { - var a = this.cy, r = a.collection(), u = this, c = function(b) { - var y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; - if (r.merge(b), y) - for (var k = 0; k < b.length; k++) { - var E = b[k], C = E._private, T = C.rstyle; - T.clean = !1, T.cleanConnected = !1; - } - }; - u.binder(a).on("bounds.* dirty.*", function(b) { - var y = b.target; - c(y); - }).on("style.* background.*", function(b) { - var y = b.target; - c(y, !1); - }); - var d = function(b) { - if (b) { - var y = u.onUpdateEleCalcsFns; - r.cleanStyle(); - for (var k = 0; k < r.length; k++) { - var E = r[k], C = E._private.rstyle; - E.isNode() && !C.cleanConnected && (c(E.connectedEdges()), C.cleanConnected = !0); - } - if (y) - for (var T = 0; T < y.length; T++) { - var P = y[T]; - P(b, r); - } - u.recalculateRenderedStyle(r), r = a.collection(); - } - }; - u.flushRenderedStyleQueue = function() { - d(!0); - }, u.beforeRender(d, u.beforeRenderPriorities.eleCalcs); -}; -E5.onUpdateEleCalcs = function(a) { - var r = this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []; - r.push(a); -}; -E5.recalculateRenderedStyle = function(a, r) { - var u = function(W) { - return W._private.rstyle.cleanConnected; - }, c = [], d = []; - if (!this.destroyed) { - r === void 0 && (r = !0); - for (var g = 0; g < a.length; g++) { - var b = a[g], y = b._private, k = y.rstyle; - b.isEdge() && (!u(b.source()) || !u(b.target())) && (k.clean = !1), !(r && k.clean || b.removed()) && b.pstyle("display").value !== "none" && (y.group === "nodes" ? d.push(b) : c.push(b), k.clean = !0); - } - for (var E = 0; E < d.length; E++) { - var C = d[E], T = C._private, P = T.rstyle, N = C.position(); - this.recalculateNodeLabelProjection(C), P.nodeX = N.x, P.nodeY = N.y, P.nodeW = C.pstyle("width").pfValue, P.nodeH = C.pstyle("height").pfValue; - } - this.recalculateEdgeProjections(c); - for (var D = 0; D < c.length; D++) { - var H = c[D], _ = H._private, B = _.rstyle, $ = _.rscratch; - B.srcX = $.arrowStartX, B.srcY = $.arrowStartY, B.tgtX = $.arrowEndX, B.tgtY = $.arrowEndY, B.midX = $.midX, B.midY = $.midY, B.labelAngle = $.labelAngle, B.sourceLabelAngle = $.sourceLabelAngle, B.targetLabelAngle = $.targetLabelAngle; - } - } -}; -var S5 = {}; -S5.updateCachedGrabbedEles = function() { - var a = this.cachedZSortedEles; - if (a) { - a.drag = [], a.nondrag = []; - for (var r = [], u = 0; u < a.length; u++) { - var c = a[u], d = c._private.rscratch; - c.grabbed() && !c.isParent() ? r.push(c) : d.inDragLayer ? a.drag.push(c) : a.nondrag.push(c); - } - for (var u = 0; u < r.length; u++) { - var c = r[u]; - a.drag.push(c); - } - } -}; -S5.invalidateCachedZSortedEles = function() { - this.cachedZSortedEles = null; -}; -S5.getCachedZSortedEles = function(a) { - if (a || !this.cachedZSortedEles) { - var r = this.cy.mutableElements().toArray(); - r.sort(N$), r.interactive = r.filter(function(u) { - return u.interactive(); - }), this.cachedZSortedEles = r, this.updateCachedGrabbedEles(); - } else - r = this.cachedZSortedEles; - return r; -}; -var V$ = {}; -[pv, r5, Ro, dw, F6, Cl, q$, E5, S5].forEach(function(a) { - on(V$, a); -}); -var W$ = {}; -W$.getCachedImage = function(a, r, u) { - var c = this, d = c.imageCache = c.imageCache || {}, g = d[a]; - if (g) - return g.image.complete || g.image.addEventListener("load", u), g.image; - g = d[a] = d[a] || {}; - var b = g.image = new Image(); - b.addEventListener("load", u), b.addEventListener("error", function() { - b.error = !0; - }); - var y = "data:", k = a.substring(0, y.length).toLowerCase() === y; - return k || (r = r === "null" ? null : r, b.crossOrigin = r), b.src = a, b; -}; -var $b = {}; -$b.registerBinding = function(a, r, u, c) { - var d = Array.prototype.slice.apply(arguments, [1]), g = this.binder(a); - return g.on.apply(g, d); -}; -$b.binder = function(a) { - var r = this, u = r.cy.window(), c = a === u || a === u.document || a === u.document.body || doe(a); - if (r.supportsPassiveEvents == null) { - var d = !1; - try { - var g = Object.defineProperty({}, "passive", { - get: function() { - return d = !0, !0; - } - }); - u.addEventListener("test", null, g); - } catch { - } - r.supportsPassiveEvents = d; - } - var b = function(k, E, C) { - var T = Array.prototype.slice.call(arguments); - return c && r.supportsPassiveEvents && (T[2] = { - capture: C ?? !1, - passive: !1, - once: !1 - }), r.bindings.push({ - target: a, - args: T - }), (a.addEventListener || a.on).apply(a, T), this; - }; - return { - on: b, - addEventListener: b, - addListener: b, - bind: b - }; -}; -$b.nodeIsDraggable = function(a) { - return a && a.isNode() && !a.locked() && a.grabbable(); -}; -$b.nodeIsGrabbable = function(a) { - return this.nodeIsDraggable(a) && a.interactive(); -}; -$b.load = function() { - var a = this, r = a.cy.window(), u = function(ne) { - return ne.selected(); - }, c = function(ne, Ie, Je, Ye) { - ne == null && (ne = a.cy); - for (var Fe = 0; Fe < Ie.length; Fe++) { - var bn = Ie[Fe]; - ne.emit({ - originalEvent: Je, - type: bn, - position: Ye - }); - } - }, d = function(ne) { - return ne.shiftKey || ne.metaKey || ne.ctrlKey; - }, g = function(ne, Ie) { - var Je = !0; - if (a.cy.hasCompoundNodes() && ne && ne.pannable()) - for (var Ye = 0; Ie && Ye < Ie.length; Ye++) { - var ne = Ie[Ye]; - if (ne.isNode() && ne.isParent() && !ne.pannable()) { - Je = !1; - break; - } - } - else - Je = !0; - return Je; - }, b = function(ne) { - ne[0]._private.grabbed = !0; - }, y = function(ne) { - ne[0]._private.grabbed = !1; - }, k = function(ne) { - ne[0]._private.rscratch.inDragLayer = !0; - }, E = function(ne) { - ne[0]._private.rscratch.inDragLayer = !1; - }, C = function(ne) { - ne[0]._private.rscratch.isGrabTarget = !0; - }, T = function(ne) { - ne[0]._private.rscratch.isGrabTarget = !1; - }, P = function(ne, Ie) { - var Je = Ie.addToList, Ye = Je.has(ne); - !Ye && ne.grabbable() && !ne.locked() && (Je.merge(ne), b(ne)); - }, N = function(ne, Ie) { - if (ne.cy().hasCompoundNodes() && !(Ie.inDragLayer == null && Ie.addToList == null)) { - var Je = ne.descendants(); - Ie.inDragLayer && (Je.forEach(k), Je.connectedEdges().forEach(k)), Ie.addToList && P(Je, Ie); - } - }, D = function(ne, Ie) { - Ie = Ie || {}; - var Je = ne.cy().hasCompoundNodes(); - Ie.inDragLayer && (ne.forEach(k), ne.neighborhood().stdFilter(function(Ye) { - return !Je || Ye.isEdge(); - }).forEach(k)), Ie.addToList && ne.forEach(function(Ye) { - P(Ye, Ie); - }), N(ne, Ie), B(ne, { - inDragLayer: Ie.inDragLayer - }), a.updateCachedGrabbedEles(); - }, H = D, _ = function(ne) { - ne && (a.getCachedZSortedEles().forEach(function(Ie) { - y(Ie), E(Ie), T(Ie); - }), a.updateCachedGrabbedEles()); - }, B = function(ne, Ie) { - if (!(Ie.inDragLayer == null && Ie.addToList == null) && ne.cy().hasCompoundNodes()) { - var Je = ne.ancestors().orphans(); - if (!Je.same(ne)) { - var Ye = Je.descendants().spawnSelf().merge(Je).unmerge(ne).unmerge(ne.descendants()), Fe = Ye.connectedEdges(); - Ie.inDragLayer && (Fe.forEach(k), Ye.forEach(k)), Ie.addToList && Ye.forEach(function(bn) { - P(bn, Ie); - }); - } - } - }, $ = function() { - document.activeElement != null && document.activeElement.blur != null && document.activeElement.blur(); - }, F = typeof MutationObserver < "u", W = typeof ResizeObserver < "u"; - F ? (a.removeObserver = new MutationObserver(function(Qe) { - for (var ne = 0; ne < Qe.length; ne++) { - var Ie = Qe[ne], Je = Ie.removedNodes; - if (Je) - for (var Ye = 0; Ye < Je.length; Ye++) { - var Fe = Je[Ye]; - if (Fe === a.container) { - a.destroy(); - break; - } - } - } - }), a.container.parentNode && a.removeObserver.observe(a.container.parentNode, { - childList: !0 - })) : a.registerBinding(a.container, "DOMNodeRemoved", function(Qe) { - a.destroy(); - }); - var Q = l5.default(function() { - a.cy.resize(); - }, 100); - F && (a.styleObserver = new MutationObserver(Q), a.styleObserver.observe(a.container, { - attributes: !0 - })), a.registerBinding(r, "resize", Q), W && (a.resizeObserver = new ResizeObserver(Q), a.resizeObserver.observe(a.container)); - var X = function(ne, Ie) { - for (; ne != null; ) - Ie(ne), ne = ne.parentNode; - }, K = function() { - a.invalidateContainerClientCoordsCache(); - }; - X(a.container, function(Qe) { - a.registerBinding(Qe, "transitionend", K), a.registerBinding(Qe, "animationend", K), a.registerBinding(Qe, "scroll", K); - }), a.registerBinding(a.container, "contextmenu", function(Qe) { - Qe.preventDefault(); - }); - var ee = function() { - return a.selection[4] !== 0; - }, Z = function(ne) { - for (var Ie = a.findContainerClientCoords(), Je = Ie[0], Ye = Ie[1], Fe = Ie[2], bn = Ie[3], tt = ne.touches ? ne.touches : [ne], Gt = !1, tr = 0; tr < tt.length; tr++) { - var hr = tt[tr]; - if (Je <= hr.clientX && hr.clientX <= Je + Fe && Ye <= hr.clientY && hr.clientY <= Ye + bn) { - Gt = !0; - break; - } - } - if (!Gt) - return !1; - for (var Dn = a.container, rr = ne.target, wn = rr.parentNode, jn = !1; wn; ) { - if (wn === Dn) { - jn = !0; - break; - } - wn = wn.parentNode; - } - return !!jn; - }; - a.registerBinding(a.container, "mousedown", function(ne) { - if (Z(ne)) { - ne.preventDefault(), $(), a.hoverData.capture = !0, a.hoverData.which = ne.which; - var Ie = a.cy, Je = [ne.clientX, ne.clientY], Ye = a.projectIntoViewport(Je[0], Je[1]), Fe = a.selection, bn = a.findNearestElements(Ye[0], Ye[1], !0, !1), tt = bn[0], Gt = a.dragData.possibleDragElements; - a.hoverData.mdownPos = Ye, a.hoverData.mdownGPos = Je; - var tr = function() { - a.hoverData.tapholdCancelled = !1, clearTimeout(a.hoverData.tapholdTimeout), a.hoverData.tapholdTimeout = setTimeout(function() { - if (!a.hoverData.tapholdCancelled) { - var ui = a.hoverData.down; - ui ? ui.emit({ - originalEvent: ne, - type: "taphold", - position: { - x: Ye[0], - y: Ye[1] - } - }) : Ie.emit({ - originalEvent: ne, - type: "taphold", - position: { - x: Ye[0], - y: Ye[1] - } - }); - } - }, a.tapholdDuration); - }; - if (ne.which == 3) { - a.hoverData.cxtStarted = !0; - var hr = { - originalEvent: ne, - type: "cxttapstart", - position: { - x: Ye[0], - y: Ye[1] - } - }; - tt ? (tt.activate(), tt.emit(hr), a.hoverData.down = tt) : Ie.emit(hr), a.hoverData.downTime = (/* @__PURE__ */ new Date()).getTime(), a.hoverData.cxtDragged = !1; - } else if (ne.which == 1) { - tt && tt.activate(); - { - if (tt != null && a.nodeIsGrabbable(tt)) { - var Dn = function(ui) { - return { - originalEvent: ne, - type: ui, - position: { - x: Ye[0], - y: Ye[1] - } - }; - }, rr = function(ui) { - ui.emit(Dn("grab")); - }; - if (C(tt), !tt.selected()) - Gt = a.dragData.possibleDragElements = Ie.collection(), H(tt, { - addToList: Gt - }), tt.emit(Dn("grabon")).emit(Dn("grab")); - else { - Gt = a.dragData.possibleDragElements = Ie.collection(); - var wn = Ie.$(function(jn) { - return jn.isNode() && jn.selected() && a.nodeIsGrabbable(jn); - }); - D(wn, { - addToList: Gt - }), tt.emit(Dn("grabon")), wn.forEach(rr); - } - a.redrawHint("eles", !0), a.redrawHint("drag", !0); - } - a.hoverData.down = tt, a.hoverData.downs = bn, a.hoverData.downTime = (/* @__PURE__ */ new Date()).getTime(); - } - c(tt, ["mousedown", "tapstart", "vmousedown"], ne, { - x: Ye[0], - y: Ye[1] - }), tt == null ? (Fe[4] = 1, a.data.bgActivePosistion = { - x: Ye[0], - y: Ye[1] - }, a.redrawHint("select", !0), a.redraw()) : tt.pannable() && (Fe[4] = 1), tr(); - } - Fe[0] = Fe[2] = Ye[0], Fe[1] = Fe[3] = Ye[1]; - } - }, !1), a.registerBinding(r, "mousemove", function(ne) { - var Ie = a.hoverData.capture; - if (!(!Ie && !Z(ne))) { - var Je = !1, Ye = a.cy, Fe = Ye.zoom(), bn = [ne.clientX, ne.clientY], tt = a.projectIntoViewport(bn[0], bn[1]), Gt = a.hoverData.mdownPos, tr = a.hoverData.mdownGPos, hr = a.selection, Dn = null; - !a.hoverData.draggingEles && !a.hoverData.dragging && !a.hoverData.selecting && (Dn = a.findNearestElement(tt[0], tt[1], !0, !1)); - var rr = a.hoverData.last, wn = a.hoverData.down, jn = [tt[0] - hr[2], tt[1] - hr[3]], ui = a.dragData.possibleDragElements, aa; - if (tr) { - var cs = bn[0] - tr[0], ls = cs * cs, oa = bn[1] - tr[1], Bo = oa * oa, za = ls + Bo; - a.hoverData.isOverThresholdDrag = aa = za >= a.desktopTapThreshold2; - } - var ru = d(ne); - aa && (a.hoverData.tapholdCancelled = !0); - var Mu = function() { - var Os = a.hoverData.dragDelta = a.hoverData.dragDelta || []; - Os.length === 0 ? (Os.push(jn[0]), Os.push(jn[1])) : (Os[0] += jn[0], Os[1] += jn[1]); - }; - Je = !0, c(Dn, ["mousemove", "vmousemove", "tapdrag"], ne, { - x: tt[0], - y: tt[1] - }); - var Tl = function() { - a.data.bgActivePosistion = void 0, a.hoverData.selecting || Ye.emit({ - originalEvent: ne, - type: "boxstart", - position: { - x: tt[0], - y: tt[1] - } - }), hr[4] = 1, a.hoverData.selecting = !0, a.redrawHint("select", !0), a.redraw(); - }; - if (a.hoverData.which === 3) { - if (aa) { - var xc = { - originalEvent: ne, - type: "cxtdrag", - position: { - x: tt[0], - y: tt[1] - } - }; - wn ? wn.emit(xc) : Ye.emit(xc), a.hoverData.cxtDragged = !0, (!a.hoverData.cxtOver || Dn !== a.hoverData.cxtOver) && (a.hoverData.cxtOver && a.hoverData.cxtOver.emit({ - originalEvent: ne, - type: "cxtdragout", - position: { - x: tt[0], - y: tt[1] - } - }), a.hoverData.cxtOver = Dn, Dn && Dn.emit({ - originalEvent: ne, - type: "cxtdragover", - position: { - x: tt[0], - y: tt[1] - } - })); - } - } else if (a.hoverData.dragging) { - if (Je = !0, Ye.panningEnabled() && Ye.userPanningEnabled()) { - var Ll; - if (a.hoverData.justStartedPan) { - var Vh = a.hoverData.mdownPos; - Ll = { - x: (tt[0] - Vh[0]) * Fe, - y: (tt[1] - Vh[1]) * Fe - }, a.hoverData.justStartedPan = !1; - } else - Ll = { - x: jn[0] * Fe, - y: jn[1] * Fe - }; - Ye.panBy(Ll), Ye.emit("dragpan"), a.hoverData.dragged = !0; - } - tt = a.projectIntoViewport(ne.clientX, ne.clientY); - } else if (hr[4] == 1 && (wn == null || wn.pannable())) { - if (aa) { - if (!a.hoverData.dragging && Ye.boxSelectionEnabled() && (ru || !Ye.panningEnabled() || !Ye.userPanningEnabled())) - Tl(); - else if (!a.hoverData.selecting && Ye.panningEnabled() && Ye.userPanningEnabled()) { - var Tc = g(wn, a.hoverData.downs); - Tc && (a.hoverData.dragging = !0, a.hoverData.justStartedPan = !0, hr[4] = 0, a.data.bgActivePosistion = Tb(Gt), a.redrawHint("select", !0), a.redraw()); - } - wn && wn.pannable() && wn.active() && wn.unactivate(); - } - } else { - if (wn && wn.pannable() && wn.active() && wn.unactivate(), (!wn || !wn.grabbed()) && Dn != rr && (rr && c(rr, ["mouseout", "tapdragout"], ne, { - x: tt[0], - y: tt[1] - }), Dn && c(Dn, ["mouseover", "tapdragover"], ne, { - x: tt[0], - y: tt[1] - }), a.hoverData.last = Dn), wn) - if (aa) { - if (Ye.boxSelectionEnabled() && ru) - wn && wn.grabbed() && (_(ui), wn.emit("freeon"), ui.emit("free"), a.dragData.didDrag && (wn.emit("dragfreeon"), ui.emit("dragfree"))), Tl(); - else if (wn && wn.grabbed() && a.nodeIsDraggable(wn)) { - var eo = !a.dragData.didDrag; - eo && a.redrawHint("eles", !0), a.dragData.didDrag = !0, a.hoverData.draggingEles || D(ui, { - inDragLayer: !0 - }); - var ma = { - x: 0, - y: 0 - }; - if (kt(jn[0]) && kt(jn[1]) && (ma.x += jn[0], ma.y += jn[1], eo)) { - var to = a.hoverData.dragDelta; - to && kt(to[0]) && kt(to[1]) && (ma.x += to[0], ma.y += to[1]); - } - a.hoverData.draggingEles = !0, ui.silentShift(ma).emit("position drag"), a.redrawHint("drag", !0), a.redraw(); - } - } else - Mu(); - Je = !0; - } - if (hr[2] = tt[0], hr[3] = tt[1], Je) - return ne.stopPropagation && ne.stopPropagation(), ne.preventDefault && ne.preventDefault(), !1; - } - }, !1); - var ae, oe, J; - a.registerBinding(r, "mouseup", function(ne) { - var Ie = a.hoverData.capture; - if (Ie) { - a.hoverData.capture = !1; - var Je = a.cy, Ye = a.projectIntoViewport(ne.clientX, ne.clientY), Fe = a.selection, bn = a.findNearestElement(Ye[0], Ye[1], !0, !1), tt = a.dragData.possibleDragElements, Gt = a.hoverData.down, tr = d(ne); - if (a.data.bgActivePosistion && (a.redrawHint("select", !0), a.redraw()), a.hoverData.tapholdCancelled = !0, a.data.bgActivePosistion = void 0, Gt && Gt.unactivate(), a.hoverData.which === 3) { - var hr = { - originalEvent: ne, - type: "cxttapend", - position: { - x: Ye[0], - y: Ye[1] - } - }; - if (Gt ? Gt.emit(hr) : Je.emit(hr), !a.hoverData.cxtDragged) { - var Dn = { - originalEvent: ne, - type: "cxttap", - position: { - x: Ye[0], - y: Ye[1] - } - }; - Gt ? Gt.emit(Dn) : Je.emit(Dn); - } - a.hoverData.cxtDragged = !1, a.hoverData.which = null; - } else if (a.hoverData.which === 1) { - if (c(bn, ["mouseup", "tapend", "vmouseup"], ne, { - x: Ye[0], - y: Ye[1] - }), !a.dragData.didDrag && // didn't move a node around - !a.hoverData.dragged && // didn't pan - !a.hoverData.selecting && // not box selection - !a.hoverData.isOverThresholdDrag && (c(Gt, ["click", "tap", "vclick"], ne, { - x: Ye[0], - y: Ye[1] - }), oe = !1, ne.timeStamp - J <= Je.multiClickDebounceTime() ? (ae && clearTimeout(ae), oe = !0, J = null, c(Gt, ["dblclick", "dbltap", "vdblclick"], ne, { - x: Ye[0], - y: Ye[1] - })) : (ae = setTimeout(function() { - oe || c(Gt, ["oneclick", "onetap", "voneclick"], ne, { - x: Ye[0], - y: Ye[1] - }); - }, Je.multiClickDebounceTime()), J = ne.timeStamp)), Gt == null && !a.dragData.didDrag && !a.hoverData.selecting && !a.hoverData.dragged && !d(ne) && (Je.$(u).unselect(["tapunselect"]), tt.length > 0 && a.redrawHint("eles", !0), a.dragData.possibleDragElements = tt = Je.collection()), bn == Gt && !a.dragData.didDrag && !a.hoverData.selecting && bn != null && bn._private.selectable && (a.hoverData.dragging || (Je.selectionType() === "additive" || tr ? bn.selected() ? bn.unselect(["tapunselect"]) : bn.select(["tapselect"]) : tr || (Je.$(u).unmerge(bn).unselect(["tapunselect"]), bn.select(["tapselect"]))), a.redrawHint("eles", !0)), a.hoverData.selecting) { - var rr = Je.collection(a.getAllInBox(Fe[0], Fe[1], Fe[2], Fe[3])); - a.redrawHint("select", !0), rr.length > 0 && a.redrawHint("eles", !0), Je.emit({ - type: "boxend", - originalEvent: ne, - position: { - x: Ye[0], - y: Ye[1] - } - }); - var wn = function(aa) { - return aa.selectable() && !aa.selected(); - }; - Je.selectionType() === "additive" || tr || Je.$(u).unmerge(rr).unselect(), rr.emit("box").stdFilter(wn).select().emit("boxselect"), a.redraw(); - } - if (a.hoverData.dragging && (a.hoverData.dragging = !1, a.redrawHint("select", !0), a.redrawHint("eles", !0), a.redraw()), !Fe[4]) { - a.redrawHint("drag", !0), a.redrawHint("eles", !0); - var jn = Gt && Gt.grabbed(); - _(tt), jn && (Gt.emit("freeon"), tt.emit("free"), a.dragData.didDrag && (Gt.emit("dragfreeon"), tt.emit("dragfree"))); - } - } - Fe[4] = 0, a.hoverData.down = null, a.hoverData.cxtStarted = !1, a.hoverData.draggingEles = !1, a.hoverData.selecting = !1, a.hoverData.isOverThresholdDrag = !1, a.dragData.didDrag = !1, a.hoverData.dragged = !1, a.hoverData.dragDelta = [], a.hoverData.mdownPos = null, a.hoverData.mdownGPos = null; - } - }, !1); - var fe = function(ne) { - if (!a.scrollingPage) { - var Ie = a.cy, Je = Ie.zoom(), Ye = Ie.pan(), Fe = a.projectIntoViewport(ne.clientX, ne.clientY), bn = [Fe[0] * Je + Ye.x, Fe[1] * Je + Ye.y]; - if (a.hoverData.draggingEles || a.hoverData.dragging || a.hoverData.cxtStarted || ee()) { - ne.preventDefault(); - return; - } - if (Ie.panningEnabled() && Ie.userPanningEnabled() && Ie.zoomingEnabled() && Ie.userZoomingEnabled()) { - ne.preventDefault(), a.data.wheelZooming = !0, clearTimeout(a.data.wheelTimeout), a.data.wheelTimeout = setTimeout(function() { - a.data.wheelZooming = !1, a.redrawHint("eles", !0), a.redraw(); - }, 150); - var tt; - ne.deltaY != null ? tt = ne.deltaY / -250 : ne.wheelDeltaY != null ? tt = ne.wheelDeltaY / 1e3 : tt = ne.wheelDelta / 1e3, tt = tt * a.wheelSensitivity; - var Gt = ne.deltaMode === 1; - Gt && (tt *= 33); - var tr = Ie.zoom() * Math.pow(10, tt); - ne.type === "gesturechange" && (tr = a.gestureStartZoom * ne.scale), Ie.zoom({ - level: tr, - renderedPosition: { - x: bn[0], - y: bn[1] - } - }), Ie.emit(ne.type === "gesturechange" ? "pinchzoom" : "scrollzoom"); - } - } - }; - a.registerBinding(a.container, "wheel", fe, !0), a.registerBinding(r, "scroll", function(ne) { - a.scrollingPage = !0, clearTimeout(a.scrollingPageTimeout), a.scrollingPageTimeout = setTimeout(function() { - a.scrollingPage = !1; - }, 250); - }, !0), a.registerBinding(a.container, "gesturestart", function(ne) { - a.gestureStartZoom = a.cy.zoom(), a.hasTouchStarted || ne.preventDefault(); - }, !0), a.registerBinding(a.container, "gesturechange", function(Qe) { - a.hasTouchStarted || fe(Qe); - }, !0), a.registerBinding(a.container, "mouseout", function(ne) { - var Ie = a.projectIntoViewport(ne.clientX, ne.clientY); - a.cy.emit({ - originalEvent: ne, - type: "mouseout", - position: { - x: Ie[0], - y: Ie[1] - } - }); - }, !1), a.registerBinding(a.container, "mouseover", function(ne) { - var Ie = a.projectIntoViewport(ne.clientX, ne.clientY); - a.cy.emit({ - originalEvent: ne, - type: "mouseover", - position: { - x: Ie[0], - y: Ie[1] - } - }); - }, !1); - var se, pe, he, de, ke, Pe, Ae, Te, Oe, ze, We, $e, Ge, me = function(ne, Ie, Je, Ye) { - return Math.sqrt((Je - ne) * (Je - ne) + (Ye - Ie) * (Ye - Ie)); - }, Ve = function(ne, Ie, Je, Ye) { - return (Je - ne) * (Je - ne) + (Ye - Ie) * (Ye - Ie); - }, Ke; - a.registerBinding(a.container, "touchstart", Ke = function(ne) { - if (a.hasTouchStarted = !0, !!Z(ne)) { - $(), a.touchData.capture = !0, a.data.bgActivePosistion = void 0; - var Ie = a.cy, Je = a.touchData.now, Ye = a.touchData.earlier; - if (ne.touches[0]) { - var Fe = a.projectIntoViewport(ne.touches[0].clientX, ne.touches[0].clientY); - Je[0] = Fe[0], Je[1] = Fe[1]; - } - if (ne.touches[1]) { - var Fe = a.projectIntoViewport(ne.touches[1].clientX, ne.touches[1].clientY); - Je[2] = Fe[0], Je[3] = Fe[1]; - } - if (ne.touches[2]) { - var Fe = a.projectIntoViewport(ne.touches[2].clientX, ne.touches[2].clientY); - Je[4] = Fe[0], Je[5] = Fe[1]; - } - if (ne.touches[1]) { - a.touchData.singleTouchMoved = !0, _(a.dragData.touchDragEles); - var bn = a.findContainerClientCoords(); - Oe = bn[0], ze = bn[1], We = bn[2], $e = bn[3], se = ne.touches[0].clientX - Oe, pe = ne.touches[0].clientY - ze, he = ne.touches[1].clientX - Oe, de = ne.touches[1].clientY - ze, Ge = 0 <= se && se <= We && 0 <= he && he <= We && 0 <= pe && pe <= $e && 0 <= de && de <= $e; - var tt = Ie.pan(), Gt = Ie.zoom(); - ke = me(se, pe, he, de), Pe = Ve(se, pe, he, de), Ae = [(se + he) / 2, (pe + de) / 2], Te = [(Ae[0] - tt.x) / Gt, (Ae[1] - tt.y) / Gt]; - var tr = 200, hr = tr * tr; - if (Pe < hr && !ne.touches[2]) { - var Dn = a.findNearestElement(Je[0], Je[1], !0, !0), rr = a.findNearestElement(Je[2], Je[3], !0, !0); - Dn && Dn.isNode() ? (Dn.activate().emit({ - originalEvent: ne, - type: "cxttapstart", - position: { - x: Je[0], - y: Je[1] - } - }), a.touchData.start = Dn) : rr && rr.isNode() ? (rr.activate().emit({ - originalEvent: ne, - type: "cxttapstart", - position: { - x: Je[0], - y: Je[1] - } - }), a.touchData.start = rr) : Ie.emit({ - originalEvent: ne, - type: "cxttapstart", - position: { - x: Je[0], - y: Je[1] - } - }), a.touchData.start && (a.touchData.start._private.grabbed = !1), a.touchData.cxt = !0, a.touchData.cxtDragged = !1, a.data.bgActivePosistion = void 0, a.redraw(); - return; - } - } - if (ne.touches[2]) - Ie.boxSelectionEnabled() && ne.preventDefault(); - else if (!ne.touches[1]) { - if (ne.touches[0]) { - var wn = a.findNearestElements(Je[0], Je[1], !0, !0), jn = wn[0]; - if (jn != null && (jn.activate(), a.touchData.start = jn, a.touchData.starts = wn, a.nodeIsGrabbable(jn))) { - var ui = a.dragData.touchDragEles = Ie.collection(), aa = null; - a.redrawHint("eles", !0), a.redrawHint("drag", !0), jn.selected() ? (aa = Ie.$(function(za) { - return za.selected() && a.nodeIsGrabbable(za); - }), D(aa, { - addToList: ui - })) : H(jn, { - addToList: ui - }), C(jn); - var cs = function(ru) { - return { - originalEvent: ne, - type: ru, - position: { - x: Je[0], - y: Je[1] - } - }; - }; - jn.emit(cs("grabon")), aa ? aa.forEach(function(za) { - za.emit(cs("grab")); - }) : jn.emit(cs("grab")); - } - c(jn, ["touchstart", "tapstart", "vmousedown"], ne, { - x: Je[0], - y: Je[1] - }), jn == null && (a.data.bgActivePosistion = { - x: Fe[0], - y: Fe[1] - }, a.redrawHint("select", !0), a.redraw()), a.touchData.singleTouchMoved = !1, a.touchData.singleTouchStartTime = +/* @__PURE__ */ new Date(), clearTimeout(a.touchData.tapholdTimeout), a.touchData.tapholdTimeout = setTimeout(function() { - a.touchData.singleTouchMoved === !1 && !a.pinching && !a.touchData.selecting && c(a.touchData.start, ["taphold"], ne, { - x: Je[0], - y: Je[1] - }); - }, a.tapholdDuration); - } - } - if (ne.touches.length >= 1) { - for (var ls = a.touchData.startPosition = [null, null, null, null, null, null], oa = 0; oa < Je.length; oa++) - ls[oa] = Ye[oa] = Je[oa]; - var Bo = ne.touches[0]; - a.touchData.startGPosition = [Bo.clientX, Bo.clientY]; - } - } - }, !1); - var at; - a.registerBinding(window, "touchmove", at = function(ne) { - var Ie = a.touchData.capture; - if (!(!Ie && !Z(ne))) { - var Je = a.selection, Ye = a.cy, Fe = a.touchData.now, bn = a.touchData.earlier, tt = Ye.zoom(); - if (ne.touches[0]) { - var Gt = a.projectIntoViewport(ne.touches[0].clientX, ne.touches[0].clientY); - Fe[0] = Gt[0], Fe[1] = Gt[1]; - } - if (ne.touches[1]) { - var Gt = a.projectIntoViewport(ne.touches[1].clientX, ne.touches[1].clientY); - Fe[2] = Gt[0], Fe[3] = Gt[1]; - } - if (ne.touches[2]) { - var Gt = a.projectIntoViewport(ne.touches[2].clientX, ne.touches[2].clientY); - Fe[4] = Gt[0], Fe[5] = Gt[1]; - } - var tr = a.touchData.startGPosition, hr; - if (Ie && ne.touches[0] && tr) { - for (var Dn = [], rr = 0; rr < Fe.length; rr++) - Dn[rr] = Fe[rr] - bn[rr]; - var wn = ne.touches[0].clientX - tr[0], jn = wn * wn, ui = ne.touches[0].clientY - tr[1], aa = ui * ui, cs = jn + aa; - hr = cs >= a.touchTapThreshold2; - } - if (Ie && a.touchData.cxt) { - ne.preventDefault(); - var ls = ne.touches[0].clientX - Oe, oa = ne.touches[0].clientY - ze, Bo = ne.touches[1].clientX - Oe, za = ne.touches[1].clientY - ze, ru = Ve(ls, oa, Bo, za), Mu = ru / Pe, Tl = 150, xc = Tl * Tl, Ll = 1.5, Vh = Ll * Ll; - if (Mu >= Vh || ru >= xc) { - a.touchData.cxt = !1, a.data.bgActivePosistion = void 0, a.redrawHint("select", !0); - var Tc = { - originalEvent: ne, - type: "cxttapend", - position: { - x: Fe[0], - y: Fe[1] - } - }; - a.touchData.start ? (a.touchData.start.unactivate().emit(Tc), a.touchData.start = null) : Ye.emit(Tc); - } - } - if (Ie && a.touchData.cxt) { - var Tc = { - originalEvent: ne, - type: "cxtdrag", - position: { - x: Fe[0], - y: Fe[1] - } - }; - a.data.bgActivePosistion = void 0, a.redrawHint("select", !0), a.touchData.start ? a.touchData.start.emit(Tc) : Ye.emit(Tc), a.touchData.start && (a.touchData.start._private.grabbed = !1), a.touchData.cxtDragged = !0; - var eo = a.findNearestElement(Fe[0], Fe[1], !0, !0); - (!a.touchData.cxtOver || eo !== a.touchData.cxtOver) && (a.touchData.cxtOver && a.touchData.cxtOver.emit({ - originalEvent: ne, - type: "cxtdragout", - position: { - x: Fe[0], - y: Fe[1] - } - }), a.touchData.cxtOver = eo, eo && eo.emit({ - originalEvent: ne, - type: "cxtdragover", - position: { - x: Fe[0], - y: Fe[1] - } - })); - } else if (Ie && ne.touches[2] && Ye.boxSelectionEnabled()) - ne.preventDefault(), a.data.bgActivePosistion = void 0, this.lastThreeTouch = +/* @__PURE__ */ new Date(), a.touchData.selecting || Ye.emit({ - originalEvent: ne, - type: "boxstart", - position: { - x: Fe[0], - y: Fe[1] - } - }), a.touchData.selecting = !0, a.touchData.didSelect = !0, Je[4] = 1, !Je || Je.length === 0 || Je[0] === void 0 ? (Je[0] = (Fe[0] + Fe[2] + Fe[4]) / 3, Je[1] = (Fe[1] + Fe[3] + Fe[5]) / 3, Je[2] = (Fe[0] + Fe[2] + Fe[4]) / 3 + 1, Je[3] = (Fe[1] + Fe[3] + Fe[5]) / 3 + 1) : (Je[2] = (Fe[0] + Fe[2] + Fe[4]) / 3, Je[3] = (Fe[1] + Fe[3] + Fe[5]) / 3), a.redrawHint("select", !0), a.redraw(); - else if (Ie && ne.touches[1] && !a.touchData.didSelect && Ye.zoomingEnabled() && Ye.panningEnabled() && Ye.userZoomingEnabled() && Ye.userPanningEnabled()) { - ne.preventDefault(), a.data.bgActivePosistion = void 0, a.redrawHint("select", !0); - var ma = a.dragData.touchDragEles; - if (ma) { - a.redrawHint("drag", !0); - for (var to = 0; to < ma.length; to++) { - var Wh = ma[to]._private; - Wh.grabbed = !1, Wh.rscratch.inDragLayer = !1; - } - } - var Os = a.touchData.start, ls = ne.touches[0].clientX - Oe, oa = ne.touches[0].clientY - ze, Bo = ne.touches[1].clientX - Oe, za = ne.touches[1].clientY - ze, qb = me(ls, oa, Bo, za), bw = qb / ke; - if (Ge) { - var pw = ls - se, ww = oa - pe, mw = Bo - he, yw = za - de, kw = (pw + mw) / 2, Ew = (ww + yw) / 2, Tf = Ye.zoom(), yv = Tf * bw, Uh = Ye.pan(), Vb = Te[0] * Tf + Uh.x, Wb = Te[1] * Tf + Uh.y, Sw = { - x: -yv / Tf * (Vb - Uh.x - kw) + Vb, - y: -yv / Tf * (Wb - Uh.y - Ew) + Wb - }; - if (Os && Os.active()) { - var ma = a.dragData.touchDragEles; - _(ma), a.redrawHint("drag", !0), a.redrawHint("eles", !0), Os.unactivate().emit("freeon"), ma.emit("free"), a.dragData.didDrag && (Os.emit("dragfreeon"), ma.emit("dragfree")); - } - Ye.viewport({ - zoom: yv, - pan: Sw, - cancelOnFailedZoom: !0 - }), Ye.emit("pinchzoom"), ke = qb, se = ls, pe = oa, he = Bo, de = za, a.pinching = !0; - } - if (ne.touches[0]) { - var Gt = a.projectIntoViewport(ne.touches[0].clientX, ne.touches[0].clientY); - Fe[0] = Gt[0], Fe[1] = Gt[1]; - } - if (ne.touches[1]) { - var Gt = a.projectIntoViewport(ne.touches[1].clientX, ne.touches[1].clientY); - Fe[2] = Gt[0], Fe[3] = Gt[1]; - } - if (ne.touches[2]) { - var Gt = a.projectIntoViewport(ne.touches[2].clientX, ne.touches[2].clientY); - Fe[4] = Gt[0], Fe[5] = Gt[1]; - } - } else if (ne.touches[0] && !a.touchData.didSelect) { - var no = a.touchData.start, kv = a.touchData.last, eo; - if (!a.hoverData.draggingEles && !a.swipePanning && (eo = a.findNearestElement(Fe[0], Fe[1], !0, !0)), Ie && no != null && ne.preventDefault(), Ie && no != null && a.nodeIsDraggable(no)) - if (hr) { - var ma = a.dragData.touchDragEles, Ub = !a.dragData.didDrag; - Ub && D(ma, { - inDragLayer: !0 - }), a.dragData.didDrag = !0; - var Kh = { - x: 0, - y: 0 - }; - if (kt(Dn[0]) && kt(Dn[1]) && (Kh.x += Dn[0], Kh.y += Dn[1], Ub)) { - a.redrawHint("eles", !0); - var fs = a.touchData.dragDelta; - fs && kt(fs[0]) && kt(fs[1]) && (Kh.x += fs[0], Kh.y += fs[1]); - } - a.hoverData.draggingEles = !0, ma.silentShift(Kh).emit("position drag"), a.redrawHint("drag", !0), a.touchData.startPosition[0] == bn[0] && a.touchData.startPosition[1] == bn[1] && a.redrawHint("eles", !0), a.redraw(); - } else { - var fs = a.touchData.dragDelta = a.touchData.dragDelta || []; - fs.length === 0 ? (fs.push(Dn[0]), fs.push(Dn[1])) : (fs[0] += Dn[0], fs[1] += Dn[1]); - } - if (c(no || eo, ["touchmove", "tapdrag", "vmousemove"], ne, { - x: Fe[0], - y: Fe[1] - }), (!no || !no.grabbed()) && eo != kv && (kv && kv.emit({ - originalEvent: ne, - type: "tapdragout", - position: { - x: Fe[0], - y: Fe[1] - } - }), eo && eo.emit({ - originalEvent: ne, - type: "tapdragover", - position: { - x: Fe[0], - y: Fe[1] - } - })), a.touchData.last = eo, Ie) - for (var to = 0; to < Fe.length; to++) - Fe[to] && a.touchData.startPosition[to] && hr && (a.touchData.singleTouchMoved = !0); - if (Ie && (no == null || no.pannable()) && Ye.panningEnabled() && Ye.userPanningEnabled()) { - var Cw = g(no, a.touchData.starts); - Cw && (ne.preventDefault(), a.data.bgActivePosistion || (a.data.bgActivePosistion = Tb(a.touchData.startPosition)), a.swipePanning ? (Ye.panBy({ - x: Dn[0] * tt, - y: Dn[1] * tt - }), Ye.emit("dragpan")) : hr && (a.swipePanning = !0, Ye.panBy({ - x: wn * tt, - y: ui * tt - }), Ye.emit("dragpan"), no && (no.unactivate(), a.redrawHint("select", !0), a.touchData.start = null))); - var Gt = a.projectIntoViewport(ne.touches[0].clientX, ne.touches[0].clientY); - Fe[0] = Gt[0], Fe[1] = Gt[1]; - } - } - for (var rr = 0; rr < Fe.length; rr++) - bn[rr] = Fe[rr]; - Ie && ne.touches.length > 0 && !a.hoverData.draggingEles && !a.swipePanning && a.data.bgActivePosistion != null && (a.data.bgActivePosistion = void 0, a.redrawHint("select", !0), a.redraw()); - } - }, !1); - var ft; - a.registerBinding(r, "touchcancel", ft = function(ne) { - var Ie = a.touchData.start; - a.touchData.capture = !1, Ie && Ie.unactivate(); - }); - var en, gn, mt, ht; - if (a.registerBinding(r, "touchend", en = function(ne) { - var Ie = a.touchData.start, Je = a.touchData.capture; - if (Je) - ne.touches.length === 0 && (a.touchData.capture = !1), ne.preventDefault(); - else - return; - var Ye = a.selection; - a.swipePanning = !1, a.hoverData.draggingEles = !1; - var Fe = a.cy, bn = Fe.zoom(), tt = a.touchData.now, Gt = a.touchData.earlier; - if (ne.touches[0]) { - var tr = a.projectIntoViewport(ne.touches[0].clientX, ne.touches[0].clientY); - tt[0] = tr[0], tt[1] = tr[1]; - } - if (ne.touches[1]) { - var tr = a.projectIntoViewport(ne.touches[1].clientX, ne.touches[1].clientY); - tt[2] = tr[0], tt[3] = tr[1]; - } - if (ne.touches[2]) { - var tr = a.projectIntoViewport(ne.touches[2].clientX, ne.touches[2].clientY); - tt[4] = tr[0], tt[5] = tr[1]; - } - Ie && Ie.unactivate(); - var hr; - if (a.touchData.cxt) { - if (hr = { - originalEvent: ne, - type: "cxttapend", - position: { - x: tt[0], - y: tt[1] - } - }, Ie ? Ie.emit(hr) : Fe.emit(hr), !a.touchData.cxtDragged) { - var Dn = { - originalEvent: ne, - type: "cxttap", - position: { - x: tt[0], - y: tt[1] - } - }; - Ie ? Ie.emit(Dn) : Fe.emit(Dn); - } - a.touchData.start && (a.touchData.start._private.grabbed = !1), a.touchData.cxt = !1, a.touchData.start = null, a.redraw(); - return; - } - if (!ne.touches[2] && Fe.boxSelectionEnabled() && a.touchData.selecting) { - a.touchData.selecting = !1; - var rr = Fe.collection(a.getAllInBox(Ye[0], Ye[1], Ye[2], Ye[3])); - Ye[0] = void 0, Ye[1] = void 0, Ye[2] = void 0, Ye[3] = void 0, Ye[4] = 0, a.redrawHint("select", !0), Fe.emit({ - type: "boxend", - originalEvent: ne, - position: { - x: tt[0], - y: tt[1] - } - }); - var wn = function(xc) { - return xc.selectable() && !xc.selected(); - }; - rr.emit("box").stdFilter(wn).select().emit("boxselect"), rr.nonempty() && a.redrawHint("eles", !0), a.redraw(); - } - if (Ie != null && Ie.unactivate(), ne.touches[2]) - a.data.bgActivePosistion = void 0, a.redrawHint("select", !0); - else if (!ne.touches[1]) { - if (!ne.touches[0]) { - if (!ne.touches[0]) { - a.data.bgActivePosistion = void 0, a.redrawHint("select", !0); - var jn = a.dragData.touchDragEles; - if (Ie != null) { - var ui = Ie._private.grabbed; - _(jn), a.redrawHint("drag", !0), a.redrawHint("eles", !0), ui && (Ie.emit("freeon"), jn.emit("free"), a.dragData.didDrag && (Ie.emit("dragfreeon"), jn.emit("dragfree"))), c(Ie, ["touchend", "tapend", "vmouseup", "tapdragout"], ne, { - x: tt[0], - y: tt[1] - }), Ie.unactivate(), a.touchData.start = null; - } else { - var aa = a.findNearestElement(tt[0], tt[1], !0, !0); - c(aa, ["touchend", "tapend", "vmouseup", "tapdragout"], ne, { - x: tt[0], - y: tt[1] - }); - } - var cs = a.touchData.startPosition[0] - tt[0], ls = cs * cs, oa = a.touchData.startPosition[1] - tt[1], Bo = oa * oa, za = ls + Bo, ru = za * bn * bn; - a.touchData.singleTouchMoved || (Ie || Fe.$(":selected").unselect(["tapunselect"]), c(Ie, ["tap", "vclick"], ne, { - x: tt[0], - y: tt[1] - }), gn = !1, ne.timeStamp - ht <= Fe.multiClickDebounceTime() ? (mt && clearTimeout(mt), gn = !0, ht = null, c(Ie, ["dbltap", "vdblclick"], ne, { - x: tt[0], - y: tt[1] - })) : (mt = setTimeout(function() { - gn || c(Ie, ["onetap", "voneclick"], ne, { - x: tt[0], - y: tt[1] - }); - }, Fe.multiClickDebounceTime()), ht = ne.timeStamp)), Ie != null && !a.dragData.didDrag && Ie._private.selectable && ru < a.touchTapThreshold2 && !a.pinching && (Fe.selectionType() === "single" ? (Fe.$(u).unmerge(Ie).unselect(["tapunselect"]), Ie.select(["tapselect"])) : Ie.selected() ? Ie.unselect(["tapunselect"]) : Ie.select(["tapselect"]), a.redrawHint("eles", !0)), a.touchData.singleTouchMoved = !0; - } - } - } - for (var Mu = 0; Mu < tt.length; Mu++) - Gt[Mu] = tt[Mu]; - a.dragData.didDrag = !1, ne.touches.length === 0 && (a.touchData.dragDelta = [], a.touchData.startPosition = [null, null, null, null, null, null], a.touchData.startGPosition = null, a.touchData.didSelect = !1), ne.touches.length < 2 && (ne.touches.length === 1 && (a.touchData.startGPosition = [ne.touches[0].clientX, ne.touches[0].clientY]), a.pinching = !1, a.redrawHint("eles", !0), a.redraw()); - }, !1), typeof TouchEvent > "u") { - var Rt = [], Lt = function(ne) { - return { - clientX: ne.clientX, - clientY: ne.clientY, - force: 1, - identifier: ne.pointerId, - pageX: ne.pageX, - pageY: ne.pageY, - radiusX: ne.width / 2, - radiusY: ne.height / 2, - screenX: ne.screenX, - screenY: ne.screenY, - target: ne.target - }; - }, yt = function(ne) { - return { - event: ne, - touch: Lt(ne) - }; - }, Mt = function(ne) { - Rt.push(yt(ne)); - }, In = function(ne) { - for (var Ie = 0; Ie < Rt.length; Ie++) { - var Je = Rt[Ie]; - if (Je.event.pointerId === ne.pointerId) { - Rt.splice(Ie, 1); - return; - } - } - }, Pn = function(ne) { - var Ie = Rt.filter(function(Je) { - return Je.event.pointerId === ne.pointerId; - })[0]; - Ie.event = ne, Ie.touch = Lt(ne); - }, Vt = function(ne) { - ne.touches = Rt.map(function(Ie) { - return Ie.touch; - }); - }, ar = function(ne) { - return ne.pointerType === "mouse" || ne.pointerType === 4; - }; - a.registerBinding(a.container, "pointerdown", function(Qe) { - ar(Qe) || (Qe.preventDefault(), Mt(Qe), Vt(Qe), Ke(Qe)); - }), a.registerBinding(a.container, "pointerup", function(Qe) { - ar(Qe) || (In(Qe), Vt(Qe), en(Qe)); - }), a.registerBinding(a.container, "pointercancel", function(Qe) { - ar(Qe) || (In(Qe), Vt(Qe), ft(Qe)); - }), a.registerBinding(a.container, "pointermove", function(Qe) { - ar(Qe) || (Qe.preventDefault(), Pn(Qe), Vt(Qe), at(Qe)); - }); - } -}; -var Cf = {}; -Cf.generatePolygon = function(a, r) { - return this.nodeShapes[a] = { - renderer: this, - name: a, - points: r, - draw: function(c, d, g, b, y) { - this.renderer.nodeShapeImpl("polygon", c, d, g, b, y, this.points); - }, - intersectLine: function(c, d, g, b, y, k, E) { - return Jp(y, k, this.points, c, d, g / 2, b / 2, E); - }, - checkPoint: function(c, d, g, b, y, k, E) { - return Ef(c, d, this.points, k, E, b, y, [0, -1], g); - } - }; -}; -Cf.generateEllipse = function() { - return this.nodeShapes.ellipse = { - renderer: this, - name: "ellipse", - draw: function(r, u, c, d, g) { - this.renderer.nodeShapeImpl(this.name, r, u, c, d, g); - }, - intersectLine: function(r, u, c, d, g, b, y) { - return kse(g, b, r, u, c / 2 + y, d / 2 + y); - }, - checkPoint: function(r, u, c, d, g, b, y) { - return lv(r, u, d, g, b, y, c); - } - }; -}; -Cf.generateRoundPolygon = function(a, r) { - for (var u = new Array(r.length * 2), c = 0; c < r.length / 2; c++) { - var d = c * 2, g = void 0; - c < r.length / 2 - 1 ? g = (c + 1) * 2 : g = 0, u[c * 4] = r[d], u[c * 4 + 1] = r[d + 1]; - var b = r[g] - r[d], y = r[g + 1] - r[d + 1], k = Math.sqrt(b * b + y * y); - u[c * 4 + 2] = b / k, u[c * 4 + 3] = y / k; - } - return this.nodeShapes[a] = { - renderer: this, - name: a, - points: u, - draw: function(C, T, P, N, D) { - this.renderer.nodeShapeImpl("round-polygon", C, T, P, N, D, this.points); - }, - intersectLine: function(C, T, P, N, D, H, _) { - return Ese(D, H, this.points, C, T, P, N); - }, - checkPoint: function(C, T, P, N, D, H, _) { - return yse(C, T, this.points, H, _, N, D); - } - }; -}; -Cf.generateRoundRectangle = function() { - return this.nodeShapes["round-rectangle"] = this.nodeShapes.roundrectangle = { - renderer: this, - name: "round-rectangle", - points: us(4, 0), - draw: function(r, u, c, d, g) { - this.renderer.nodeShapeImpl(this.name, r, u, c, d, g); - }, - intersectLine: function(r, u, c, d, g, b, y) { - return n$(g, b, r, u, c, d, y); - }, - checkPoint: function(r, u, c, d, g, b, y) { - var k = lw(d, g), E = k * 2; - return !!(Ef(r, u, this.points, b, y, d, g - E, [0, -1], c) || Ef(r, u, this.points, b, y, d - E, g, [0, -1], c) || lv(r, u, E, E, b - d / 2 + k, y - g / 2 + k, c) || lv(r, u, E, E, b + d / 2 - k, y - g / 2 + k, c) || lv(r, u, E, E, b + d / 2 - k, y + g / 2 - k, c) || lv(r, u, E, E, b - d / 2 + k, y + g / 2 - k, c)); - } - }; -}; -Cf.generateCutRectangle = function() { - return this.nodeShapes["cut-rectangle"] = this.nodeShapes.cutrectangle = { - renderer: this, - name: "cut-rectangle", - cornerLength: o$(), - points: us(4, 0), - draw: function(r, u, c, d, g) { - this.renderer.nodeShapeImpl(this.name, r, u, c, d, g); - }, - generateCutTrianglePts: function(r, u, c, d) { - var g = this.cornerLength, b = u / 2, y = r / 2, k = c - y, E = c + y, C = d - b, T = d + b; - return { - topLeft: [k, C + g, k + g, C, k + g, C + g], - topRight: [E - g, C, E, C + g, E - g, C + g], - bottomRight: [E, T - g, E - g, T, E - g, T - g], - bottomLeft: [k + g, T, k, T - g, k + g, T - g] - }; - }, - intersectLine: function(r, u, c, d, g, b, y) { - var k = this.generateCutTrianglePts(c + 2 * y, d + 2 * y, r, u), E = [].concat.apply([], [k.topLeft.splice(0, 4), k.topRight.splice(0, 4), k.bottomRight.splice(0, 4), k.bottomLeft.splice(0, 4)]); - return Jp(g, b, E, r, u); - }, - checkPoint: function(r, u, c, d, g, b, y) { - if (Ef(r, u, this.points, b, y, d, g - 2 * this.cornerLength, [0, -1], c) || Ef(r, u, this.points, b, y, d - 2 * this.cornerLength, g, [0, -1], c)) - return !0; - var k = this.generateCutTrianglePts(d, g, b, y); - return Is(r, u, k.topLeft) || Is(r, u, k.topRight) || Is(r, u, k.bottomRight) || Is(r, u, k.bottomLeft); - } - }; -}; -Cf.generateBarrel = function() { - return this.nodeShapes.barrel = { - renderer: this, - name: "barrel", - points: us(4, 0), - draw: function(r, u, c, d, g) { - this.renderer.nodeShapeImpl(this.name, r, u, c, d, g); - }, - intersectLine: function(r, u, c, d, g, b, y) { - var k = 0.15, E = 0.5, C = 0.85, T = this.generateBarrelBezierPts(c + 2 * y, d + 2 * y, r, u), P = function(H) { - var _ = Pb({ - x: H[0], - y: H[1] - }, { - x: H[2], - y: H[3] - }, { - x: H[4], - y: H[5] - }, k), B = Pb({ - x: H[0], - y: H[1] - }, { - x: H[2], - y: H[3] - }, { - x: H[4], - y: H[5] - }, E), $ = Pb({ - x: H[0], - y: H[1] - }, { - x: H[2], - y: H[3] - }, { - x: H[4], - y: H[5] - }, C); - return [H[0], H[1], _.x, _.y, B.x, B.y, $.x, $.y, H[4], H[5]]; - }, N = [].concat(P(T.topLeft), P(T.topRight), P(T.bottomRight), P(T.bottomLeft)); - return Jp(g, b, N, r, u); - }, - generateBarrelBezierPts: function(r, u, c, d) { - var g = u / 2, b = r / 2, y = c - b, k = c + b, E = d - g, C = d + g, T = l6(r, u), P = T.heightOffset, N = T.widthOffset, D = T.ctrlPtOffsetPct * r, H = { - topLeft: [y, E + P, y + D, E, y + N, E], - topRight: [k - N, E, k - D, E, k, E + P], - bottomRight: [k, C - P, k - D, C, k - N, C], - bottomLeft: [y + N, C, y + D, C, y, C - P] - }; - return H.topLeft.isTop = !0, H.topRight.isTop = !0, H.bottomLeft.isBottom = !0, H.bottomRight.isBottom = !0, H; - }, - checkPoint: function(r, u, c, d, g, b, y) { - var k = l6(d, g), E = k.heightOffset, C = k.widthOffset; - if (Ef(r, u, this.points, b, y, d, g - 2 * E, [0, -1], c) || Ef(r, u, this.points, b, y, d - 2 * C, g, [0, -1], c)) - return !0; - for (var T = this.generateBarrelBezierPts(d, g, b, y), P = function(K, ee, Z) { - var ae = Z[4], oe = Z[2], J = Z[0], fe = Z[5], se = Z[1], pe = Math.min(ae, J), he = Math.max(ae, J), de = Math.min(fe, se), ke = Math.max(fe, se); - if (pe <= K && K <= he && de <= ee && ee <= ke) { - var Pe = Sse(ae, oe, J), Ae = bse(Pe[0], Pe[1], Pe[2], K), Te = Ae.filter(function(Oe) { - return 0 <= Oe && Oe <= 1; - }); - if (Te.length > 0) - return Te[0]; - } - return null; - }, N = Object.keys(T), D = 0; D < N.length; D++) { - var H = N[D], _ = T[H], B = P(r, u, _); - if (B != null) { - var $ = _[5], F = _[3], W = _[1], Q = Ja($, F, W, B); - if (_.isTop && Q <= u || _.isBottom && u <= Q) - return !0; - } - } - return !1; - } - }; -}; -Cf.generateBottomRoundrectangle = function() { - return this.nodeShapes["bottom-round-rectangle"] = this.nodeShapes.bottomroundrectangle = { - renderer: this, - name: "bottom-round-rectangle", - points: us(4, 0), - draw: function(r, u, c, d, g) { - this.renderer.nodeShapeImpl(this.name, r, u, c, d, g); - }, - intersectLine: function(r, u, c, d, g, b, y) { - var k = r - (c / 2 + y), E = u - (d / 2 + y), C = E, T = r + (c / 2 + y), P = Ah(g, b, r, u, k, E, T, C, !1); - return P.length > 0 ? P : n$(g, b, r, u, c, d, y); - }, - checkPoint: function(r, u, c, d, g, b, y) { - var k = lw(d, g), E = 2 * k; - if (Ef(r, u, this.points, b, y, d, g - E, [0, -1], c) || Ef(r, u, this.points, b, y, d - E, g, [0, -1], c)) - return !0; - var C = d / 2 + 2 * c, T = g / 2 + 2 * c, P = [b - C, y - T, b - C, y, b + C, y, b + C, y - T]; - return !!(Is(r, u, P) || lv(r, u, E, E, b + d / 2 - k, y + g / 2 - k, c) || lv(r, u, E, E, b - d / 2 + k, y + g / 2 - k, c)); - } - }; -}; -Cf.registerNodeShapes = function() { - var a = this.nodeShapes = {}, r = this; - this.generateEllipse(), this.generatePolygon("triangle", us(3, 0)), this.generateRoundPolygon("round-triangle", us(3, 0)), this.generatePolygon("rectangle", us(4, 0)), a.square = a.rectangle, this.generateRoundRectangle(), this.generateCutRectangle(), this.generateBarrel(), this.generateBottomRoundrectangle(); - { - var u = [0, 1, 1, 0, 0, -1, -1, 0]; - this.generatePolygon("diamond", u), this.generateRoundPolygon("round-diamond", u); - } - this.generatePolygon("pentagon", us(5, 0)), this.generateRoundPolygon("round-pentagon", us(5, 0)), this.generatePolygon("hexagon", us(6, 0)), this.generateRoundPolygon("round-hexagon", us(6, 0)), this.generatePolygon("heptagon", us(7, 0)), this.generateRoundPolygon("round-heptagon", us(7, 0)), this.generatePolygon("octagon", us(8, 0)), this.generateRoundPolygon("round-octagon", us(8, 0)); - var c = new Array(20); - { - var d = c6(5, 0), g = c6(5, Math.PI / 5), b = 0.5 * (3 - Math.sqrt(5)); - b *= 1.57; - for (var y = 0; y < g.length / 2; y++) - g[y * 2] *= b, g[y * 2 + 1] *= b; - for (var y = 0; y < 20 / 4; y++) - c[y * 4] = d[y * 2], c[y * 4 + 1] = d[y * 2 + 1], c[y * 4 + 2] = g[y * 2], c[y * 4 + 3] = g[y * 2 + 1]; - } - c = a$(c), this.generatePolygon("star", c), this.generatePolygon("vee", [-1, -1, 0, -0.333, 1, -1, 0, 1]), this.generatePolygon("rhomboid", [-1, -1, 0.333, -1, 1, 1, -0.333, 1]), this.generatePolygon("right-rhomboid", [-0.333, -1, 1, -1, 0.333, 1, -1, 1]), this.nodeShapes.concavehexagon = this.generatePolygon("concave-hexagon", [-1, -0.95, -0.75, 0, -1, 0.95, 1, 0.95, 0.75, 0, 1, -0.95]); - { - var k = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1]; - this.generatePolygon("tag", k), this.generateRoundPolygon("round-tag", k); - } - a.makePolygon = function(E) { - var C = E.join("$"), T = "polygon-" + C, P; - return (P = this[T]) ? P : r.generatePolygon(T, E); - }; -}; -var vw = {}; -vw.timeToRender = function() { - return this.redrawTotalTime / this.redrawCount; -}; -vw.redraw = function(a) { - a = a || QG(); - var r = this; - r.averageRedrawTime === void 0 && (r.averageRedrawTime = 0), r.lastRedrawTime === void 0 && (r.lastRedrawTime = 0), r.lastDrawTime === void 0 && (r.lastDrawTime = 0), r.requestedFrame = !0, r.renderOptions = a; -}; -vw.beforeRender = function(a, r) { - if (!this.destroyed) { - r == null && Qi("Priority is not optional for beforeRender"); - var u = this.beforeRenderCallbacks; - u.push({ - fn: a, - priority: r - }), u.sort(function(c, d) { - return d.priority - c.priority; - }); - } -}; -var bG = function(r, u, c) { - for (var d = r.beforeRenderCallbacks, g = 0; g < d.length; g++) - d[g].fn(u, c); -}; -vw.startRenderLoop = function() { - var a = this, r = a.cy; - if (!a.renderLoopStarted) { - a.renderLoopStarted = !0; - var u = function c(d) { - if (!a.destroyed) { - if (!r.batching()) - if (a.requestedFrame && !a.skipFrame) { - bG(a, !0, d); - var g = kf(); - a.render(a.renderOptions); - var b = a.lastDrawTime = kf(); - a.averageRedrawTime === void 0 && (a.averageRedrawTime = b - g), a.redrawCount === void 0 && (a.redrawCount = 0), a.redrawCount++, a.redrawTotalTime === void 0 && (a.redrawTotalTime = 0); - var y = b - g; - a.redrawTotalTime += y, a.lastRedrawTime = y, a.averageRedrawTime = a.averageRedrawTime / 2 + y / 2, a.requestedFrame = !1; - } else - bG(a, !1, d); - a.skipFrame = !1, XE(c); - } - }; - XE(u); - } -}; -var Uce = function(r) { - this.init(r); -}, U$ = Uce, Yb = U$.prototype; -Yb.clientFunctions = ["redrawHint", "render", "renderTo", "matchCanvasSize", "nodeShapeImpl", "arrowShapeImpl"]; -Yb.init = function(a) { - var r = this; - r.options = a, r.cy = a.cy; - var u = r.container = a.cy.container(), c = r.cy.window(); - if (c) { - var d = c.document, g = d.head, b = "__________cytoscape_stylesheet", y = "__________cytoscape_container", k = d.getElementById(b) != null; - if (u.className.indexOf(y) < 0 && (u.className = (u.className || "") + " " + y), !k) { - var E = d.createElement("style"); - E.id = b, E.textContent = "." + y + " { position: relative; }", g.insertBefore(E, g.children[0]); - } - var C = c.getComputedStyle(u), T = C.getPropertyValue("position"); - T === "static" && Sr("A Cytoscape container has style position:static and so can not use UI extensions properly"); - } - r.selection = [void 0, void 0, void 0, void 0, 0], r.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95], r.hoverData = { - down: null, - last: null, - downTime: null, - triggerMode: null, - dragging: !1, - initialPan: [null, null], - capture: !1 - }, r.dragData = { - possibleDragElements: [] - }, r.touchData = { - start: null, - capture: !1, - // These 3 fields related to tap, taphold events - startPosition: [null, null, null, null, null, null], - singleTouchStartTime: null, - singleTouchMoved: !0, - now: [null, null, null, null, null, null], - earlier: [null, null, null, null, null, null] - }, r.redraws = 0, r.showFps = a.showFps, r.debug = a.debug, r.hideEdgesOnViewport = a.hideEdgesOnViewport, r.textureOnViewport = a.textureOnViewport, r.wheelSensitivity = a.wheelSensitivity, r.motionBlurEnabled = a.motionBlur, r.forcedPixelRatio = kt(a.pixelRatio) ? a.pixelRatio : null, r.motionBlur = a.motionBlur, r.motionBlurOpacity = a.motionBlurOpacity, r.motionBlurTransparency = 1 - r.motionBlurOpacity, r.motionBlurPxRatio = 1, r.mbPxRBlurry = 1, r.minMbLowQualFrames = 4, r.fullQualityMb = !1, r.clearedForMotionBlur = [], r.desktopTapThreshold = a.desktopTapThreshold, r.desktopTapThreshold2 = a.desktopTapThreshold * a.desktopTapThreshold, r.touchTapThreshold = a.touchTapThreshold, r.touchTapThreshold2 = a.touchTapThreshold * a.touchTapThreshold, r.tapholdDuration = 500, r.bindings = [], r.beforeRenderCallbacks = [], r.beforeRenderPriorities = { - // higher priority execs before lower one - animations: 400, - eleCalcs: 300, - eleTxrDeq: 200, - lyrTxrDeq: 150, - lyrTxrSkip: 100 - }, r.registerNodeShapes(), r.registerArrowShapes(), r.registerCalculationListeners(); -}; -Yb.notify = function(a, r) { - var u = this, c = u.cy; - if (!this.destroyed) { - if (a === "init") { - u.load(); - return; - } - if (a === "destroy") { - u.destroy(); - return; - } - (a === "add" || a === "remove" || a === "move" && c.hasCompoundNodes() || a === "load" || a === "zorder" || a === "mount") && u.invalidateCachedZSortedEles(), a === "viewport" && u.redrawHint("select", !0), (a === "load" || a === "resize" || a === "mount") && (u.invalidateContainerClientCoordsCache(), u.matchCanvasSize(u.container)), u.redrawHint("eles", !0), u.redrawHint("drag", !0), this.startRenderLoop(), this.redraw(); - } -}; -Yb.destroy = function() { - var a = this; - a.destroyed = !0, a.cy.stopAnimationLoop(); - for (var r = 0; r < a.bindings.length; r++) { - var u = a.bindings[r], c = u, d = c.target; - (d.off || d.removeEventListener).apply(d, c.args); - } - if (a.bindings = [], a.beforeRenderCallbacks = [], a.onUpdateEleCalcsFns = [], a.removeObserver && a.removeObserver.disconnect(), a.styleObserver && a.styleObserver.disconnect(), a.resizeObserver && a.resizeObserver.disconnect(), a.labelCalcDiv) - try { - document.body.removeChild(a.labelCalcDiv); - } catch { - } -}; -Yb.isHeadless = function() { - return !1; -}; -[Y6, V$, W$, $b, Cf, vw].forEach(function(a) { - on(Yb, a); -}); -var a6 = 1e3 / 60, K$ = { - setupDequeueing: function(r) { - return function() { - var c = this, d = this.renderer; - if (!c.dequeueingSetup) { - c.dequeueingSetup = !0; - var g = l5.default(function() { - d.redrawHint("eles", !0), d.redrawHint("drag", !0), d.redraw(); - }, r.deqRedrawThreshold), b = function(E, C) { - var T = kf(), P = d.averageRedrawTime, N = d.lastRedrawTime, D = [], H = d.cy.extent(), _ = d.getPixelRatio(); - for (E || d.flushRenderedStyleQueue(); ; ) { - var B = kf(), $ = B - T, F = B - C; - if (N < a6) { - var W = a6 - (E ? P : 0); - if (F >= r.deqFastCost * W) - break; - } else if (E) { - if ($ >= r.deqCost * N || $ >= r.deqAvgCost * P) - break; - } else if (F >= r.deqNoDrawCost * a6) - break; - var Q = r.deq(c, _, H); - if (Q.length > 0) - for (var X = 0; X < Q.length; X++) - D.push(Q[X]); - else - break; - } - D.length > 0 && (r.onDeqd(c, D), !E && r.shouldRedraw(c, D, _, H) && g()); - }, y = r.priority || N6; - d.beforeRender(b, y(c)); - } - }; - } -}, Kce = /* @__PURE__ */ function() { - function a(r) { - var u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : QE; - T6(this, a), this.idsByKey = new El(), this.keyForId = new El(), this.cachesByLvl = new El(), this.lvls = [], this.getKey = r, this.doesEleInvalidateKey = u; - } - return L6(a, [{ - key: "getIdsFor", - value: function(u) { - u == null && Qi("Can not get id list for null key"); - var c = this.idsByKey, d = this.idsByKey.get(u); - return d || (d = new zb(), c.set(u, d)), d; - } - }, { - key: "addIdForKey", - value: function(u, c) { - u != null && this.getIdsFor(u).add(c); - } - }, { - key: "deleteIdForKey", - value: function(u, c) { - u != null && this.getIdsFor(u).delete(c); - } - }, { - key: "getNumberOfIdsForKey", - value: function(u) { - return u == null ? 0 : this.getIdsFor(u).size; - } - }, { - key: "updateKeyMappingFor", - value: function(u) { - var c = u.id(), d = this.keyForId.get(c), g = this.getKey(u); - this.deleteIdForKey(d, c), this.addIdForKey(g, c), this.keyForId.set(c, g); - } - }, { - key: "deleteKeyMappingFor", - value: function(u) { - var c = u.id(), d = this.keyForId.get(c); - this.deleteIdForKey(d, c), this.keyForId.delete(c); - } - }, { - key: "keyHasChangedFor", - value: function(u) { - var c = u.id(), d = this.keyForId.get(c), g = this.getKey(u); - return d !== g; - } - }, { - key: "isInvalid", - value: function(u) { - return this.keyHasChangedFor(u) || this.doesEleInvalidateKey(u); - } - }, { - key: "getCachesAt", - value: function(u) { - var c = this.cachesByLvl, d = this.lvls, g = c.get(u); - return g || (g = new El(), c.set(u, g), d.push(u)), g; - } - }, { - key: "getCache", - value: function(u, c) { - return this.getCachesAt(c).get(u); - } - }, { - key: "get", - value: function(u, c) { - var d = this.getKey(u), g = this.getCache(d, c); - return g != null && this.updateKeyMappingFor(u), g; - } - }, { - key: "getForCachedKey", - value: function(u, c) { - var d = this.keyForId.get(u.id()), g = this.getCache(d, c); - return g; - } - }, { - key: "hasCache", - value: function(u, c) { - return this.getCachesAt(c).has(u); - } - }, { - key: "has", - value: function(u, c) { - var d = this.getKey(u); - return this.hasCache(d, c); - } - }, { - key: "setCache", - value: function(u, c, d) { - d.key = u, this.getCachesAt(c).set(u, d); - } - }, { - key: "set", - value: function(u, c, d) { - var g = this.getKey(u); - this.setCache(g, c, d), this.updateKeyMappingFor(u); - } - }, { - key: "deleteCache", - value: function(u, c) { - this.getCachesAt(c).delete(u); - } - }, { - key: "delete", - value: function(u, c) { - var d = this.getKey(u); - this.deleteCache(d, c); - } - }, { - key: "invalidateKey", - value: function(u) { - var c = this; - this.lvls.forEach(function(d) { - return c.deleteCache(u, d); - }); - } - // returns true if no other eles reference the invalidated cache (n.b. other eles may need the cache with the same key) - }, { - key: "invalidate", - value: function(u) { - var c = u.id(), d = this.keyForId.get(c); - this.deleteKeyMappingFor(u); - var g = this.doesEleInvalidateKey(u); - return g && this.invalidateKey(d), g || this.getNumberOfIdsForKey(d) === 0; - } - }]), a; -}(), pG = 25, GE = 50, KE = -4, p6 = 3, Zce = 7.99, Xce = 8, Qce = 1024, Jce = 1024, ele = 1024, tle = 0.2, nle = 0.8, rle = 10, ile = 0.15, ale = 0.1, ole = 0.9, sle = 0.9, ule = 100, cle = 1, Lb = { - dequeue: "dequeue", - downscale: "downscale", - highQuality: "highQuality" -}, lle = po({ - getKey: null, - doesEleInvalidateKey: QE, - drawElement: null, - getBoundingBox: null, - getRotationPoint: null, - getRotationOffset: null, - isVisible: KG, - allowEdgeTxrCaching: !0, - allowParentTxrCaching: !0 -}), qp = function(r, u) { - var c = this; - c.renderer = r, c.onDequeues = []; - var d = lle(u); - on(c, d), c.lookup = new Kce(d.getKey, d.doesEleInvalidateKey), c.setupDequeueing(); -}, Ba = qp.prototype; -Ba.reasons = Lb; -Ba.getTextureQueue = function(a) { - var r = this; - return r.eleImgCaches = r.eleImgCaches || {}, r.eleImgCaches[a] = r.eleImgCaches[a] || []; -}; -Ba.getRetiredTextureQueue = function(a) { - var r = this, u = r.eleImgCaches.retired = r.eleImgCaches.retired || {}, c = u[a] = u[a] || []; - return c; -}; -Ba.getElementQueue = function() { - var a = this, r = a.eleCacheQueue = a.eleCacheQueue || new sw.default(function(u, c) { - return c.reqs - u.reqs; - }); - return r; -}; -Ba.getElementKeyToQueue = function() { - var a = this, r = a.eleKeyToCacheQueue = a.eleKeyToCacheQueue || {}; - return r; -}; -Ba.getElement = function(a, r, u, c, d) { - var g = this, b = this.renderer, y = b.cy.zoom(), k = this.lookup; - if (!r || r.w === 0 || r.h === 0 || isNaN(r.w) || isNaN(r.h) || !a.visible() || a.removed() || !g.allowEdgeTxrCaching && a.isEdge() || !g.allowParentTxrCaching && a.isParent()) - return null; - if (c == null && (c = Math.ceil(M6(y * u))), c < KE) - c = KE; - else if (y >= Zce || c > p6) - return null; - var E = Math.pow(2, c), C = r.h * E, T = r.w * E, P = b.eleTextBiggerThanMin(a, E); - if (!this.isVisible(a, P)) - return null; - var N = k.get(a, c); - if (N && N.invalidated && (N.invalidated = !1, N.texture.invalidatedWidth -= N.width), N) - return N; - var D; - if (C <= pG ? D = pG : C <= GE ? D = GE : D = Math.ceil(C / GE) * GE, C > ele || T > Jce) - return null; - var H = g.getTextureQueue(D), _ = H[H.length - 2], B = function() { - return g.recycleTexture(D, T) || g.addTexture(D, T); - }; - _ || (_ = H[H.length - 1]), _ || (_ = B()), _.width - _.usedWidth < T && (_ = B()); - for (var $ = function(he) { - return he && he.scaledLabelShown === P; - }, F = d && d === Lb.dequeue, W = d && d === Lb.highQuality, Q = d && d === Lb.downscale, X, K = c + 1; K <= p6; K++) { - var ee = k.get(a, K); - if (ee) { - X = ee; - break; - } - } - var Z = X && X.level === c + 1 ? X : null, ae = function() { - _.context.drawImage(Z.texture.canvas, Z.x, 0, Z.width, Z.height, _.usedWidth, 0, T, C); - }; - if (_.context.setTransform(1, 0, 0, 1, 0, 0), _.context.clearRect(_.usedWidth, 0, T, D), $(Z)) - ae(); - else if ($(X)) - if (W) { - for (var oe = X.level; oe > c; oe--) - Z = g.getElement(a, r, u, oe, Lb.downscale); - ae(); - } else - return g.queueElement(a, X.level - 1), X; - else { - var J; - if (!F && !W && !Q) - for (var fe = c - 1; fe >= KE; fe--) { - var se = k.get(a, fe); - if (se) { - J = se; - break; - } - } - if ($(J)) - return g.queueElement(a, c), J; - _.context.translate(_.usedWidth, 0), _.context.scale(E, E), this.drawElement(_.context, a, r, P, !1), _.context.scale(1 / E, 1 / E), _.context.translate(-_.usedWidth, 0); - } - return N = { - x: _.usedWidth, - texture: _, - level: c, - scale: E, - width: T, - height: C, - scaledLabelShown: P - }, _.usedWidth += Math.ceil(T + Xce), _.eleCaches.push(N), k.set(a, c, N), g.checkTextureFullness(_), N; -}; -Ba.invalidateElements = function(a) { - for (var r = 0; r < a.length; r++) - this.invalidateElement(a[r]); -}; -Ba.invalidateElement = function(a) { - var r = this, u = r.lookup, c = [], d = u.isInvalid(a); - if (d) { - for (var g = KE; g <= p6; g++) { - var b = u.getForCachedKey(a, g); - b && c.push(b); - } - var y = u.invalidate(a); - if (y) - for (var k = 0; k < c.length; k++) { - var E = c[k], C = E.texture; - C.invalidatedWidth += E.width, E.invalidated = !0, r.checkTextureUtility(C); - } - r.removeFromQueue(a); - } -}; -Ba.checkTextureUtility = function(a) { - a.invalidatedWidth >= tle * a.width && this.retireTexture(a); -}; -Ba.checkTextureFullness = function(a) { - var r = this, u = r.getTextureQueue(a.height); - a.usedWidth / a.width > nle && a.fullnessChecks >= rle ? Hh(u, a) : a.fullnessChecks++; -}; -Ba.retireTexture = function(a) { - var r = this, u = a.height, c = r.getTextureQueue(u), d = this.lookup; - Hh(c, a), a.retired = !0; - for (var g = a.eleCaches, b = 0; b < g.length; b++) { - var y = g[b]; - d.deleteCache(y.key, y.level); - } - I6(g); - var k = r.getRetiredTextureQueue(u); - k.push(a); -}; -Ba.addTexture = function(a, r) { - var u = this, c = u.getTextureQueue(a), d = {}; - return c.push(d), d.eleCaches = [], d.height = a, d.width = Math.max(Qce, r), d.usedWidth = 0, d.invalidatedWidth = 0, d.fullnessChecks = 0, d.canvas = u.renderer.makeOffscreenCanvas(d.width, d.height), d.context = d.canvas.getContext("2d"), d; -}; -Ba.recycleTexture = function(a, r) { - for (var u = this, c = u.getTextureQueue(a), d = u.getRetiredTextureQueue(a), g = 0; g < d.length; g++) { - var b = d[g]; - if (b.width >= r) - return b.retired = !1, b.usedWidth = 0, b.invalidatedWidth = 0, b.fullnessChecks = 0, I6(b.eleCaches), b.context.setTransform(1, 0, 0, 1, 0, 0), b.context.clearRect(0, 0, b.width, b.height), Hh(d, b), c.push(b), b; - } -}; -Ba.queueElement = function(a, r) { - var u = this, c = u.getElementQueue(), d = u.getElementKeyToQueue(), g = this.getKey(a), b = d[g]; - if (b) - b.level = Math.max(b.level, r), b.eles.merge(a), b.reqs++, c.updateItem(b); - else { - var y = { - eles: a.spawn().merge(a), - level: r, - reqs: 1, - key: g - }; - c.push(y), d[g] = y; - } -}; -Ba.dequeue = function(a) { - for (var r = this, u = r.getElementQueue(), c = r.getElementKeyToQueue(), d = [], g = r.lookup, b = 0; b < cle && u.size() > 0; b++) { - var y = u.pop(), k = y.key, E = y.eles[0], C = g.hasCache(E, y.level); - if (c[k] = null, C) - continue; - d.push(y); - var T = r.getBoundingBox(E); - r.getElement(E, T, a, y.level, Lb.dequeue); - } - return d; -}; -Ba.removeFromQueue = function(a) { - var r = this, u = r.getElementQueue(), c = r.getElementKeyToQueue(), d = this.getKey(a), g = c[d]; - g != null && (g.eles.length === 1 ? (g.reqs = j6, u.updateItem(g), u.pop(), c[d] = null) : g.eles.unmerge(a)); -}; -Ba.onDequeue = function(a) { - this.onDequeues.push(a); -}; -Ba.offDequeue = function(a) { - Hh(this.onDequeues, a); -}; -Ba.setupDequeueing = K$.setupDequeueing({ - deqRedrawThreshold: ule, - deqCost: ile, - deqAvgCost: ale, - deqNoDrawCost: ole, - deqFastCost: sle, - deq: function(r, u, c) { - return r.dequeue(u, c); - }, - onDeqd: function(r, u) { - for (var c = 0; c < r.onDequeues.length; c++) { - var d = r.onDequeues[c]; - d(u); - } - }, - shouldRedraw: function(r, u, c, d) { - for (var g = 0; g < u.length; g++) - for (var b = u[g].eles, y = 0; y < b.length; y++) { - var k = b[y].boundingBox(); - if (O6(k, d)) - return !0; - } - return !1; - }, - priority: function(r) { - return r.renderer.beforeRenderPriorities.eleTxrDeq; - } -}); -var fle = 1, Wp = -4, i5 = 2, hle = 3.99, dle = 50, vle = 50, gle = 0.15, ble = 0.1, ple = 0.9, wle = 0.9, mle = 1, wG = 250, yle = 4e3 * 4e3, kle = !0, Z$ = function(r) { - var u = this, c = u.renderer = r, d = c.cy; - u.layersByLevel = {}, u.firstGet = !0, u.lastInvalidationTime = kf() - 2 * wG, u.skipping = !1, u.eleTxrDeqs = d.collection(), u.scheduleElementRefinement = l5.default(function() { - u.refineElementTextures(u.eleTxrDeqs), u.eleTxrDeqs.unmerge(u.eleTxrDeqs); - }, vle), c.beforeRender(function(b, y) { - y - u.lastInvalidationTime <= wG ? u.skipping = !0 : u.skipping = !1; - }, c.beforeRenderPriorities.lyrTxrSkip); - var g = function(y, k) { - return k.reqs - y.reqs; - }; - u.layersQueue = new sw.default(g), u.setupDequeueing(); -}, wo = Z$.prototype, mG = 0, Ele = Math.pow(2, 53) - 1; -wo.makeLayer = function(a, r) { - var u = Math.pow(2, r), c = Math.ceil(a.w * u), d = Math.ceil(a.h * u), g = this.renderer.makeOffscreenCanvas(c, d), b = { - id: mG = ++mG % Ele, - bb: a, - level: r, - width: c, - height: d, - canvas: g, - context: g.getContext("2d"), - eles: [], - elesQueue: [], - reqs: 0 - }, y = b.context, k = -b.bb.x1, E = -b.bb.y1; - return y.scale(u, u), y.translate(k, E), b; -}; -wo.getLayers = function(a, r, u) { - var c = this, d = c.renderer, g = d.cy, b = g.zoom(), y = c.firstGet; - if (c.firstGet = !1, u == null) { - if (u = Math.ceil(M6(b * r)), u < Wp) - u = Wp; - else if (b >= hle || u > i5) - return null; - } - c.validateLayersElesOrdering(u, a); - var k = c.layersByLevel, E = Math.pow(2, u), C = k[u] = k[u] || [], T, P = c.levelIsComplete(u, a), N, D = function() { - var ae = function(pe) { - if (c.validateLayersElesOrdering(pe, a), c.levelIsComplete(pe, a)) - return N = k[pe], !0; - }, oe = function(pe) { - if (!N) - for (var he = u + pe; Wp <= he && he <= i5 && !ae(he); he += pe) - ; - }; - oe(1), oe(-1); - for (var J = C.length - 1; J >= 0; J--) { - var fe = C[J]; - fe.invalid && Hh(C, fe); - } - }; - if (!P) - D(); - else - return C; - var H = function() { - if (!T) { - T = Ms(); - for (var ae = 0; ae < a.length; ae++) - fse(T, a[ae].boundingBox()); - } - return T; - }, _ = function(ae) { - ae = ae || {}; - var oe = ae.after; - H(); - var J = T.w * E * (T.h * E); - if (J > yle) - return null; - var fe = c.makeLayer(T, u); - if (oe != null) { - var se = C.indexOf(oe) + 1; - C.splice(se, 0, fe); - } else - (ae.insert === void 0 || ae.insert) && C.unshift(fe); - return fe; - }; - if (c.skipping && !y) - return null; - for (var B = null, $ = a.length / fle, F = !y, W = 0; W < a.length; W++) { - var Q = a[W], X = Q._private.rscratch, K = X.imgLayerCaches = X.imgLayerCaches || {}, ee = K[u]; - if (ee) { - B = ee; - continue; - } - if ((!B || B.eles.length >= $ || !t$(B.bb, Q.boundingBox())) && (B = _({ - insert: !0, - after: B - }), !B)) - return null; - N || F ? c.queueLayer(B, Q) : c.drawEleInLayer(B, Q, u, r), B.eles.push(Q), K[u] = B; - } - return N || (F ? null : C); -}; -wo.getEleLevelForLayerLevel = function(a, r) { - return a; -}; -wo.drawEleInLayer = function(a, r, u, c) { - var d = this, g = this.renderer, b = a.context, y = r.boundingBox(); - y.w === 0 || y.h === 0 || !r.visible() || (u = d.getEleLevelForLayerLevel(u, c), g.setImgSmoothing(b, !1), g.drawCachedElement(b, r, null, null, u, kle), g.setImgSmoothing(b, !0)); -}; -wo.levelIsComplete = function(a, r) { - var u = this, c = u.layersByLevel[a]; - if (!c || c.length === 0) - return !1; - for (var d = 0, g = 0; g < c.length; g++) { - var b = c[g]; - if (b.reqs > 0 || b.invalid) - return !1; - d += b.eles.length; - } - return d === r.length; -}; -wo.validateLayersElesOrdering = function(a, r) { - var u = this.layersByLevel[a]; - if (u) - for (var c = 0; c < u.length; c++) { - for (var d = u[c], g = -1, b = 0; b < r.length; b++) - if (d.eles[0] === r[b]) { - g = b; - break; - } - if (g < 0) { - this.invalidateLayer(d); - continue; - } - for (var y = g, b = 0; b < d.eles.length; b++) - if (d.eles[b] !== r[y + b]) { - this.invalidateLayer(d); - break; - } - } -}; -wo.updateElementsInLayers = function(a, r) { - for (var u = this, c = cw(a[0]), d = 0; d < a.length; d++) - for (var g = c ? null : a[d], b = c ? a[d] : a[d].ele, y = b._private.rscratch, k = y.imgLayerCaches = y.imgLayerCaches || {}, E = Wp; E <= i5; E++) { - var C = k[E]; - C && (g && u.getEleLevelForLayerLevel(C.level) !== g.level || r(C, b, g)); - } -}; -wo.haveLayers = function() { - for (var a = this, r = !1, u = Wp; u <= i5; u++) { - var c = a.layersByLevel[u]; - if (c && c.length > 0) { - r = !0; - break; - } - } - return r; -}; -wo.invalidateElements = function(a) { - var r = this; - a.length !== 0 && (r.lastInvalidationTime = kf(), !(a.length === 0 || !r.haveLayers()) && r.updateElementsInLayers(a, function(c, d, g) { - r.invalidateLayer(c); - })); -}; -wo.invalidateLayer = function(a) { - if (this.lastInvalidationTime = kf(), !a.invalid) { - var r = a.level, u = a.eles, c = this.layersByLevel[r]; - Hh(c, a), a.elesQueue = [], a.invalid = !0, a.replacement && (a.replacement.invalid = !0); - for (var d = 0; d < u.length; d++) { - var g = u[d]._private.rscratch.imgLayerCaches; - g && (g[r] = null); - } - } -}; -wo.refineElementTextures = function(a) { - var r = this; - r.updateElementsInLayers(a, function(c, d, g) { - var b = c.replacement; - if (b || (b = c.replacement = r.makeLayer(c.bb, c.level), b.replaces = c, b.eles = c.eles), !b.reqs) - for (var y = 0; y < b.eles.length; y++) - r.queueLayer(b, b.eles[y]); - }); -}; -wo.enqueueElementRefinement = function(a) { - this.eleTxrDeqs.merge(a), this.scheduleElementRefinement(); -}; -wo.queueLayer = function(a, r) { - var u = this, c = u.layersQueue, d = a.elesQueue, g = d.hasId = d.hasId || {}; - if (!a.replacement) { - if (r) { - if (g[r.id()]) - return; - d.push(r), g[r.id()] = !0; - } - a.reqs ? (a.reqs++, c.updateItem(a)) : (a.reqs = 1, c.push(a)); - } -}; -wo.dequeue = function(a) { - for (var r = this, u = r.layersQueue, c = [], d = 0; d < mle && u.size() !== 0; ) { - var g = u.peek(); - if (g.replacement) { - u.pop(); - continue; - } - if (g.replaces && g !== g.replaces.replacement) { - u.pop(); - continue; - } - if (g.invalid) { - u.pop(); - continue; - } - var b = g.elesQueue.shift(); - b && (r.drawEleInLayer(g, b, g.level, a), d++), c.length === 0 && c.push(!0), g.elesQueue.length === 0 && (u.pop(), g.reqs = 0, g.replaces && r.applyLayerReplacement(g), r.requestRedraw()); - } - return c; -}; -wo.applyLayerReplacement = function(a) { - var r = this, u = r.layersByLevel[a.level], c = a.replaces, d = u.indexOf(c); - if (!(d < 0 || c.invalid)) { - u[d] = a; - for (var g = 0; g < a.eles.length; g++) { - var b = a.eles[g]._private, y = b.imgLayerCaches = b.imgLayerCaches || {}; - y && (y[a.level] = a); - } - r.requestRedraw(); - } -}; -wo.requestRedraw = l5.default(function() { - var a = this.renderer; - a.redrawHint("eles", !0), a.redrawHint("drag", !0), a.redraw(); -}, 100); -wo.setupDequeueing = K$.setupDequeueing({ - deqRedrawThreshold: dle, - deqCost: gle, - deqAvgCost: ble, - deqNoDrawCost: ple, - deqFastCost: wle, - deq: function(r, u) { - return r.dequeue(u); - }, - onDeqd: N6, - shouldRedraw: KG, - priority: function(r) { - return r.renderer.beforeRenderPriorities.lyrTxrDeq; - } -}); -var X$ = {}, yG; -function Sle(a, r) { - for (var u = 0; u < r.length; u++) { - var c = r[u]; - a.lineTo(c.x, c.y); - } -} -function Cle(a, r, u) { - for (var c, d = 0; d < r.length; d++) { - var g = r[d]; - d === 0 && (c = g), a.lineTo(g.x, g.y); - } - a.quadraticCurveTo(u.x, u.y, c.x, c.y); -} -function kG(a, r, u) { - a.beginPath && a.beginPath(); - for (var c = r, d = 0; d < c.length; d++) { - var g = c[d]; - a.lineTo(g.x, g.y); - } - var b = u, y = u[0]; - a.moveTo(y.x, y.y); - for (var d = 1; d < b.length; d++) { - var g = b[d]; - a.lineTo(g.x, g.y); - } - a.closePath && a.closePath(); -} -function xle(a, r, u, c, d) { - a.beginPath && a.beginPath(), a.arc(u, c, d, 0, Math.PI * 2, !1); - var g = r, b = g[0]; - a.moveTo(b.x, b.y); - for (var y = 0; y < g.length; y++) { - var k = g[y]; - a.lineTo(k.x, k.y); - } - a.closePath && a.closePath(); -} -function Tle(a, r, u, c) { - a.arc(r, u, c, 0, Math.PI * 2, !1); -} -X$.arrowShapeImpl = function(a) { - return (yG || (yG = { - polygon: Sle, - "triangle-backcurve": Cle, - "triangle-tee": kG, - "circle-triangle": xle, - "triangle-cross": kG, - circle: Tle - }))[a]; -}; -var xl = {}; -xl.drawElement = function(a, r, u, c, d, g) { - var b = this; - r.isNode() ? b.drawNode(a, r, u, c, d, g) : b.drawEdge(a, r, u, c, d, g); -}; -xl.drawElementOverlay = function(a, r) { - var u = this; - r.isNode() ? u.drawNodeOverlay(a, r) : u.drawEdgeOverlay(a, r); -}; -xl.drawElementUnderlay = function(a, r) { - var u = this; - r.isNode() ? u.drawNodeUnderlay(a, r) : u.drawEdgeUnderlay(a, r); -}; -xl.drawCachedElementPortion = function(a, r, u, c, d, g, b, y) { - var k = this, E = u.getBoundingBox(r); - if (!(E.w === 0 || E.h === 0)) { - var C = u.getElement(r, E, c, d, g); - if (C != null) { - var T = y(k, r); - if (T === 0) - return; - var P = b(k, r), N = E.x1, D = E.y1, H = E.w, _ = E.h, B, $, F, W, Q; - if (P !== 0) { - var X = u.getRotationPoint(r); - F = X.x, W = X.y, a.translate(F, W), a.rotate(P), Q = k.getImgSmoothing(a), Q || k.setImgSmoothing(a, !0); - var K = u.getRotationOffset(r); - B = K.x, $ = K.y; - } else - B = N, $ = D; - var ee; - T !== 1 && (ee = a.globalAlpha, a.globalAlpha = ee * T), a.drawImage(C.texture.canvas, C.x, 0, C.width, C.height, B, $, H, _), T !== 1 && (a.globalAlpha = ee), P !== 0 && (a.rotate(-P), a.translate(-F, -W), Q || k.setImgSmoothing(a, !1)); - } else - u.drawElement(a, r); - } -}; -var Lle = function() { - return 0; -}, Ple = function(r, u) { - return r.getTextAngle(u, null); -}, Dle = function(r, u) { - return r.getTextAngle(u, "source"); -}, jle = function(r, u) { - return r.getTextAngle(u, "target"); -}, Nle = function(r, u) { - return u.effectiveOpacity(); -}, o6 = function(r, u) { - return u.pstyle("text-opacity").pfValue * u.effectiveOpacity(); -}; -xl.drawCachedElement = function(a, r, u, c, d, g) { - var b = this, y = b.data, k = y.eleTxrCache, E = y.lblTxrCache, C = y.slbTxrCache, T = y.tlbTxrCache, P = r.boundingBox(), N = g === !0 ? k.reasons.highQuality : null; - if (!(P.w === 0 || P.h === 0 || !r.visible()) && (!c || O6(P, c))) { - var D = r.isEdge(), H = r.element()._private.rscratch.badLine; - b.drawElementUnderlay(a, r), b.drawCachedElementPortion(a, r, k, u, d, N, Lle, Nle), (!D || !H) && b.drawCachedElementPortion(a, r, E, u, d, N, Ple, o6), D && !H && (b.drawCachedElementPortion(a, r, C, u, d, N, Dle, o6), b.drawCachedElementPortion(a, r, T, u, d, N, jle, o6)), b.drawElementOverlay(a, r); - } -}; -xl.drawElements = function(a, r) { - for (var u = this, c = 0; c < r.length; c++) { - var d = r[c]; - u.drawElement(a, d); - } -}; -xl.drawCachedElements = function(a, r, u, c) { - for (var d = this, g = 0; g < r.length; g++) { - var b = r[g]; - d.drawCachedElement(a, b, u, c); - } -}; -xl.drawCachedNodes = function(a, r, u, c) { - for (var d = this, g = 0; g < r.length; g++) { - var b = r[g]; - b.isNode() && d.drawCachedElement(a, b, u, c); - } -}; -xl.drawLayeredElements = function(a, r, u, c) { - var d = this, g = d.data.lyrTxrCache.getLayers(r, u); - if (g) - for (var b = 0; b < g.length; b++) { - var y = g[b], k = y.bb; - k.w === 0 || k.h === 0 || a.drawImage(y.canvas, k.x1, k.y1, k.w, k.h); - } - else - d.drawCachedElements(a, r, u, c); -}; -var xf = {}; -xf.drawEdge = function(a, r, u) { - var c = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, g = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, b = this, y = r._private.rscratch; - if (!(g && !r.visible()) && !(y.badLine || y.allpts == null || isNaN(y.allpts[0]))) { - var k; - u && (k = u, a.translate(-k.x1, -k.y1)); - var E = g ? r.pstyle("opacity").value : 1, C = g ? r.pstyle("line-opacity").value : 1, T = r.pstyle("curve-style").value, P = r.pstyle("line-style").value, N = r.pstyle("width").pfValue, D = r.pstyle("line-cap").value, H = E * C, _ = E * C, B = function() { - var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : H; - T === "straight-triangle" ? (b.eleStrokeStyle(a, r, J), b.drawEdgeTrianglePath(r, a, y.allpts)) : (a.lineWidth = N, a.lineCap = D, b.eleStrokeStyle(a, r, J), b.drawEdgePath(r, a, y.allpts, P), a.lineCap = "butt"); - }, $ = function() { - d && b.drawEdgeOverlay(a, r); - }, F = function() { - d && b.drawEdgeUnderlay(a, r); - }, W = function() { - var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : _; - b.drawArrowheads(a, r, J); - }, Q = function() { - b.drawElementText(a, r, null, c); - }; - a.lineJoin = "round"; - var X = r.pstyle("ghost").value === "yes"; - if (X) { - var K = r.pstyle("ghost-offset-x").pfValue, ee = r.pstyle("ghost-offset-y").pfValue, Z = r.pstyle("ghost-opacity").value, ae = H * Z; - a.translate(K, ee), B(ae), W(ae), a.translate(-K, -ee); - } - F(), B(), W(), $(), Q(), u && a.translate(k.x1, k.y1); - } -}; -var Q$ = function(r) { - if (!["overlay", "underlay"].includes(r)) - throw new Error("Invalid state"); - return function(u, c) { - if (c.visible()) { - var d = c.pstyle("".concat(r, "-opacity")).value; - if (d !== 0) { - var g = this, b = g.usePaths(), y = c._private.rscratch, k = c.pstyle("".concat(r, "-padding")).pfValue, E = 2 * k, C = c.pstyle("".concat(r, "-color")).value; - u.lineWidth = E, y.edgeType === "self" && !b ? u.lineCap = "butt" : u.lineCap = "round", g.colorStrokeStyle(u, C[0], C[1], C[2], d), g.drawEdgePath(c, u, y.allpts, "solid"); - } - } - }; -}; -xf.drawEdgeOverlay = Q$("overlay"); -xf.drawEdgeUnderlay = Q$("underlay"); -xf.drawEdgePath = function(a, r, u, c) { - var d = a._private.rscratch, g = r, b, y = !1, k = this.usePaths(), E = a.pstyle("line-dash-pattern").pfValue, C = a.pstyle("line-dash-offset").pfValue; - if (k) { - var T = u.join("$"), P = d.pathCacheKey && d.pathCacheKey === T; - P ? (b = r = d.pathCache, y = !0) : (b = r = new Path2D(), d.pathCacheKey = T, d.pathCache = b); - } - if (g.setLineDash) - switch (c) { - case "dotted": - g.setLineDash([1, 1]); - break; - case "dashed": - g.setLineDash(E), g.lineDashOffset = C; - break; - case "solid": - g.setLineDash([]); - break; - } - if (!y && !d.badLine) - switch (r.beginPath && r.beginPath(), r.moveTo(u[0], u[1]), d.edgeType) { - case "bezier": - case "self": - case "compound": - case "multibezier": - for (var N = 2; N + 3 < u.length; N += 4) - r.quadraticCurveTo(u[N], u[N + 1], u[N + 2], u[N + 3]); - break; - case "straight": - case "segments": - case "haystack": - for (var D = 2; D + 1 < u.length; D += 2) - r.lineTo(u[D], u[D + 1]); - break; - } - r = g, k ? r.stroke(b) : r.stroke(), r.setLineDash && r.setLineDash([]); -}; -xf.drawEdgeTrianglePath = function(a, r, u) { - r.fillStyle = r.strokeStyle; - for (var c = a.pstyle("width").pfValue, d = 0; d + 1 < u.length; d += 2) { - var g = [u[d + 2] - u[d], u[d + 3] - u[d + 1]], b = Math.sqrt(g[0] * g[0] + g[1] * g[1]), y = [g[1] / b, -g[0] / b], k = [y[0] * c / 2, y[1] * c / 2]; - r.beginPath(), r.moveTo(u[d] - k[0], u[d + 1] - k[1]), r.lineTo(u[d] + k[0], u[d + 1] + k[1]), r.lineTo(u[d + 2], u[d + 3]), r.closePath(), r.fill(); - } -}; -xf.drawArrowheads = function(a, r, u) { - var c = r._private.rscratch, d = c.edgeType === "haystack"; - d || this.drawArrowhead(a, r, "source", c.arrowStartX, c.arrowStartY, c.srcArrowAngle, u), this.drawArrowhead(a, r, "mid-target", c.midX, c.midY, c.midtgtArrowAngle, u), this.drawArrowhead(a, r, "mid-source", c.midX, c.midY, c.midsrcArrowAngle, u), d || this.drawArrowhead(a, r, "target", c.arrowEndX, c.arrowEndY, c.tgtArrowAngle, u); -}; -xf.drawArrowhead = function(a, r, u, c, d, g, b) { - if (!(isNaN(c) || c == null || isNaN(d) || d == null || isNaN(g) || g == null)) { - var y = this, k = r.pstyle(u + "-arrow-shape").value; - if (k !== "none") { - var E = r.pstyle(u + "-arrow-fill").value === "hollow" ? "both" : "filled", C = r.pstyle(u + "-arrow-fill").value, T = r.pstyle("width").pfValue, P = r.pstyle("opacity").value; - b === void 0 && (b = P); - var N = a.globalCompositeOperation; - (b !== 1 || C === "hollow") && (a.globalCompositeOperation = "destination-out", y.colorFillStyle(a, 255, 255, 255, 1), y.colorStrokeStyle(a, 255, 255, 255, 1), y.drawArrowShape(r, a, E, T, k, c, d, g), a.globalCompositeOperation = N); - var D = r.pstyle(u + "-arrow-color").value; - y.colorFillStyle(a, D[0], D[1], D[2], b), y.colorStrokeStyle(a, D[0], D[1], D[2], b), y.drawArrowShape(r, a, C, T, k, c, d, g); - } - } -}; -xf.drawArrowShape = function(a, r, u, c, d, g, b, y) { - var k = this, E = this.usePaths() && d !== "triangle-cross", C = !1, T, P = r, N = { - x: g, - y: b - }, D = a.pstyle("arrow-scale").value, H = this.getArrowWidth(c, D), _ = k.arrowShapes[d]; - if (E) { - var B = k.arrowPathCache = k.arrowPathCache || [], $ = fv(d), F = B[$]; - F != null ? (T = r = F, C = !0) : (T = r = new Path2D(), B[$] = T); - } - C || (r.beginPath && r.beginPath(), E ? _.draw(r, 1, 0, { - x: 0, - y: 0 - }, 1) : _.draw(r, H, y, N, c), r.closePath && r.closePath()), r = P, E && (r.translate(g, b), r.rotate(y), r.scale(H, H)), (u === "filled" || u === "both") && (E ? r.fill(T) : r.fill()), (u === "hollow" || u === "both") && (r.lineWidth = (_.matchEdgeWidth ? c : 1) / (E ? H : 1), r.lineJoin = "miter", E ? r.stroke(T) : r.stroke()), E && (r.scale(1 / H, 1 / H), r.rotate(-y), r.translate(-g, -b)); -}; -var q6 = {}; -q6.safeDrawImage = function(a, r, u, c, d, g, b, y, k, E) { - if (!(d <= 0 || g <= 0 || k <= 0 || E <= 0)) - try { - a.drawImage(r, u, c, d, g, b, y, k, E); - } catch (C) { - Sr(C); - } -}; -q6.drawInscribedImage = function(a, r, u, c, d) { - var g = this, b = u.position(), y = b.x, k = b.y, E = u.cy().style(), C = E.getIndexedStyle.bind(E), T = C(u, "background-fit", "value", c), P = C(u, "background-repeat", "value", c), N = u.width(), D = u.height(), H = u.padding() * 2, _ = N + (C(u, "background-width-relative-to", "value", c) === "inner" ? 0 : H), B = D + (C(u, "background-height-relative-to", "value", c) === "inner" ? 0 : H), $ = u._private.rscratch, F = C(u, "background-clip", "value", c), W = F === "node", Q = C(u, "background-image-opacity", "value", c) * d, X = C(u, "background-image-smoothing", "value", c), K = r.width || r.cachedW, ee = r.height || r.cachedH; - (K == null || ee == null) && (document.body.appendChild(r), K = r.cachedW = r.width || r.offsetWidth, ee = r.cachedH = r.height || r.offsetHeight, document.body.removeChild(r)); - var Z = K, ae = ee; - if (C(u, "background-width", "value", c) !== "auto" && (C(u, "background-width", "units", c) === "%" ? Z = C(u, "background-width", "pfValue", c) * _ : Z = C(u, "background-width", "pfValue", c)), C(u, "background-height", "value", c) !== "auto" && (C(u, "background-height", "units", c) === "%" ? ae = C(u, "background-height", "pfValue", c) * B : ae = C(u, "background-height", "pfValue", c)), !(Z === 0 || ae === 0)) { - if (T === "contain") { - var oe = Math.min(_ / Z, B / ae); - Z *= oe, ae *= oe; - } else if (T === "cover") { - var oe = Math.max(_ / Z, B / ae); - Z *= oe, ae *= oe; - } - var J = y - _ / 2, fe = C(u, "background-position-x", "units", c), se = C(u, "background-position-x", "pfValue", c); - fe === "%" ? J += (_ - Z) * se : J += se; - var pe = C(u, "background-offset-x", "units", c), he = C(u, "background-offset-x", "pfValue", c); - pe === "%" ? J += (_ - Z) * he : J += he; - var de = k - B / 2, ke = C(u, "background-position-y", "units", c), Pe = C(u, "background-position-y", "pfValue", c); - ke === "%" ? de += (B - ae) * Pe : de += Pe; - var Ae = C(u, "background-offset-y", "units", c), Te = C(u, "background-offset-y", "pfValue", c); - Ae === "%" ? de += (B - ae) * Te : de += Te, $.pathCache && (J -= y, de -= k, y = 0, k = 0); - var Oe = a.globalAlpha; - a.globalAlpha = Q; - var ze = g.getImgSmoothing(a), We = !1; - if (X === "no" && ze ? (g.setImgSmoothing(a, !1), We = !0) : X === "yes" && !ze && (g.setImgSmoothing(a, !0), We = !0), P === "no-repeat") - W && (a.save(), $.pathCache ? a.clip($.pathCache) : (g.nodeShapes[g.getNodeShape(u)].draw(a, y, k, _, B), a.clip())), g.safeDrawImage(a, r, 0, 0, K, ee, J, de, Z, ae), W && a.restore(); - else { - var $e = a.createPattern(r, P); - a.fillStyle = $e, g.nodeShapes[g.getNodeShape(u)].draw(a, y, k, _, B), a.translate(J, de), a.fill(), a.translate(-J, -de); - } - a.globalAlpha = Oe, We && g.setImgSmoothing(a, ze); - } -}; -var wv = {}; -wv.eleTextBiggerThanMin = function(a, r) { - if (!r) { - var u = a.cy().zoom(), c = this.getPixelRatio(), d = Math.ceil(M6(u * c)); - r = Math.pow(2, d); - } - var g = a.pstyle("font-size").pfValue * r, b = a.pstyle("min-zoomed-font-size").pfValue; - return !(g < b); -}; -wv.drawElementText = function(a, r, u, c, d) { - var g = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, b = this; - if (c == null) { - if (g && !b.eleTextBiggerThanMin(r)) - return; - } else if (c === !1) - return; - if (r.isNode()) { - var y = r.pstyle("label"); - if (!y || !y.value) - return; - var k = b.getLabelJustification(r); - a.textAlign = k, a.textBaseline = "bottom"; - } else { - var E = r.element()._private.rscratch.badLine, C = r.pstyle("label"), T = r.pstyle("source-label"), P = r.pstyle("target-label"); - if (E || (!C || !C.value) && (!T || !T.value) && (!P || !P.value)) - return; - a.textAlign = "center", a.textBaseline = "bottom"; - } - var N = !u, D; - u && (D = u, a.translate(-D.x1, -D.y1)), d == null ? (b.drawText(a, r, null, N, g), r.isEdge() && (b.drawText(a, r, "source", N, g), b.drawText(a, r, "target", N, g))) : b.drawText(a, r, d, N, g), u && a.translate(D.x1, D.y1); -}; -wv.getFontCache = function(a) { - var r; - this.fontCaches = this.fontCaches || []; - for (var u = 0; u < this.fontCaches.length; u++) - if (r = this.fontCaches[u], r.context === a) - return r; - return r = { - context: a - }, this.fontCaches.push(r), r; -}; -wv.setupTextStyle = function(a, r) { - var u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, c = r.pstyle("font-style").strValue, d = r.pstyle("font-size").pfValue + "px", g = r.pstyle("font-family").strValue, b = r.pstyle("font-weight").strValue, y = u ? r.effectiveOpacity() * r.pstyle("text-opacity").value : 1, k = r.pstyle("text-outline-opacity").value * y, E = r.pstyle("color").value, C = r.pstyle("text-outline-color").value; - a.font = c + " " + b + " " + d + " " + g, a.lineJoin = "round", this.colorFillStyle(a, E[0], E[1], E[2], y), this.colorStrokeStyle(a, C[0], C[1], C[2], k); -}; -function Ile(a, r, u, c, d) { - var g = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5; - a.beginPath(), a.moveTo(r + g, u), a.lineTo(r + c - g, u), a.quadraticCurveTo(r + c, u, r + c, u + g), a.lineTo(r + c, u + d - g), a.quadraticCurveTo(r + c, u + d, r + c - g, u + d), a.lineTo(r + g, u + d), a.quadraticCurveTo(r, u + d, r, u + d - g), a.lineTo(r, u + g), a.quadraticCurveTo(r, u, r + g, u), a.closePath(), a.fill(); -} -wv.getTextAngle = function(a, r) { - var u, c = a._private, d = c.rscratch, g = r ? r + "-" : "", b = a.pstyle(g + "text-rotation"), y = Sc(d, "labelAngle", r); - return b.strValue === "autorotate" ? u = a.isEdge() ? y : 0 : b.strValue === "none" ? u = 0 : u = b.pfValue, u; -}; -wv.drawText = function(a, r, u) { - var c = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, g = r._private, b = g.rscratch, y = d ? r.effectiveOpacity() : 1; - if (!(d && (y === 0 || r.pstyle("text-opacity").value === 0))) { - u === "main" && (u = null); - var k = Sc(b, "labelX", u), E = Sc(b, "labelY", u), C, T, P = this.getLabelText(r, u); - if (P != null && P !== "" && !isNaN(k) && !isNaN(E)) { - this.setupTextStyle(a, r, d); - var N = u ? u + "-" : "", D = Sc(b, "labelWidth", u), H = Sc(b, "labelHeight", u), _ = r.pstyle(N + "text-margin-x").pfValue, B = r.pstyle(N + "text-margin-y").pfValue, $ = r.isEdge(), F = r.pstyle("text-halign").value, W = r.pstyle("text-valign").value; - $ && (F = "center", W = "center"), k += _, E += B; - var Q; - switch (c ? Q = this.getTextAngle(r, u) : Q = 0, Q !== 0 && (C = k, T = E, a.translate(C, T), a.rotate(Q), k = 0, E = 0), W) { - case "top": - break; - case "center": - E += H / 2; - break; - case "bottom": - E += H; - break; - } - var X = r.pstyle("text-background-opacity").value, K = r.pstyle("text-border-opacity").value, ee = r.pstyle("text-border-width").pfValue, Z = r.pstyle("text-background-padding").pfValue; - if (X > 0 || ee > 0 && K > 0) { - var ae = k - Z; - switch (F) { - case "left": - ae -= D; - break; - case "center": - ae -= D / 2; - break; - } - var oe = E - H - Z, J = D + 2 * Z, fe = H + 2 * Z; - if (X > 0) { - var se = a.fillStyle, pe = r.pstyle("text-background-color").value; - a.fillStyle = "rgba(" + pe[0] + "," + pe[1] + "," + pe[2] + "," + X * y + ")"; - var he = r.pstyle("text-background-shape").strValue; - he.indexOf("round") === 0 ? Ile(a, ae, oe, J, fe, 2) : a.fillRect(ae, oe, J, fe), a.fillStyle = se; - } - if (ee > 0 && K > 0) { - var de = a.strokeStyle, ke = a.lineWidth, Pe = r.pstyle("text-border-color").value, Ae = r.pstyle("text-border-style").value; - if (a.strokeStyle = "rgba(" + Pe[0] + "," + Pe[1] + "," + Pe[2] + "," + K * y + ")", a.lineWidth = ee, a.setLineDash) - switch (Ae) { - case "dotted": - a.setLineDash([1, 1]); - break; - case "dashed": - a.setLineDash([4, 2]); - break; - case "double": - a.lineWidth = ee / 4, a.setLineDash([]); - break; - case "solid": - a.setLineDash([]); - break; - } - if (a.strokeRect(ae, oe, J, fe), Ae === "double") { - var Te = ee / 2; - a.strokeRect(ae + Te, oe + Te, J - Te * 2, fe - Te * 2); - } - a.setLineDash && a.setLineDash([]), a.lineWidth = ke, a.strokeStyle = de; - } - } - var Oe = 2 * r.pstyle("text-outline-width").pfValue; - if (Oe > 0 && (a.lineWidth = Oe), r.pstyle("text-wrap").value === "wrap") { - var ze = Sc(b, "labelWrapCachedLines", u), We = Sc(b, "labelLineHeight", u), $e = D / 2, Ge = this.getLabelJustification(r); - switch (Ge === "auto" || (F === "left" ? Ge === "left" ? k += -D : Ge === "center" && (k += -$e) : F === "center" ? Ge === "left" ? k += -$e : Ge === "right" && (k += $e) : F === "right" && (Ge === "center" ? k += $e : Ge === "right" && (k += D))), W) { - case "top": - E -= (ze.length - 1) * We; - break; - case "center": - case "bottom": - E -= (ze.length - 1) * We; - break; - } - for (var me = 0; me < ze.length; me++) - Oe > 0 && a.strokeText(ze[me], k, E), a.fillText(ze[me], k, E), E += We; - } else - Oe > 0 && a.strokeText(P, k, E), a.fillText(P, k, E); - Q !== 0 && (a.rotate(-Q), a.translate(-C, -T)); - } - } -}; -var Fb = {}; -Fb.drawNode = function(a, r, u) { - var c = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, d = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, g = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, b = this, y, k, E = r._private, C = E.rscratch, T = r.position(); - if (!(!kt(T.x) || !kt(T.y)) && !(g && !r.visible())) { - var P = g ? r.effectiveOpacity() : 1, N = b.usePaths(), D, H = !1, _ = r.padding(); - y = r.width() + 2 * _, k = r.height() + 2 * _; - var B; - u && (B = u, a.translate(-B.x1, -B.y1)); - for (var $ = r.pstyle("background-image"), F = $.value, W = new Array(F.length), Q = new Array(F.length), X = 0, K = 0; K < F.length; K++) { - var ee = F[K], Z = W[K] = ee != null && ee !== "none"; - if (Z) { - var ae = r.cy().style().getIndexedStyle(r, "background-image-crossorigin", "value", K); - X++, Q[K] = b.getCachedImage(ee, ae, function() { - E.backgroundTimestamp = Date.now(), r.emitAndNotify("background"); - }); - } - } - var oe = r.pstyle("background-blacken").value, J = r.pstyle("border-width").pfValue, fe = r.pstyle("background-opacity").value * P, se = r.pstyle("border-color").value, pe = r.pstyle("border-style").value, he = r.pstyle("border-opacity").value * P; - a.lineJoin = "miter"; - var de = function() { - var yt = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fe; - b.eleFillStyle(a, r, yt); - }, ke = function() { - var yt = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : he; - b.colorStrokeStyle(a, se[0], se[1], se[2], yt); - }, Pe = r.pstyle("shape").strValue, Ae = r.pstyle("shape-polygon-points").pfValue; - if (N) { - a.translate(T.x, T.y); - var Te = b.nodePathCache = b.nodePathCache || [], Oe = UG(Pe === "polygon" ? Pe + "," + Ae.join(",") : Pe, "" + k, "" + y), ze = Te[Oe]; - ze != null ? (D = ze, H = !0, C.pathCache = D) : (D = new Path2D(), Te[Oe] = C.pathCache = D); - } - var We = function() { - if (!H) { - var yt = T; - N && (yt = { - x: 0, - y: 0 - }), b.nodeShapes[b.getNodeShape(r)].draw(D || a, yt.x, yt.y, y, k); - } - N ? a.fill(D) : a.fill(); - }, $e = function() { - for (var yt = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : P, Mt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, In = E.backgrounding, Pn = 0, Vt = 0; Vt < Q.length; Vt++) { - var ar = r.cy().style().getIndexedStyle(r, "background-image-containment", "value", Vt); - if (Mt && ar === "over" || !Mt && ar === "inside") { - Pn++; - continue; - } - W[Vt] && Q[Vt].complete && !Q[Vt].error && (Pn++, b.drawInscribedImage(a, Q[Vt], r, Vt, yt)); - } - E.backgrounding = Pn !== X, In !== E.backgrounding && r.updateStyle(!1); - }, Ge = function() { - var yt = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, Mt = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : P; - b.hasPie(r) && (b.drawPie(a, r, Mt), yt && (N || b.nodeShapes[b.getNodeShape(r)].draw(a, T.x, T.y, y, k))); - }, me = function() { - var yt = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : P, Mt = (oe > 0 ? oe : -oe) * yt, In = oe > 0 ? 0 : 255; - oe !== 0 && (b.colorFillStyle(a, In, In, In, Mt), N ? a.fill(D) : a.fill()); - }, Ve = function() { - if (J > 0) { - if (a.lineWidth = J, a.lineCap = "butt", a.setLineDash) - switch (pe) { - case "dotted": - a.setLineDash([1, 1]); - break; - case "dashed": - a.setLineDash([4, 2]); - break; - case "solid": - case "double": - a.setLineDash([]); - break; - } - if (N ? a.stroke(D) : a.stroke(), pe === "double") { - a.lineWidth = J / 3; - var yt = a.globalCompositeOperation; - a.globalCompositeOperation = "destination-out", N ? a.stroke(D) : a.stroke(), a.globalCompositeOperation = yt; - } - a.setLineDash && a.setLineDash([]); - } - }, Ke = function() { - d && b.drawNodeOverlay(a, r, T, y, k); - }, at = function() { - d && b.drawNodeUnderlay(a, r, T, y, k); - }, ft = function() { - b.drawElementText(a, r, null, c); - }, en = r.pstyle("ghost").value === "yes"; - if (en) { - var gn = r.pstyle("ghost-offset-x").pfValue, mt = r.pstyle("ghost-offset-y").pfValue, ht = r.pstyle("ghost-opacity").value, Rt = ht * P; - a.translate(gn, mt), de(ht * fe), We(), $e(Rt, !0), ke(ht * he), Ve(), Ge(oe !== 0 || J !== 0), $e(Rt, !1), me(Rt), a.translate(-gn, -mt); - } - N && a.translate(-T.x, -T.y), at(), N && a.translate(T.x, T.y), de(), We(), $e(P, !0), ke(), Ve(), Ge(oe !== 0 || J !== 0), $e(P, !1), me(), N && a.translate(-T.x, -T.y), ft(), Ke(), u && a.translate(B.x1, B.y1); - } -}; -var J$ = function(r) { - if (!["overlay", "underlay"].includes(r)) - throw new Error("Invalid state"); - return function(u, c, d, g, b) { - var y = this; - if (c.visible()) { - var k = c.pstyle("".concat(r, "-padding")).pfValue, E = c.pstyle("".concat(r, "-opacity")).value, C = c.pstyle("".concat(r, "-color")).value, T = c.pstyle("".concat(r, "-shape")).value; - if (E > 0) { - if (d = d || c.position(), g == null || b == null) { - var P = c.padding(); - g = c.width() + 2 * P, b = c.height() + 2 * P; - } - y.colorFillStyle(u, C[0], C[1], C[2], E), y.nodeShapes[T].draw(u, d.x, d.y, g + k * 2, b + k * 2), u.fill(); - } - } - }; -}; -Fb.drawNodeOverlay = J$("overlay"); -Fb.drawNodeUnderlay = J$("underlay"); -Fb.hasPie = function(a) { - return a = a[0], a._private.hasPie; -}; -Fb.drawPie = function(a, r, u, c) { - r = r[0], c = c || r.position(); - var d = r.cy().style(), g = r.pstyle("pie-size"), b = c.x, y = c.y, k = r.width(), E = r.height(), C = Math.min(k, E) / 2, T = 0, P = this.usePaths(); - P && (b = 0, y = 0), g.units === "%" ? C = C * g.pfValue : g.pfValue !== void 0 && (C = g.pfValue / 2); - for (var N = 1; N <= d.pieBackgroundN; N++) { - var D = r.pstyle("pie-" + N + "-background-size").value, H = r.pstyle("pie-" + N + "-background-color").value, _ = r.pstyle("pie-" + N + "-background-opacity").value * u, B = D / 100; - B + T > 1 && (B = 1 - T); - var $ = 1.5 * Math.PI + 2 * Math.PI * T, F = 2 * Math.PI * B, W = $ + F; - D === 0 || T >= 1 || T + B > 1 || (a.beginPath(), a.moveTo(b, y), a.arc(b, y, C, $, W), a.closePath(), this.colorFillStyle(a, H[0], H[1], H[2], _), a.fill(), T += B); - } -}; -var nu = {}, Mle = 100; -nu.getPixelRatio = function() { - var a = this.data.contexts[0]; - if (this.forcedPixelRatio != null) - return this.forcedPixelRatio; - var r = a.backingStorePixelRatio || a.webkitBackingStorePixelRatio || a.mozBackingStorePixelRatio || a.msBackingStorePixelRatio || a.oBackingStorePixelRatio || a.backingStorePixelRatio || 1; - return (window.devicePixelRatio || 1) / r; -}; -nu.paintCache = function(a) { - for (var r = this.paintCaches = this.paintCaches || [], u = !0, c, d = 0; d < r.length; d++) - if (c = r[d], c.context === a) { - u = !1; - break; - } - return u && (c = { - context: a - }, r.push(c)), c; -}; -nu.createGradientStyleFor = function(a, r, u, c, d) { - var g, b = this.usePaths(), y = u.pstyle(r + "-gradient-stop-colors").value, k = u.pstyle(r + "-gradient-stop-positions").pfValue; - if (c === "radial-gradient") - if (u.isEdge()) { - var E = u.sourceEndpoint(), C = u.targetEndpoint(), T = u.midpoint(), P = hv(E, T), N = hv(C, T); - g = a.createRadialGradient(T.x, T.y, 0, T.x, T.y, Math.max(P, N)); - } else { - var D = b ? { - x: 0, - y: 0 - } : u.position(), H = u.paddedWidth(), _ = u.paddedHeight(); - g = a.createRadialGradient(D.x, D.y, 0, D.x, D.y, Math.max(H, _)); - } - else if (u.isEdge()) { - var B = u.sourceEndpoint(), $ = u.targetEndpoint(); - g = a.createLinearGradient(B.x, B.y, $.x, $.y); - } else { - var F = b ? { - x: 0, - y: 0 - } : u.position(), W = u.paddedWidth(), Q = u.paddedHeight(), X = W / 2, K = Q / 2, ee = u.pstyle("background-gradient-direction").value; - switch (ee) { - case "to-bottom": - g = a.createLinearGradient(F.x, F.y - K, F.x, F.y + K); - break; - case "to-top": - g = a.createLinearGradient(F.x, F.y + K, F.x, F.y - K); - break; - case "to-left": - g = a.createLinearGradient(F.x + X, F.y, F.x - X, F.y); - break; - case "to-right": - g = a.createLinearGradient(F.x - X, F.y, F.x + X, F.y); - break; - case "to-bottom-right": - case "to-right-bottom": - g = a.createLinearGradient(F.x - X, F.y - K, F.x + X, F.y + K); - break; - case "to-top-right": - case "to-right-top": - g = a.createLinearGradient(F.x - X, F.y + K, F.x + X, F.y - K); - break; - case "to-bottom-left": - case "to-left-bottom": - g = a.createLinearGradient(F.x + X, F.y - K, F.x - X, F.y + K); - break; - case "to-top-left": - case "to-left-top": - g = a.createLinearGradient(F.x + X, F.y + K, F.x - X, F.y - K); - break; - } - } - if (!g) - return null; - for (var Z = k.length === y.length, ae = y.length, oe = 0; oe < ae; oe++) - g.addColorStop(Z ? k[oe] : oe / (ae - 1), "rgba(" + y[oe][0] + "," + y[oe][1] + "," + y[oe][2] + "," + d + ")"); - return g; -}; -nu.gradientFillStyle = function(a, r, u, c) { - var d = this.createGradientStyleFor(a, "background", r, u, c); - if (!d) - return null; - a.fillStyle = d; -}; -nu.colorFillStyle = function(a, r, u, c, d) { - a.fillStyle = "rgba(" + r + "," + u + "," + c + "," + d + ")"; -}; -nu.eleFillStyle = function(a, r, u) { - var c = r.pstyle("background-fill").value; - if (c === "linear-gradient" || c === "radial-gradient") - this.gradientFillStyle(a, r, c, u); - else { - var d = r.pstyle("background-color").value; - this.colorFillStyle(a, d[0], d[1], d[2], u); - } -}; -nu.gradientStrokeStyle = function(a, r, u, c) { - var d = this.createGradientStyleFor(a, "line", r, u, c); - if (!d) - return null; - a.strokeStyle = d; -}; -nu.colorStrokeStyle = function(a, r, u, c, d) { - a.strokeStyle = "rgba(" + r + "," + u + "," + c + "," + d + ")"; -}; -nu.eleStrokeStyle = function(a, r, u) { - var c = r.pstyle("line-fill").value; - if (c === "linear-gradient" || c === "radial-gradient") - this.gradientStrokeStyle(a, r, c, u); - else { - var d = r.pstyle("line-color").value; - this.colorStrokeStyle(a, d[0], d[1], d[2], u); - } -}; -nu.matchCanvasSize = function(a) { - var r = this, u = r.data, c = r.findContainerClientCoords(), d = c[2], g = c[3], b = r.getPixelRatio(), y = r.motionBlurPxRatio; - (a === r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_NODE] || a === r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_DRAG]) && (b = y); - var k = d * b, E = g * b, C; - if (!(k === r.canvasWidth && E === r.canvasHeight)) { - r.fontCaches = null; - var T = u.canvasContainer; - T.style.width = d + "px", T.style.height = g + "px"; - for (var P = 0; P < r.CANVAS_LAYERS; P++) - C = u.canvases[P], C.width = k, C.height = E, C.style.width = d + "px", C.style.height = g + "px"; - for (var P = 0; P < r.BUFFER_COUNT; P++) - C = u.bufferCanvases[P], C.width = k, C.height = E, C.style.width = d + "px", C.style.height = g + "px"; - r.textureMult = 1, b <= 1 && (C = u.bufferCanvases[r.TEXTURE_BUFFER], r.textureMult = 2, C.width = k * r.textureMult, C.height = E * r.textureMult), r.canvasWidth = k, r.canvasHeight = E; - } -}; -nu.renderTo = function(a, r, u, c) { - this.render({ - forcedContext: a, - forcedZoom: r, - forcedPan: u, - drawAllLayers: !0, - forcedPxRatio: c - }); -}; -nu.render = function(a) { - a = a || QG(); - var r = a.forcedContext, u = a.drawAllLayers, c = a.drawOnlyNodeLayer, d = a.forcedZoom, g = a.forcedPan, b = this, y = a.forcedPxRatio === void 0 ? this.getPixelRatio() : a.forcedPxRatio, k = b.cy, E = b.data, C = E.canvasNeedsRedraw, T = b.textureOnViewport && !r && (b.pinching || b.hoverData.dragging || b.swipePanning || b.data.wheelZooming), P = a.motionBlur !== void 0 ? a.motionBlur : b.motionBlur, N = b.motionBlurPxRatio, D = k.hasCompoundNodes(), H = b.hoverData.draggingEles, _ = !!(b.hoverData.selecting || b.touchData.selecting); - P = P && !r && b.motionBlurEnabled && !_; - var B = P; - r || (b.prevPxRatio !== y && (b.invalidateContainerClientCoordsCache(), b.matchCanvasSize(b.container), b.redrawHint("eles", !0), b.redrawHint("drag", !0)), b.prevPxRatio = y), !r && b.motionBlurTimeout && clearTimeout(b.motionBlurTimeout), P && (b.mbFrames == null && (b.mbFrames = 0), b.mbFrames++, b.mbFrames < 3 && (B = !1), b.mbFrames > b.minMbLowQualFrames && (b.motionBlurPxRatio = b.mbPxRBlurry)), b.clearingMotionBlur && (b.motionBlurPxRatio = 1), b.textureDrawLastFrame && !T && (C[b.NODE] = !0, C[b.SELECT_BOX] = !0); - var $ = k.style(), F = k.zoom(), W = d !== void 0 ? d : F, Q = k.pan(), X = { - x: Q.x, - y: Q.y - }, K = { - zoom: F, - pan: { - x: Q.x, - y: Q.y - } - }, ee = b.prevViewport, Z = ee === void 0 || K.zoom !== ee.zoom || K.pan.x !== ee.pan.x || K.pan.y !== ee.pan.y; - !Z && !(H && !D) && (b.motionBlurPxRatio = 1), g && (X = g), W *= y, X.x *= y, X.y *= y; - var ae = b.getCachedZSortedEles(); - function oe(mt, ht, Rt, Lt, yt) { - var Mt = mt.globalCompositeOperation; - mt.globalCompositeOperation = "destination-out", b.colorFillStyle(mt, 255, 255, 255, b.motionBlurTransparency), mt.fillRect(ht, Rt, Lt, yt), mt.globalCompositeOperation = Mt; - } - function J(mt, ht) { - var Rt, Lt, yt, Mt; - !b.clearingMotionBlur && (mt === E.bufferContexts[b.MOTIONBLUR_BUFFER_NODE] || mt === E.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG]) ? (Rt = { - x: Q.x * N, - y: Q.y * N - }, Lt = F * N, yt = b.canvasWidth * N, Mt = b.canvasHeight * N) : (Rt = X, Lt = W, yt = b.canvasWidth, Mt = b.canvasHeight), mt.setTransform(1, 0, 0, 1, 0, 0), ht === "motionBlur" ? oe(mt, 0, 0, yt, Mt) : !r && (ht === void 0 || ht) && mt.clearRect(0, 0, yt, Mt), u || (mt.translate(Rt.x, Rt.y), mt.scale(Lt, Lt)), g && mt.translate(g.x, g.y), d && mt.scale(d, d); - } - if (T || (b.textureDrawLastFrame = !1), T) { - if (b.textureDrawLastFrame = !0, !b.textureCache) { - b.textureCache = {}, b.textureCache.bb = k.mutableElements().boundingBox(), b.textureCache.texture = b.data.bufferCanvases[b.TEXTURE_BUFFER]; - var fe = b.data.bufferContexts[b.TEXTURE_BUFFER]; - fe.setTransform(1, 0, 0, 1, 0, 0), fe.clearRect(0, 0, b.canvasWidth * b.textureMult, b.canvasHeight * b.textureMult), b.render({ - forcedContext: fe, - drawOnlyNodeLayer: !0, - forcedPxRatio: y * b.textureMult - }); - var K = b.textureCache.viewport = { - zoom: k.zoom(), - pan: k.pan(), - width: b.canvasWidth, - height: b.canvasHeight - }; - K.mpan = { - x: (0 - K.pan.x) / K.zoom, - y: (0 - K.pan.y) / K.zoom - }; - } - C[b.DRAG] = !1, C[b.NODE] = !1; - var se = E.contexts[b.NODE], pe = b.textureCache.texture, K = b.textureCache.viewport; - se.setTransform(1, 0, 0, 1, 0, 0), P ? oe(se, 0, 0, K.width, K.height) : se.clearRect(0, 0, K.width, K.height); - var he = $.core("outside-texture-bg-color").value, de = $.core("outside-texture-bg-opacity").value; - b.colorFillStyle(se, he[0], he[1], he[2], de), se.fillRect(0, 0, K.width, K.height); - var F = k.zoom(); - J(se, !1), se.clearRect(K.mpan.x, K.mpan.y, K.width / K.zoom / y, K.height / K.zoom / y), se.drawImage(pe, K.mpan.x, K.mpan.y, K.width / K.zoom / y, K.height / K.zoom / y); - } else - b.textureOnViewport && !r && (b.textureCache = null); - var ke = k.extent(), Pe = b.pinching || b.hoverData.dragging || b.swipePanning || b.data.wheelZooming || b.hoverData.draggingEles || b.cy.animated(), Ae = b.hideEdgesOnViewport && Pe, Te = []; - if (Te[b.NODE] = !C[b.NODE] && P && !b.clearedForMotionBlur[b.NODE] || b.clearingMotionBlur, Te[b.NODE] && (b.clearedForMotionBlur[b.NODE] = !0), Te[b.DRAG] = !C[b.DRAG] && P && !b.clearedForMotionBlur[b.DRAG] || b.clearingMotionBlur, Te[b.DRAG] && (b.clearedForMotionBlur[b.DRAG] = !0), C[b.NODE] || u || c || Te[b.NODE]) { - var Oe = P && !Te[b.NODE] && N !== 1, se = r || (Oe ? b.data.bufferContexts[b.MOTIONBLUR_BUFFER_NODE] : E.contexts[b.NODE]), ze = P && !Oe ? "motionBlur" : void 0; - J(se, ze), Ae ? b.drawCachedNodes(se, ae.nondrag, y, ke) : b.drawLayeredElements(se, ae.nondrag, y, ke), b.debug && b.drawDebugPoints(se, ae.nondrag), !u && !P && (C[b.NODE] = !1); - } - if (!c && (C[b.DRAG] || u || Te[b.DRAG])) { - var Oe = P && !Te[b.DRAG] && N !== 1, se = r || (Oe ? b.data.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG] : E.contexts[b.DRAG]); - J(se, P && !Oe ? "motionBlur" : void 0), Ae ? b.drawCachedNodes(se, ae.drag, y, ke) : b.drawCachedElements(se, ae.drag, y, ke), b.debug && b.drawDebugPoints(se, ae.drag), !u && !P && (C[b.DRAG] = !1); - } - if (b.showFps || !c && C[b.SELECT_BOX] && !u) { - var se = r || E.contexts[b.SELECT_BOX]; - if (J(se), b.selection[4] == 1 && (b.hoverData.selecting || b.touchData.selecting)) { - var F = b.cy.zoom(), We = $.core("selection-box-border-width").value / F; - se.lineWidth = We, se.fillStyle = "rgba(" + $.core("selection-box-color").value[0] + "," + $.core("selection-box-color").value[1] + "," + $.core("selection-box-color").value[2] + "," + $.core("selection-box-opacity").value + ")", se.fillRect(b.selection[0], b.selection[1], b.selection[2] - b.selection[0], b.selection[3] - b.selection[1]), We > 0 && (se.strokeStyle = "rgba(" + $.core("selection-box-border-color").value[0] + "," + $.core("selection-box-border-color").value[1] + "," + $.core("selection-box-border-color").value[2] + "," + $.core("selection-box-opacity").value + ")", se.strokeRect(b.selection[0], b.selection[1], b.selection[2] - b.selection[0], b.selection[3] - b.selection[1])); - } - if (E.bgActivePosistion && !b.hoverData.selecting) { - var F = b.cy.zoom(), $e = E.bgActivePosistion; - se.fillStyle = "rgba(" + $.core("active-bg-color").value[0] + "," + $.core("active-bg-color").value[1] + "," + $.core("active-bg-color").value[2] + "," + $.core("active-bg-opacity").value + ")", se.beginPath(), se.arc($e.x, $e.y, $.core("active-bg-size").pfValue / F, 0, 2 * Math.PI), se.fill(); - } - var Ge = b.lastRedrawTime; - if (b.showFps && Ge) { - Ge = Math.round(Ge); - var me = Math.round(1e3 / Ge); - se.setTransform(1, 0, 0, 1, 0, 0), se.fillStyle = "rgba(255, 0, 0, 0.75)", se.strokeStyle = "rgba(255, 0, 0, 0.75)", se.lineWidth = 1, se.fillText("1 frame = " + Ge + " ms = " + me + " fps", 0, 20); - var Ve = 60; - se.strokeRect(0, 30, 250, 20), se.fillRect(0, 30, 250 * Math.min(me / Ve, 1), 20); - } - u || (C[b.SELECT_BOX] = !1); - } - if (P && N !== 1) { - var Ke = E.contexts[b.NODE], at = b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_NODE], ft = E.contexts[b.DRAG], en = b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_DRAG], gn = function(ht, Rt, Lt) { - ht.setTransform(1, 0, 0, 1, 0, 0), Lt || !B ? ht.clearRect(0, 0, b.canvasWidth, b.canvasHeight) : oe(ht, 0, 0, b.canvasWidth, b.canvasHeight); - var yt = N; - ht.drawImage( - Rt, - // img - 0, - 0, - // sx, sy - b.canvasWidth * yt, - b.canvasHeight * yt, - // sw, sh - 0, - 0, - // x, y - b.canvasWidth, - b.canvasHeight - // w, h - ); - }; - (C[b.NODE] || Te[b.NODE]) && (gn(Ke, at, Te[b.NODE]), C[b.NODE] = !1), (C[b.DRAG] || Te[b.DRAG]) && (gn(ft, en, Te[b.DRAG]), C[b.DRAG] = !1); - } - b.prevViewport = K, b.clearingMotionBlur && (b.clearingMotionBlur = !1, b.motionBlurCleared = !0, b.motionBlur = !0), P && (b.motionBlurTimeout = setTimeout(function() { - b.motionBlurTimeout = null, b.clearedForMotionBlur[b.NODE] = !1, b.clearedForMotionBlur[b.DRAG] = !1, b.motionBlur = !1, b.clearingMotionBlur = !T, b.mbFrames = 0, C[b.NODE] = !0, C[b.DRAG] = !0, b.redraw(); - }, Mle)), r || k.emit("render"); -}; -var Fh = {}; -Fh.drawPolygonPath = function(a, r, u, c, d, g) { - var b = c / 2, y = d / 2; - a.beginPath && a.beginPath(), a.moveTo(r + b * g[0], u + y * g[1]); - for (var k = 1; k < g.length / 2; k++) - a.lineTo(r + b * g[k * 2], u + y * g[k * 2 + 1]); - a.closePath(); -}; -Fh.drawRoundPolygonPath = function(a, r, u, c, d, g) { - var b = c / 2, y = d / 2, k = A6(c, d); - a.beginPath && a.beginPath(); - for (var E = 0; E < g.length / 4; E++) { - var C = void 0, T = void 0; - E === 0 ? C = g.length - 2 : C = E * 4 - 2, T = E * 4 + 2; - var P = r + b * g[E * 4], N = u + y * g[E * 4 + 1], D = -g[C] * g[T] - g[C + 1] * g[T + 1], H = k / Math.tan(Math.acos(D) / 2), _ = P - H * g[C], B = N - H * g[C + 1], $ = P + H * g[T], F = N + H * g[T + 1]; - E === 0 ? a.moveTo(_, B) : a.lineTo(_, B), a.arcTo(P, N, $, F, k); - } - a.closePath(); -}; -Fh.drawRoundRectanglePath = function(a, r, u, c, d) { - var g = c / 2, b = d / 2, y = lw(c, d); - a.beginPath && a.beginPath(), a.moveTo(r, u - b), a.arcTo(r + g, u - b, r + g, u, y), a.arcTo(r + g, u + b, r, u + b, y), a.arcTo(r - g, u + b, r - g, u, y), a.arcTo(r - g, u - b, r, u - b, y), a.lineTo(r, u - b), a.closePath(); -}; -Fh.drawBottomRoundRectanglePath = function(a, r, u, c, d) { - var g = c / 2, b = d / 2, y = lw(c, d); - a.beginPath && a.beginPath(), a.moveTo(r, u - b), a.lineTo(r + g, u - b), a.lineTo(r + g, u), a.arcTo(r + g, u + b, r, u + b, y), a.arcTo(r - g, u + b, r - g, u, y), a.lineTo(r - g, u - b), a.lineTo(r, u - b), a.closePath(); -}; -Fh.drawCutRectanglePath = function(a, r, u, c, d) { - var g = c / 2, b = d / 2, y = o$(); - a.beginPath && a.beginPath(), a.moveTo(r - g + y, u - b), a.lineTo(r + g - y, u - b), a.lineTo(r + g, u - b + y), a.lineTo(r + g, u + b - y), a.lineTo(r + g - y, u + b), a.lineTo(r - g + y, u + b), a.lineTo(r - g, u + b - y), a.lineTo(r - g, u - b + y), a.closePath(); -}; -Fh.drawBarrelPath = function(a, r, u, c, d) { - var g = c / 2, b = d / 2, y = r - g, k = r + g, E = u - b, C = u + b, T = l6(c, d), P = T.widthOffset, N = T.heightOffset, D = T.ctrlPtOffsetPct * P; - a.beginPath && a.beginPath(), a.moveTo(y, E + N), a.lineTo(y, C - N), a.quadraticCurveTo(y + D, C, y + P, C), a.lineTo(k - P, C), a.quadraticCurveTo(k - D, C, k, C - N), a.lineTo(k, E + N), a.quadraticCurveTo(k - D, E, k - P, E), a.lineTo(y + P, E), a.quadraticCurveTo(y + D, E, y, E + N), a.closePath(); -}; -var EG = Math.sin(0), SG = Math.cos(0), w6 = {}, m6 = {}, eY = Math.PI / 40; -for (var Sb = 0 * Math.PI; Sb < 2 * Math.PI; Sb += eY) - w6[Sb] = Math.sin(Sb), m6[Sb] = Math.cos(Sb); -Fh.drawEllipsePath = function(a, r, u, c, d) { - if (a.beginPath && a.beginPath(), a.ellipse) - a.ellipse(r, u, c / 2, d / 2, 0, 0, 2 * Math.PI); - else - for (var g, b, y = c / 2, k = d / 2, E = 0 * Math.PI; E < 2 * Math.PI; E += eY) - g = r - y * w6[E] * EG + y * m6[E] * SG, b = u + k * m6[E] * EG + k * w6[E] * SG, E === 0 ? a.moveTo(g, b) : a.lineTo(g, b); - a.closePath(); -}; -var gw = {}; -gw.createBuffer = function(a, r) { - var u = document.createElement("canvas"); - return u.width = a, u.height = r, [u, u.getContext("2d")]; -}; -gw.bufferCanvasImage = function(a) { - var r = this.cy, u = r.mutableElements(), c = u.boundingBox(), d = this.findContainerClientCoords(), g = a.full ? Math.ceil(c.w) : d[2], b = a.full ? Math.ceil(c.h) : d[3], y = kt(a.maxWidth) || kt(a.maxHeight), k = this.getPixelRatio(), E = 1; - if (a.scale !== void 0) - g *= a.scale, b *= a.scale, E = a.scale; - else if (y) { - var C = 1 / 0, T = 1 / 0; - kt(a.maxWidth) && (C = E * a.maxWidth / g), kt(a.maxHeight) && (T = E * a.maxHeight / b), E = Math.min(C, T), g *= E, b *= E; - } - y || (g *= k, b *= k, E *= k); - var P = document.createElement("canvas"); - P.width = g, P.height = b, P.style.width = g + "px", P.style.height = b + "px"; - var N = P.getContext("2d"); - if (g > 0 && b > 0) { - N.clearRect(0, 0, g, b), N.globalCompositeOperation = "source-over"; - var D = this.getCachedZSortedEles(); - if (a.full) - N.translate(-c.x1 * E, -c.y1 * E), N.scale(E, E), this.drawElements(N, D), N.scale(1 / E, 1 / E), N.translate(c.x1 * E, c.y1 * E); - else { - var H = r.pan(), _ = { - x: H.x * E, - y: H.y * E - }; - E *= r.zoom(), N.translate(_.x, _.y), N.scale(E, E), this.drawElements(N, D), N.scale(1 / E, 1 / E), N.translate(-_.x, -_.y); - } - a.bg && (N.globalCompositeOperation = "destination-over", N.fillStyle = a.bg, N.rect(0, 0, g, b), N.fill()); - } - return P; -}; -function Ole(a, r) { - for (var u = atob(a), c = new ArrayBuffer(u.length), d = new Uint8Array(c), g = 0; g < u.length; g++) - d[g] = u.charCodeAt(g); - return new Blob([c], { - type: r - }); -} -function CG(a) { - var r = a.indexOf(","); - return a.substr(r + 1); -} -function tY(a, r, u) { - var c = function() { - return r.toDataURL(u, a.quality); - }; - switch (a.output) { - case "blob-promise": - return new Hb(function(d, g) { - try { - r.toBlob(function(b) { - b != null ? d(b) : g(new Error("`canvas.toBlob()` sent a null value in its callback")); - }, u, a.quality); - } catch (b) { - g(b); - } - }); - case "blob": - return Ole(CG(c()), u); - case "base64": - return CG(c()); - case "base64uri": - default: - return c(); - } -} -gw.png = function(a) { - return tY(a, this.bufferCanvasImage(a), "image/png"); -}; -gw.jpg = function(a) { - return tY(a, this.bufferCanvasImage(a), "image/jpeg"); -}; -var nY = {}; -nY.nodeShapeImpl = function(a, r, u, c, d, g, b) { - switch (a) { - case "ellipse": - return this.drawEllipsePath(r, u, c, d, g); - case "polygon": - return this.drawPolygonPath(r, u, c, d, g, b); - case "round-polygon": - return this.drawRoundPolygonPath(r, u, c, d, g, b); - case "roundrectangle": - case "round-rectangle": - return this.drawRoundRectanglePath(r, u, c, d, g); - case "cutrectangle": - case "cut-rectangle": - return this.drawCutRectanglePath(r, u, c, d, g); - case "bottomroundrectangle": - case "bottom-round-rectangle": - return this.drawBottomRoundRectanglePath(r, u, c, d, g); - case "barrel": - return this.drawBarrelPath(r, u, c, d, g); - } -}; -var Ale = rY, gr = rY.prototype; -gr.CANVAS_LAYERS = 3; -gr.SELECT_BOX = 0; -gr.DRAG = 1; -gr.NODE = 2; -gr.BUFFER_COUNT = 3; -gr.TEXTURE_BUFFER = 0; -gr.MOTIONBLUR_BUFFER_NODE = 1; -gr.MOTIONBLUR_BUFFER_DRAG = 2; -function rY(a) { - var r = this; - r.data = { - canvases: new Array(gr.CANVAS_LAYERS), - contexts: new Array(gr.CANVAS_LAYERS), - canvasNeedsRedraw: new Array(gr.CANVAS_LAYERS), - bufferCanvases: new Array(gr.BUFFER_COUNT), - bufferContexts: new Array(gr.CANVAS_LAYERS) - }; - var u = "-webkit-tap-highlight-color", c = "rgba(0,0,0,0)"; - r.data.canvasContainer = document.createElement("div"); - var d = r.data.canvasContainer.style; - r.data.canvasContainer.style[u] = c, d.position = "relative", d.zIndex = "0", d.overflow = "hidden"; - var g = a.cy.container(); - g.appendChild(r.data.canvasContainer), g.style[u] = c; - var b = { - "-webkit-user-select": "none", - "-moz-user-select": "-moz-none", - "user-select": "none", - "-webkit-tap-highlight-color": "rgba(0,0,0,0)", - "outline-style": "none" - }; - boe() && (b["-ms-touch-action"] = "none", b["touch-action"] = "none"); - for (var y = 0; y < gr.CANVAS_LAYERS; y++) { - var k = r.data.canvases[y] = document.createElement("canvas"); - r.data.contexts[y] = k.getContext("2d"), Object.keys(b).forEach(function(Ge) { - k.style[Ge] = b[Ge]; - }), k.style.position = "absolute", k.setAttribute("data-id", "layer" + y), k.style.zIndex = String(gr.CANVAS_LAYERS - y), r.data.canvasContainer.appendChild(k), r.data.canvasNeedsRedraw[y] = !1; - } - r.data.topCanvas = r.data.canvases[0], r.data.canvases[gr.NODE].setAttribute("data-id", "layer" + gr.NODE + "-node"), r.data.canvases[gr.SELECT_BOX].setAttribute("data-id", "layer" + gr.SELECT_BOX + "-selectbox"), r.data.canvases[gr.DRAG].setAttribute("data-id", "layer" + gr.DRAG + "-drag"); - for (var y = 0; y < gr.BUFFER_COUNT; y++) - r.data.bufferCanvases[y] = document.createElement("canvas"), r.data.bufferContexts[y] = r.data.bufferCanvases[y].getContext("2d"), r.data.bufferCanvases[y].style.position = "absolute", r.data.bufferCanvases[y].setAttribute("data-id", "buffer" + y), r.data.bufferCanvases[y].style.zIndex = String(-y - 1), r.data.bufferCanvases[y].style.visibility = "hidden"; - r.pathsEnabled = !0; - var E = Ms(), C = function(me) { - return { - x: (me.x1 + me.x2) / 2, - y: (me.y1 + me.y2) / 2 - }; - }, T = function(me) { - return { - x: -me.w / 2, - y: -me.h / 2 - }; - }, P = function(me) { - var Ve = me[0]._private, Ke = Ve.oldBackgroundTimestamp === Ve.backgroundTimestamp; - return !Ke; - }, N = function(me) { - return me[0]._private.nodeKey; - }, D = function(me) { - return me[0]._private.labelStyleKey; - }, H = function(me) { - return me[0]._private.sourceLabelStyleKey; - }, _ = function(me) { - return me[0]._private.targetLabelStyleKey; - }, B = function(me, Ve, Ke, at, ft) { - return r.drawElement(me, Ve, Ke, !1, !1, ft); - }, $ = function(me, Ve, Ke, at, ft) { - return r.drawElementText(me, Ve, Ke, at, "main", ft); - }, F = function(me, Ve, Ke, at, ft) { - return r.drawElementText(me, Ve, Ke, at, "source", ft); - }, W = function(me, Ve, Ke, at, ft) { - return r.drawElementText(me, Ve, Ke, at, "target", ft); - }, Q = function(me) { - return me.boundingBox(), me[0]._private.bodyBounds; - }, X = function(me) { - return me.boundingBox(), me[0]._private.labelBounds.main || E; - }, K = function(me) { - return me.boundingBox(), me[0]._private.labelBounds.source || E; - }, ee = function(me) { - return me.boundingBox(), me[0]._private.labelBounds.target || E; - }, Z = function(me, Ve) { - return Ve; - }, ae = function(me) { - return C(Q(me)); - }, oe = function(me, Ve, Ke) { - var at = me ? me + "-" : ""; - return { - x: Ve.x + Ke.pstyle(at + "text-margin-x").pfValue, - y: Ve.y + Ke.pstyle(at + "text-margin-y").pfValue - }; - }, J = function(me, Ve, Ke) { - var at = me[0]._private.rscratch; - return { - x: at[Ve], - y: at[Ke] - }; - }, fe = function(me) { - return oe("", J(me, "labelX", "labelY"), me); - }, se = function(me) { - return oe("source", J(me, "sourceLabelX", "sourceLabelY"), me); - }, pe = function(me) { - return oe("target", J(me, "targetLabelX", "targetLabelY"), me); - }, he = function(me) { - return T(Q(me)); - }, de = function(me) { - return T(K(me)); - }, ke = function(me) { - return T(ee(me)); - }, Pe = function(me) { - var Ve = X(me), Ke = T(X(me)); - if (me.isNode()) { - switch (me.pstyle("text-halign").value) { - case "left": - Ke.x = -Ve.w; - break; - case "right": - Ke.x = 0; - break; - } - switch (me.pstyle("text-valign").value) { - case "top": - Ke.y = -Ve.h; - break; - case "bottom": - Ke.y = 0; - break; - } - } - return Ke; - }, Ae = r.data.eleTxrCache = new qp(r, { - getKey: N, - doesEleInvalidateKey: P, - drawElement: B, - getBoundingBox: Q, - getRotationPoint: ae, - getRotationOffset: he, - allowEdgeTxrCaching: !1, - allowParentTxrCaching: !1 - }), Te = r.data.lblTxrCache = new qp(r, { - getKey: D, - drawElement: $, - getBoundingBox: X, - getRotationPoint: fe, - getRotationOffset: Pe, - isVisible: Z - }), Oe = r.data.slbTxrCache = new qp(r, { - getKey: H, - drawElement: F, - getBoundingBox: K, - getRotationPoint: se, - getRotationOffset: de, - isVisible: Z - }), ze = r.data.tlbTxrCache = new qp(r, { - getKey: _, - drawElement: W, - getBoundingBox: ee, - getRotationPoint: pe, - getRotationOffset: ke, - isVisible: Z - }), We = r.data.lyrTxrCache = new Z$(r); - r.onUpdateEleCalcs(function(me, Ve) { - Ae.invalidateElements(Ve), Te.invalidateElements(Ve), Oe.invalidateElements(Ve), ze.invalidateElements(Ve), We.invalidateElements(Ve); - for (var Ke = 0; Ke < Ve.length; Ke++) { - var at = Ve[Ke]._private; - at.oldBackgroundTimestamp = at.backgroundTimestamp; - } - }); - var $e = function(me) { - for (var Ve = 0; Ve < me.length; Ve++) - We.enqueueElementRefinement(me[Ve].ele); - }; - Ae.onDequeue($e), Te.onDequeue($e), Oe.onDequeue($e), ze.onDequeue($e); -} -gr.redrawHint = function(a, r) { - var u = this; - switch (a) { - case "eles": - u.data.canvasNeedsRedraw[gr.NODE] = r; - break; - case "drag": - u.data.canvasNeedsRedraw[gr.DRAG] = r; - break; - case "select": - u.data.canvasNeedsRedraw[gr.SELECT_BOX] = r; - break; - } -}; -var Rle = typeof Path2D < "u"; -gr.path2dEnabled = function(a) { - if (a === void 0) - return this.pathsEnabled; - this.pathsEnabled = !!a; -}; -gr.usePaths = function() { - return Rle && this.pathsEnabled; -}; -gr.setImgSmoothing = function(a, r) { - a.imageSmoothingEnabled != null ? a.imageSmoothingEnabled = r : (a.webkitImageSmoothingEnabled = r, a.mozImageSmoothingEnabled = r, a.msImageSmoothingEnabled = r); -}; -gr.getImgSmoothing = function(a) { - return a.imageSmoothingEnabled != null ? a.imageSmoothingEnabled : a.webkitImageSmoothingEnabled || a.mozImageSmoothingEnabled || a.msImageSmoothingEnabled; -}; -gr.makeOffscreenCanvas = function(a, r) { - var u; - return (typeof OffscreenCanvas > "u" ? "undefined" : Ra(OffscreenCanvas)) !== "undefined" ? u = new OffscreenCanvas(a, r) : (u = document.createElement("canvas"), u.width = a, u.height = r), u; -}; -[X$, xl, xf, q6, wv, Fb, nu, Fh, gw, nY].forEach(function(a) { - on(gr, a); -}); -var Ble = [{ - name: "null", - impl: G$ -}, { - name: "base", - impl: U$ -}, { - name: "canvas", - impl: Ale -}], zle = [{ - type: "layout", - extensions: qce -}, { - type: "renderer", - extensions: Ble -}], iY = {}, aY = {}; -function oY(a, r, u) { - var c = u, d = function(ee) { - Sr("Can not register `" + r + "` for `" + a + "` since `" + ee + "` already exists in the prototype and can not be overridden"); - }; - if (a === "core") { - if (rw.prototype[r]) - return d(r); - rw.prototype[r] = u; - } else if (a === "collection") { - if (bo.prototype[r]) - return d(r); - bo.prototype[r] = u; - } else if (a === "layout") { - for (var g = function(ee) { - this.options = ee, u.call(this, ee), fr(this._private) || (this._private = {}), this._private.cy = ee.cy, this._private.listeners = [], this.createEmitter(); - }, b = g.prototype = Object.create(u.prototype), y = [], k = 0; k < y.length; k++) { - var E = y[k]; - b[E] = b[E] || function() { - return this; - }; - } - b.start && !b.run ? b.run = function() { - return this.start(), this; - } : !b.start && b.run && (b.start = function() { - return this.run(), this; - }); - var C = u.prototype.stop; - b.stop = function() { - var K = this.options; - if (K && K.animate) { - var ee = this.animations; - if (ee) - for (var Z = 0; Z < ee.length; Z++) - ee[Z].stop(); - } - return C ? C.call(this) : this.emit("layoutstop"), this; - }, b.destroy || (b.destroy = function() { - return this; - }), b.cy = function() { - return this._private.cy; - }; - var T = function(ee) { - return ee._private.cy; - }, P = { - addEventFields: function(ee, Z) { - Z.layout = ee, Z.cy = T(ee), Z.target = ee; - }, - bubble: function() { - return !0; - }, - parent: function(ee) { - return T(ee); - } - }; - on(b, { - createEmitter: function() { - return this._private.emitter = new b5(P, this), this; - }, - emitter: function() { - return this._private.emitter; - }, - on: function(ee, Z) { - return this.emitter().on(ee, Z), this; - }, - one: function(ee, Z) { - return this.emitter().one(ee, Z), this; - }, - once: function(ee, Z) { - return this.emitter().one(ee, Z), this; - }, - removeListener: function(ee, Z) { - return this.emitter().removeListener(ee, Z), this; - }, - removeAllListeners: function() { - return this.emitter().removeAllListeners(), this; - }, - emit: function(ee, Z) { - return this.emitter().emit(ee, Z), this; - } - }), Mr.eventAliasesOn(b), c = g; - } else if (a === "renderer" && r !== "null" && r !== "base") { - var N = sY("renderer", "base"), D = N.prototype, H = u, _ = u.prototype, B = function() { - N.apply(this, arguments), H.apply(this, arguments); - }, $ = B.prototype; - for (var F in D) { - var W = D[F], Q = _[F] != null; - if (Q) - return d(F); - $[F] = W; - } - for (var X in _) - $[X] = _[X]; - D.clientFunctions.forEach(function(K) { - $[K] = $[K] || function() { - Qi("Renderer does not implement `renderer." + K + "()` on its prototype"); - }; - }), c = B; - } else if (a === "__proto__" || a === "constructor" || a === "prototype") - return Qi(a + " is an illegal type to be registered, possibly lead to prototype pollutions"); - return YG({ - map: iY, - keys: [a, r], - value: c - }); -} -function sY(a, r) { - return FG({ - map: iY, - keys: [a, r] - }); -} -function Hle(a, r, u, c, d) { - return YG({ - map: aY, - keys: [a, r, u, c], - value: d - }); -} -function _le(a, r, u, c) { - return FG({ - map: aY, - keys: [a, r, u, c] - }); -} -var y6 = function() { - if (arguments.length === 2) - return sY.apply(null, arguments); - if (arguments.length === 3) - return oY.apply(null, arguments); - if (arguments.length === 4) - return _le.apply(null, arguments); - if (arguments.length === 5) - return Hle.apply(null, arguments); - Qi("Invalid extension access syntax"); -}; -rw.prototype.extension = y6; -zle.forEach(function(a) { - a.extensions.forEach(function(r) { - oY(a.type, r.name, r.impl); - }); -}); -var uY = function a() { - if (!(this instanceof a)) - return new a(); - this.length = 0; -}, gv = uY.prototype; -gv.instanceString = function() { - return "stylesheet"; -}; -gv.selector = function(a) { - var r = this.length++; - return this[r] = { - selector: a, - properties: [] - }, this; -}; -gv.css = function(a, r) { - var u = this.length - 1; - if (qt(a)) - this[u].properties.push({ - name: a, - value: r - }); - else if (fr(a)) - for (var c = a, d = Object.keys(c), g = 0; g < d.length; g++) { - var b = d[g], y = c[b]; - if (y != null) { - var k = Io.properties[b] || Io.properties[f5(b)]; - if (k != null) { - var E = k.name, C = y; - this[u].properties.push({ - name: E, - value: C - }); - } - } - } - return this; -}; -gv.style = gv.css; -gv.generateStyle = function(a) { - var r = new Io(a); - return this.appendToStyle(r); -}; -gv.appendToStyle = function(a) { - for (var r = 0; r < this.length; r++) { - var u = this[r], c = u.selector, d = u.properties; - a.selector(c); - for (var g = 0; g < d.length; g++) { - var b = d[g]; - a.css(b.name, b.value); - } - } - return a; -}; -var Gle = "3.27.0", bv = function(r) { - if (r === void 0 && (r = {}), fr(r)) - return new rw(r); - if (qt(r)) - return y6.apply(y6, arguments); -}; -bv.use = function(a) { - var r = Array.prototype.slice.call(arguments, 1); - return r.unshift(bv), a.apply(null, r), this; -}; -bv.warnings = function(a) { - return ZG(a); -}; -bv.version = Gle; -bv.stylesheet = bv.Stylesheet = uY; -var $le = bv; -const qh = /* @__PURE__ */ TG($le); -var cY = { exports: {} }, s6 = { exports: {} }, xG; -function Yle() { - return xG || (xG = 1, function(a) { - (function() { - var r; - typeof window < "u" ? (r = window, r.document) : r = { Array: function() { - } }; - function u() { - } - function c() { - } - function d() { - } - function g() { - } - function b() { - } - function y() { - } - function k() { - } - function E() { - } - function C() { - } - function T() { - } - function P() { - } - function N() { - } - function D() { - } - function H() { - } - function _() { - } - function B() { - } - function $() { - } - function F() { - } - function W() { - } - function Q() { - } - function X() { - } - function K() { - } - function ee() { - } - function Z() { - } - function ae() { - } - function oe() { - } - function J() { - } - function fe() { - } - function se() { - } - function pe() { - } - function he() { - } - function de() { - } - function ke() { - } - function Pe() { - } - function Ae() { - } - function Te() { - } - function Oe() { - } - function ze() { - } - function We() { - } - function $e() { - } - function Ge() { - } - function me() { - } - function Ve() { - } - function Ke() { - } - function at() { - } - function ft() { - } - function en() { - } - function gn() { - } - function mt() { - } - function ht() { - } - function Rt() { - } - function Lt() { - } - function yt() { - } - function Mt() { - } - function In() { - } - function Pn() { - } - function Vt() { - } - function ar() { - } - function Qe() { - } - function ne() { - } - function Ie() { - } - function Je() { - } - function Ye() { - } - function Fe() { - } - function bn() { - } - function tt() { - } - function Gt() { - } - function tr() { - } - function hr() { - } - function Dn() { - } - function rr() { - } - function wn() { - } - function jn() { - } - function ui() { - } - function aa() { - } - function cs() { - } - function ls() { - } - function oa() { - } - function Bo() { - } - function za() { - } - function ru() { - } - function Mu() { - } - function Tl() { - } - function xc() { - } - function Ll() { - } - function Vh() { - } - function Tc() { - } - function eo() { - } - function ma() { - } - function to() { - } - function Wh() { - } - function Os() { - } - function qb() { - } - function bw() { - } - function pw() { - } - function ww() { - } - function mw() { - } - function yw() { - } - function kw() { - } - function Ew() { - } - function Tf() { - } - function yv() { - } - function Uh() { - } - function Vb() { - } - function Wb() { - } - function Sw() { - } - function no() { - } - function kv() { - } - function Ub() { - } - function Kh() { - } - function fs() { - } - function Cw() { - } - function U6() { - } - function K6() { - } - function C5() { - } - function Z6() { - } - function X6() { - } - function Q6() { - } - function J6() { - } - function eP() { - } - function tP() { - } - function xw() { - } - function Tw() { - } - function nP() { - wj(); - } - function mY() { - iQ(); - } - function rP() { - HM(); - } - function iP() { - Rj(); - } - function aP() { - C4(); - } - function oP() { - _7(); - } - function sP() { - G7(); - } - function uP() { - lD(); - } - function cP() { - hN(); - } - function lP() { - gj(); - } - function fP() { - SO(); - } - function hP() { - bj(); - } - function dP() { - pj(); - } - function vP() { - vA(); - } - function gP() { - F3(); - } - function Lc() { - Dm(this); - } - function bP() { - } - function Se() { - km(this); - } - function Lw() { - } - function pP(e) { - this.a = e; - } - function wP(e) { - this.a = e; - } - function Kb(e) { - this.a = e; - } - function mP(e) { - this.a = e; - } - function yP(e) { - this.a = e; - } - function kP(e) { - this.a = e; - } - function EP(e) { - this.a = e; - } - function Pw(e) { - this.a = e; - } - function SP(e) { - this.a = e; - } - function Dw(e) { - this.b = e; - } - function x5(e) { - this.a = e; - } - function CP(e) { - this.a = e; - } - function xP(e) { - this.a = e; - } - function TP(e) { - this.a = e; - } - function LP(e) { - this.a = e; - } - function PP(e) { - this.a = e; - } - function DP(e) { - this.a = e; - } - function jP(e) { - this.a = e; - } - function T5(e) { - this.a = e; - } - function jw(e) { - this.a = e; - } - function Nw(e) { - this.a = e; - } - function NP(e) { - this.a = e; - } - function IP(e) { - this.a = e; - } - function L5(e) { - this.a = e; - } - function Zb(e) { - this.a = e; - } - function Iw(e) { - this.e = e; - } - function Zh(e) { - this.a = e; - } - function MP(e) { - this.a = e; - } - function Lf(e) { - this.a = e; - } - function P5(e) { - this.a = e; - } - function OP(e) { - this.a = e; - } - function AP(e) { - this.a = e; - } - function Mw(e) { - this.a = e; - } - function RP(e) { - this.a = e; - } - function BP(e) { - this.a = e; - } - function zP(e) { - this.a = e; - } - function HP(e) { - this.a = e; - } - function _P(e) { - this.a = e; - } - function GP(e) { - this.a = e; - } - function Xh(e) { - this.a = e; - } - function $P(e) { - this.a = e; - } - function YP(e) { - this.a = e; - } - function FP(e) { - this.a = e; - } - function qP(e) { - this.a = e; - } - function VP(e) { - this.a = e; - } - function WP(e) { - this.a = e; - } - function UP(e) { - this.a = e; - } - function KP(e) { - this.c = e; - } - function D5(e) { - this.a = e; - } - function ZP(e) { - this.a = e; - } - function XP(e) { - this.a = e; - } - function QP(e) { - this.a = e; - } - function JP(e) { - this.a = e; - } - function e7(e) { - this.a = e; - } - function j5(e) { - this.a = e; - } - function t7(e) { - this.a = e; - } - function Ut(e) { - this.a = e; - } - function iu(e) { - this.a = e; - } - function Pf(e) { - this.d = e; - } - function Wt(e) { - this.a = e; - } - function Zt(e) { - this.a = e; - } - function Ev(e) { - this.a = e; - } - function Sv(e) { - this.a = e; - } - function N5(e) { - this.b = e; - } - function Xb(e) { - this.a = e; - } - function Qb(e) { - this.a = e; - } - function M(e) { - this.c = e; - } - function ro(e) { - this.a = e; - } - function n7(e) { - this.a = e; - } - function r7(e) { - this.a = e; - } - function Cv(e) { - this.b = e; - } - function Qh(e) { - this.b = e; - } - function I5(e) { - this.c = e; - } - function M5(e) { - this.a = e; - } - function O5(e) { - this.a = e; - } - function Jb(e) { - this.a = e; - } - function A5() { - this.a = []; - } - function R5(e) { - this.a = e; - } - function Ow(e) { - this.a = e; - } - function i7(e) { - e.b = e.a; - } - function a7(e) { - e.c = e.d.d; - } - function Ha(e, t) { - e.g = t; - } - function B5(e, t) { - e.k = t; - } - function yY(e, t) { - e.a = t; - } - function kY(e, t) { - e.b = t; - } - function EY(e, t) { - e.e.k = t; - } - function SY(e) { - return e.a; - } - function CY(e) { - return e.a; - } - function xY(e) { - return e.a; - } - function TY(e) { - return e.a; - } - function LY(e) { - return e.a; - } - function PY() { - return null; - } - function DY() { - return null; - } - function Aw() { - this.c = this; - } - function z5() { - Dm(this); - } - function $t() { - so(this); - } - function o7(e) { - YZ(this, e); - } - function jY(e) { - s9(), jJ(e); - } - function s7(e) { - e.a = new Wr(); - } - function xv(e, t) { - e.a = t - e.a; - } - function Tv(e, t) { - e.b = t - e.b; - } - function Df() { - Df = c; - } - function Rw() { - Rw = c; - } - function NY() { - throw new Fn(); - } - function IY() { - throw new Fn(); - } - function MY() { - throw new Fn(); - } - function OY() { - throw new Fn(); - } - function AY() { - throw new Fn(); - } - function RY() { - throw new Fn(); - } - function BY() { - throw new Fn(); - } - function zY() { - throw new Fn(); - } - function HY() { - throw new Fn(); - } - function u7() { - this.a = new Se(); - } - function c7() { - this.a = new Se(); - } - function l7() { - this.a = new Se(); - } - function f7() { - this.a = new Se(); - } - function Bw() { - this.a = new Se(); - } - function Pl() { - this.a = new no(); - } - function Jh() { - this.a = new VN(); - } - function h7() { - this.b = new Se(); - } - function Ci() { - Wr.call(this); - } - function d7() { - lm.call(this); - } - function H5() { - bP.call(this); - } - function e1() { - bP.call(this); - } - function _5() { - Se.call(this); - } - function v7() { - Lc.call(this); - } - function ed() { - Lc.call(this); - } - function G5() { - Lc.call(this); - } - function g7() { - Lc.call(this); - } - function Lv() { - Lc.call(this); - } - function td() { - Lc.call(this); - } - function Fn() { - Lc.call(this); - } - function $5() { - this.f = new Se(); - } - function b7() { - this.d = new Se(); - } - function p7() { - this.a = new $r(); - } - function w7() { - throw new Fn(); - } - function m7() { - throw new Fn(); - } - function y7() { - throw new Fn(); - } - function k7() { - throw new Fn(); - } - function _Y() { - throw new Fn(); - } - function Y5() { - this.a = new Se(); - } - function F5() { - F5 = c, U0 = new d(); - } - function mn() { - mn = c; - } - function Pv() { - Pv = c, G2 = new g(); - } - function E7() { - E7 = c, F8 = new E(); - } - function S7() { - S7 = c, q8 = new eN(); - } - function q5() { - q5 = c, Sx = new y(); - } - function C7() { - C7 = c, K8 = new D(); - } - function V5() { - V5 = c, ez = new Z(); - } - function x7() { - x7 = c, tz = new fe(); - } - function W5(e) { - return Hs(e), e; - } - function U5(e) { - dr(), this.a = e; - } - function K5(e) { - Ea(), this.a = e; - } - function T7(e) { - Ea(), this.a = e; - } - function L7(e) { - Ea(), this.a = e; - } - function P7(e, t) { - e.i = t, t.f = e; - } - function GY(e, t) { - vn(e.b, t); - } - function nd() { - Lc.call(this); - } - function D7() { - Lc.call(this); - } - function sa() { - Lc.call(this); - } - function j7() { - fN.call(this); - } - function N7() { - fN.call(this); - } - function I7() { - G5.call(this); - } - function M7() { - ed.call(this); - } - function As(e) { - Z7.call(this, e); - } - function $Y(e) { - F9.call(this, e); - } - function YY(e) { - F9.call(this, e); - } - function Z5(e) { - I9.call(this, e); - } - function O7(e) { - uj.call(this, e); - } - function X5(e) { - mN.call(this, e); - } - function Q5(e) { - cS.call(this, e); - } - function Dv(e) { - od.call(this, e); - } - function J5(e) { - I9.call(this, e); - } - function FY(e, t) { - e.a.W().nb(t); - } - function zo(e, t) { - return e === t; - } - function zw(e) { - return e ? e.a : 0; - } - function hs(e) { - return e ? e.d : 0; - } - function Hw(e) { - return e ? e.j : 0; - } - function A7(e) { - As.call(this, e); - } - function t1(e) { - As.call(this, e); - } - function mo(e) { - As.call(this, e); - } - function _w(e) { - mo.call(this, e); - } - function Dl() { - Nw.call(this, {}); - } - function R7(e) { - o7.call(this, e); - } - function B7(e) { - o7.call(this, e); - } - function qY(e, t, n) { - BW(e, t.b, n); - } - function VY(e, t, n) { - lV(e.c, t, n); - } - function WY(e, t, n) { - e.b.Fc(t, n); - } - function eS(e) { - qP.call(this, e); - } - function Gw(e) { - qP.call(this, e); - } - function z7() { - this.a = ($n(), Po); - } - function H7() { - this.a = ($n(), Po); - } - function $r() { - this.a = new $t(); - } - function tS() { - this.a = new RD(); - } - function nS() { - nS = c, iT = new se(); - } - function _7() { - _7 = c, lz = new ze(); - } - function G7() { - G7 = c, vz = new hr(); - } - function Pt(e) { - return yn(), e; - } - function ge(e) { - return or(e), e; - } - function UY(e) { - Z7.call(this, e); - } - function Ho(e) { - As.call(this, e); - } - function tn(e) { - As.call(this, e); - } - function n1(e) { - this.c = qf(vt(e)); - } - function Yr() { - this.a = 0, this.b = 0; - } - function Wr() { - k9(this), Bs(this); - } - function $7() { - z2 == null && (z2 = []); - } - function r1(e) { - e.b = null, e.c = 0; - } - function KY(e, t) { - return e.b = t, e; - } - function Y7(e, t) { - return e.c = t, e; - } - function $w(e, t) { - return e.f = t, e; - } - function F7(e, t) { - return e.g = t, e; - } - function q7(e, t) { - return e.a = t, e; - } - function V7(e, t) { - return e.f = t, e; - } - function ZY(e, t) { - return e.k = t, e; - } - function XY(e, t) { - return e.e - t.e; - } - function QY(e, t) { - return e.d - t.d; - } - function JY(e) { - return e < 0 ? -e : e; - } - function W7(e) { - return isNaN(e); - } - function eF(e) { - return new jw(e); - } - function tF(e) { - return new Rc(e); - } - function U7(e) { - As.call(this, e); - } - function Ou(e) { - As.call(this, e); - } - function K7(e) { - As.call(this, e); - } - function jv(e) { - As.call(this, e); - } - function jf(e) { - As.call(this, e); - } - function Z7(e) { - this.f = e, Dm(this); - } - function X7() { - this.b = 0, this.a = 0; - } - function rd() { - rd = c; - } - function Q7() { - Q7 = c, n_ = bZ(); - } - function nF(e, t, n) { - e.set(t, n); - } - function rF(e, t, n) { - e.set(t, n); - } - function J7(e, t) { - Cd(), dx.dc(e, t); - } - function ie(e, t) { - return CN(e, t); - } - function eD(e, t) { - return e.a.B(t); - } - function Nf(e, t) { - return e.g[t.e]; - } - function Yw(e, t) { - return e.i[t.e]; - } - function Fw(e, t) { - return e.j[t.e]; - } - function If(e, t) { - return e.n[t.e]; - } - function Mf(e, t) { - return e.o[t.e]; - } - function iF(e, t) { - return t in e.a; - } - function aF(e, t) { - return e.b - t.b; - } - function oF(e, t) { - return e.d - t.d; - } - function sF(e, t) { - return e.i - t.i; - } - function je(e, t) { - return e > t ? e : t; - } - function tD(e, t) { - return e > t ? e : t; - } - function Jr(e, t) { - return e > t ? e : t; - } - function Xt(e, t) { - return e < t ? e : t; - } - function uF(e, t) { - return e < t ? e : t; - } - function Au(e, t) { - return e < t ? e : t; - } - function Ru(e) { - return !!e && e.b; - } - function nD(e) { - mq(e, e.length); - } - function cF(e) { - Dq(e, e.length); - } - function Nv(e) { - jq(e, e.length); - } - function lF(e) { - Ho.call(this, e); - } - function id(e) { - j5.call(this, e); - } - function fF(e) { - ZP.call(this, e); - } - function i1(e) { - tn.call(this, e); - } - function jl(e) { - Cv.call(this, e); - } - function rD(e) { - jl.call(this, e); - } - function rS(e) { - L1.call(this, e); - } - function ad() { - j5.call(this, ""); - } - function qw() { - j5.call(this, ""); - } - function a1(e) { - return Al(e), e.n; - } - function iD(e) { - return Al(e), e.j; - } - function Hi(e) { - return e.e && e.e(); - } - function aD(e, t) { - return e.a.sb(t); - } - function hF(e, t) { - return e || vt(t); - } - function oD(e, t) { - return z(e.a, t); - } - function sD(e, t) { - return pq(e.a, t); - } - function dF(e, t) { - return Iy(e, t) < 0; - } - function o1(e) { - return mn(), "" + e; - } - function uD(e) { - return e ? e.d : null; - } - function Bu(e) { - Ea(), this.a = vt(e); - } - function cD() { - cI(), this.g = new wS(); - } - function lD() { - lD = c, gz = (Gi(), Us); - } - function vF() { - X0 != 0 && (X0 = 0), Q0 = -1; - } - function Iv(e) { - return iX(e, e.d), e; - } - function Of(e, t) { - return e.a.d = t, e; - } - function Af(e, t) { - return e.a.a = t, e; - } - function Rf(e, t) { - return e.a.c = t, e; - } - function Bf(e, t) { - return e.a.f = t, e; - } - function fD(e, t) { - return e.a.f = t, e; - } - function iS(e, t) { - return e.a.b = t, e; - } - function aS(e, t, n) { - e.splice(t, n); - } - function gF(e, t) { - return u3(t, e); - } - function hD(e, t) { - return e.b.t(t); - } - function dD(e, t) { - return e.c.t(t); - } - function Pc(e, t) { - return e.a.R(t); - } - function oS(e, t) { - return e.get(t); - } - function Vw(e, t) { - return e.get(t); - } - function bF(e, t) { - return e.test(t); - } - function ei(e) { - return e <= 0 ? 0 - e : e; - } - function vD(e) { - return mn(), "" + e; - } - function pF(e) { - return mn(), "" + e; - } - function Ww(e) { - this.a = new sm(e); - } - function gD(e) { - this.a = new N4(e); - } - function bD(e) { - this.a = f(vt(e), 19); - } - function Uw(e) { - this.b = f(vt(e), 57); - } - function pD(e) { - this.d = f(vt(e), 56); - } - function sn(e, t) { - this.d = e, this.e = t; - } - function Kw(e, t) { - this.b = e, this.a = t; - } - function wD(e, t) { - this.b = e, this.a = t; - } - function sS(e, t) { - this.b = e, this.c = t; - } - function uS(e, t) { - this.a = e, this.b = t; - } - function Zw(e, t) { - this.a = e, this.b = t; - } - function mD(e, t) { - this.a = e, this.f = t; - } - function Xw(e, t) { - sn.call(this, e, t); - } - function yD(e, t) { - sn.call(this, e, t); - } - function kD(e, t) { - sn.call(this, e, t); - } - function ED(e, t) { - this.b = e, this.c = t; - } - function SD(e, t) { - this.e = e, this.c = t; - } - function wF(e, t) { - this.a = e, this.b = t; - } - function CD(e, t) { - this.a = e, this.b = t; - } - function xD(e, t) { - sn.call(this, e, t); - } - function TD(e, t) { - this.a = e, this.b = t; - } - function LD(e) { - this.a = f(vt(e), 20); - } - function od(e) { - this.a = f(vt(e), 20); - } - function PD(e) { - this.a = f(vt(e), 57); - } - function cS(e) { - this.b = f(vt(e), 35); - } - function ot(e, t) { - this.a = e, this.b = t; - } - function pr(e, t) { - this.a = e, this.b = t; - } - function sd(e, t) { - sn.call(this, e, t); - } - function lS(e, t) { - return Qf(e.b, t); - } - function mF(e) { - return qj(), e ? U8 : W8; - } - function Nl(e) { - return e == ja || e == Fi; - } - function Qw(e) { - return e == Ws || e == Ts; - } - function DD(e, t) { - wr(e, t, e.a, e.a.a); - } - function Jw(e, t) { - wr(e, t, e.c.b, e.c); - } - function Mv(e, t) { - sn.call(this, e, t); - } - function s1(e, t) { - sn.call(this, e, t); - } - function u1(e, t) { - sn.call(this, e, t); - } - function ud(e, t) { - sn.call(this, e, t); - } - function em(e, t) { - sn.call(this, e, t); - } - function Dc(e, t) { - sn.call(this, e, t); - } - function Ov(e, t) { - sn.call(this, e, t); - } - function cd(e, t) { - sn.call(this, e, t); - } - function tm(e, t) { - sn.call(this, e, t); - } - function Av(e, t) { - sn.call(this, e, t); - } - function c1(e, t) { - sn.call(this, e, t); - } - function l1(e, t) { - sn.call(this, e, t); - } - function nm(e, t) { - sn.call(this, e, t); - } - function rm(e, t) { - sn.call(this, e, t); - } - function fS(e, t) { - this.b = e, this.a = t; - } - function zf(e, t) { - this.c = e, this.d = t; - } - function hS(e, t) { - this.a = e, this.c = t; - } - function jD(e, t) { - this.e = e, this.c = t; - } - function ND(e, t) { - this.e = e, this.d = t; - } - function f1(e, t) { - sn.call(this, e, t); - } - function ld(e, t) { - sn.call(this, e, t); - } - function ID(e, t) { - this.a = e, this.b = t; - } - function MD(e, t) { - this.a = e, this.b = t; - } - function im(e, t) { - sn.call(this, e, t); - } - function nn(e, t) { - sn.call(this, e, t); - } - function Il(e, t) { - sn.call(this, e, t); - } - function dS(e, t) { - sn.call(this, e, t); - } - function fd(e, t) { - sn.call(this, e, t); - } - function vS(e, t) { - sn.call(this, e, t); - } - function am(e, t) { - sn.call(this, e, t); - } - function gS(e, t) { - sn.call(this, e, t); - } - function yF(e, t) { - return Fo(e.c, t); - } - function om(e) { - return e.b < e.d.Y(); - } - function h1(e) { - return e.d.c + e.e.c; - } - function OD(e, t) { - return e.c.ab(t); - } - function kF(e, t) { - return e.b.kb(t); - } - function EF(e, t) { - return e.b.lb(t); - } - function SF(e, t) { - return e.b.pb(t); - } - function bS(e, t) { - return e.b.kb(t); - } - function AD(e, t) { - return e.b.lb(t); - } - function CF(e) { - return e == uc || e == dl; - } - function xF(e) { - return e == uc || e == hl; - } - function ds(e) { - return e != jo && e != ac; - } - function TF(e) { - return La(e), e.d.Y(); - } - function Hf(e) { - this.c = e, II(this); - } - function sm(e) { - LM.call(this, e, 0); - } - function RD() { - N4.call(this, null); - } - function Rv() { - YY.call(this, new $t()); - } - function BD() { - kD.call(this, "KEY", 0); - } - function um(e) { - Kf(), uj.call(this, e); - } - function LF(e) { - r.clearTimeout(e); - } - function zD(e) { - return e.Vb(e.b.H()); - } - function pS(e) { - this.a = f(vt(e), 144); - } - function wS() { - this.b = (On(), new $t()); - } - function Ml() { - Ml = c, wf = new tP(); - } - function cm() { - cm = c, PE = new X6(); - } - function HD() { - HD = c, t_ = new eP(); - } - function d1() { - d1 = c, z8 = new n1(","); - } - function _D() { - _D = c; - } - function lm() { - $a.call(this, 0, 0, 0, 0); - } - function mS(e, t) { - sn.call(this, e, t); - } - function Bv(e, t) { - sn.call(this, e, t); - } - function yS(e, t) { - sn.call(this, e, t); - } - function kS(e, t) { - sn.call(this, e, t); - } - function GD(e) { - $f(), Zn.call(this, e); - } - function ES(e, t) { - sn.call(this, e, t); - } - function $D(e, t) { - this.c = e, this.b = t; - } - function YD(e, t) { - this.a = e, this.b = t; - } - function FD(e, t) { - this.b = e, this.d = t; - } - function SS(e, t) { - sn.call(this, e, t); - } - function hd(e, t) { - sn.call(this, e, t); - } - function fm(e, t) { - sn.call(this, e, t); - } - function zv(e, t) { - sn.call(this, e, t); - } - function dd(e, t) { - sn.call(this, e, t); - } - function zu(e, t) { - sn.call(this, e, t); - } - function hm(e, t) { - sn.call(this, e, t); - } - function CS(e, t) { - sn.call(this, e, t); - } - function Hv(e, t) { - sn.call(this, e, t); - } - function dm(e, t) { - sn.call(this, e, t); - } - function vm(e, t) { - sn.call(this, e, t); - } - function gm(e, t) { - sn.call(this, e, t); - } - function _v(e, t, n) { - e.splice(t, 0, n); - } - function Gv(e, t, n) { - e.g[t.e][t.e] = n; - } - function qD(e, t) { - e.a = t, e.g = 0, e.f = 0; - } - function Rs(e) { - return e.a = 0, e.b = 0, e; - } - function ea(e) { - return Di(e.b.c, e, 0); - } - function v1(e) { - return Math.ceil(e); - } - function VD(e) { - return Math.sqrt(e); - } - function WD(e, t) { - return Vw(e.a, t); - } - function bm(e, t) { - return !!y3(e, t); - } - function pm(e, t) { - xq(e, e.length, t); - } - function g1(e, t) { - sn.call(this, e, t); - } - function b1(e, t) { - this.b = e, this.a = t; - } - function p1(e, t) { - this.d = e, this.e = t; - } - function UD() { - Rm(), this.c = new $r(); - } - function KD() { - S0(), this.a = new $r(); - } - function ZD() { - return Q7(), new n_(); - } - function _f(e) { - if (!e) - throw new ed(); - } - function w1(e) { - if (!e) - throw new Lv(); - } - function m1(e) { - if (!e) - throw new sa(); - } - function XD() { - this.b = (On(), new $t()); - } - function QD() { - this.b = (On(), new $t()); - } - function qn(e) { - this.a = e.a, this.b = e.b; - } - function He(e) { - return e ?? null; - } - function ci(e) { - return e ? e.zb() : null; - } - function JD(e, t) { - return e.Nb().sb(t); - } - function e9(e, t) { - return e.a.a.a.U(t); - } - function wm(e, t) { - return pU(e.mb(), t); - } - function PF(e, t) { - return mr(t.b, e.b); - } - function DF(e, t) { - return mr(t.k, e.k); - } - function xS(e) { - return Math.floor(e); - } - function jc(e, t) { - return e.a += "" + t, e; - } - function Hu(e, t) { - return e.a += "" + t, e; - } - function io(e, t) { - return e.a += "" + t, e; - } - function y1(e) { - return Yv(e == null), e; - } - function TS(e) { - return e.d && r2(e), e.a; - } - function mm(e) { - return e.d && r2(e), e.b; - } - function ym(e) { - return e.d && r2(e), e.c; - } - function t9(e, t) { - return Le(e.a, t), t; - } - function n9(e) { - so(this), eM(this, e); - } - function r9(e) { - this.c = e, this.e = !1; - } - function i9() { - yD.call(this, "OPEN", 0); - } - function a9() { - xD.call(this, "SIZE", 0); - } - function jF() { - ZP.call(this, "UTF-8"); - } - function o9() { - o9 = c, VL = {}, Mp = {}; - } - function s9() { - s9 = c, cf = new nt(l8, 0); - } - function ya(e) { - return vt(e), new Gf(e); - } - function $v(e) { - return mn(), e.length; - } - function NF(e, t) { - return aW(e.a, t.a); - } - function IF(e, t) { - return b9(e.a, t.a); - } - function u9(e, t) { - return e == t ? 0 : e ? 1 : -1; - } - function c9(e) { - return hs(e.e) - hs(e.g); - } - function _a(e) { - return new ot(e.a, e.b); - } - function MF(e) { - return new ot(e.d, e.e); - } - function km(e) { - e.c = ve(Ze, Me, 1, 0, 4, 1); - } - function l9() { - kD.call(this, "VALUE", 1); - } - function LS(e) { - HS.call(this), this.a = e; - } - function f9(e) { - this.a = new KA(), this.b = e; - } - function Gf(e) { - this.a = e, Aw.call(this); - } - function h9(e) { - this.a = e, Aw.call(this); - } - function d9() { - _M(), this.d = (lu(), Ip); - } - function OF(e) { - if (!e) - throw new g7(); - } - function Ol(e) { - if (!e) - throw new Lv(); - } - function v9(e) { - if (!e) - throw new ed(); - } - function Yv(e) { - if (!e) - throw new v7(); - } - function ut(e) { - if (!e) - throw new sa(); - } - function _i() { - R5.call(this, new yd()); - } - function g9() { - yD.call(this, "CLOSED", 1); - } - function _o(e) { - mN.call(this, new X5(e)); - } - function PS(e, t) { - return ++e.d, Cr(e, t); - } - function AF(e, t) { - return zm(e.a, 0, t); - } - function RF(e, t) { - return mr(e.a, t.a); - } - function vd(e) { - return zl(e.b.mb(), e.a); - } - function Go(e) { - return Am(e.a.mb(), e.b); - } - function Em(e, t) { - return t == e.c ? e.d : e.c; - } - function BF(e, t) { - return e < t ? -1 : e > t ? 1 : 0; - } - function b9(e, t) { - return e < t ? -1 : e > t ? 1 : 0; - } - function Sm(e) { - return e != null ? Uo(e) : 0; - } - function p9(e) { - this.a = ZD(), this.b = e; - } - function w9(e) { - this.a = ZD(), this.b = e; - } - function m9(e) { - this.a = e, t4.call(this, e); - } - function y9() { - jS(), this.b = new $P(this); - } - function $o() { - $o = c, px = FF(new n1(", ")); - } - function yo() { - yo = c, Wa = new i9(), Z0 = new g9(); - } - function _n() { - _n = c, $8 = new P(), wx = new N(); - } - function k1() { - k1 = c, $2 = new BD(), mx = new l9(); - } - function E1() { - E1 = c, Y2 = new a9(), kx = new j9(); - } - function $f() { - $f = c, Q8 = new _(), J8 = new B(); - } - function DS(e) { - e.g = new Se(), e.b = new Se(); - } - function k9(e) { - e.a = new xw(), e.c = new xw(); - } - function jS() { - jS = c, Sz = new Ew(), Ez = new Sj(); - } - function E9() { - Xw.call(this, "IS_NULL", 2); - } - function S9() { - g1.call(this, "Head", 1); - } - function C9() { - g1.call(this, "Tail", 3); - } - function NS(e, t) { - i3.call(this, e, t, null); - } - function IS(e, t) { - ah(e, 0, e.length, t); - } - function Fv(e, t) { - return Le(t.a, e.a), e.a; - } - function Yo(e, t) { - return e.a *= t, e.b *= t, e; - } - function x9(e, t) { - dr(), this.a = e, this.b = t; - } - function zF(e, t) { - return e.a[t.d.k][t.k]; - } - function ka(e, t) { - return e.a[t.d.k][t.k]; - } - function HF(e, t) { - return ty(e.b, t.mc()); - } - function T9(e, t) { - return uD(jU(e.a, t)); - } - function L9(e, t) { - return uD(NU(e.a, t)); - } - function Or(e, t) { - return f(Pa(e.a, t), 20); - } - function xe(e, t) { - return e != null && Uy(e, t); - } - function Nc(e) { - return e.a < e.c.c.length; - } - function S1(e) { - return e.a < e.c.a.length; - } - function _F(e, t) { - return mr(e.i.a, t.i.a); - } - function GF(e, t) { - return e.i.b = (or(t), t); - } - function $F(e, t) { - return e.i.b = (or(t), t); - } - function Cm(e, t) { - return e.a.eb(t) != null; - } - function xm(e, t, n) { - return e.g[t.e][n.e]; - } - function P9(e) { - return yn(), mn(), "" + e; - } - function D9() { - g1.call(this, "Range", 2); - } - function j9() { - xD.call(this, "DISTINCT", 1); - } - function N9() { - Xw.call(this, "NOT_NULL", 3); - } - function On() { - On = c, Y8 = new G9(($o(), px)); - } - function I9(e) { - this.d = (Qt(), new I5(e)); - } - function MS(e, t) { - return YM(e, new ad(), t).a; - } - function C1(e, t) { - return t == null ? e.b : Wj(t); - } - function YF(e) { - return e == null ? null : e.name; - } - function Yf(e) { - return typeof e == "number"; - } - function ko(e) { - return typeof e == "string"; - } - function OS(e, t) { - return new Kj(e, e.Y(), t); - } - function AS(e, t) { - return new oA(e.a, e.b, t); - } - function FF(e) { - return vt($s), new kj(e, e); - } - function Ic(e) { - return fi(e, nl), new ji(e); - } - function M9(e, t) { - this.a = t, cS.call(this, e); - } - function O9(e, t) { - this.a = t, cS.call(this, e); - } - function A9(e, t) { - this.a = e, Uw.call(this, t); - } - function R9(e) { - this.c = e, this.a = HZ(this.c); - } - function ao(e) { - var t; - t = e.a, e.a = e.b, e.b = t; - } - function qF(e, t) { - e.e.j.a = t.a, e.e.j.b = t.b; - } - function VF(e, t, n) { - e.a = t ^ 1502, e.b = n ^ R2; - } - function ua(e, t, n) { - return e.a += t, e.b += n, e; - } - function WF(e, t, n) { - return e.a -= t, e.b -= n, e; - } - function Tm(e) { - return e.a = -e.a, e.b = -e.b, e; - } - function Lm(e) { - return ut(e.b != 0), e.a.a.c; - } - function x1(e) { - return ut(e.b != 0), e.c.b.c; - } - function B9(e, t) { - e.a && (o4(t), EN(t)); - } - function T1(e, t, n) { - var i; - i = e.ub(t), i.J(n); - } - function UF(e, t) { - return BF(t.Yb(), e.Yb()); - } - function Pm(e) { - return f(_e(e.a, e.b), 128); - } - function z9(e) { - return Wm(e.c, e.c.length); - } - function KF(e) { - return e.l + e.m * Jl + e.h * tc; - } - function gi(e) { - return e == yh || e == es || e == ni; - } - function ta(e) { - return typeof e == "number"; - } - function Fo(e, t) { - return !!t && e.b[t.e] == t; - } - function RS(e, t) { - var n; - n = e[ol], t[ol] = n; - } - function qv(e, t) { - mo.call(this, e), this.b = t; - } - function L1(e) { - Cv.call(this, e), this.a = e; - } - function BS(e) { - Qh.call(this, e), this.a = e; - } - function zS(e) { - jl.call(this, e), this.a = e; - } - function H9(e) { - R5.call(this, new EI(e)); - } - function Vv(e) { - this.a = e, N5.call(this, e); - } - function _9(e) { - this.c = e, this.a = 1, this.b = 1; - } - function G9(e) { - this.a = e, this.b = qf(vt("=")); - } - function $9() { - this.a = new Wr(), this.e = new Wr(); - } - function Y9() { - this.a = new c7(), this.c = new Te(); - } - function HS() { - this.i = new Yr(), this.j = new Yr(); - } - function F9(e) { - _f(e.d.c + e.e.c == 0), this.b = e; - } - function Dm(e) { - return e.g = null, J7(e, e.f), e; - } - function _S(e) { - return _n(), vt(e), new sj(e); - } - function q9(e) { - return Cd(), parseInt(e) || -1; - } - function V9(e, t) { - return Qv(e.a, t) != null; - } - function Wv(e, t) { - return !hU(e, t) && !aM(e, t); - } - function au(e) { - return e.$H || (e.$H = ++mte); - } - function ZF(e) { - return e.d != null ? e.d : "" + e.e; - } - function P1(e) { - return e.d != null ? e.d : "" + e.e; - } - function jm(e) { - return e.b = f(Xq(e.a), 21); - } - function Ff(e) { - return typeof e == "boolean"; - } - function W9(e) { - e.b = new K9(e), e.c = new $t(); - } - function U9() { - this.a = new Se(), this.d = new Se(); - } - function K9(e) { - i4.call(this, e, null, null); - } - function Z9(e, t, n, i) { - d4.call(this, e, t, n, i); - } - function X9(e, t, n, i) { - cy.call(this, e, t, n, i); - } - function qo(e, t, n, i) { - cy.call(this, e, t, n, i); - } - function GS(e, t, n) { - ig.call(this, e, t, n, null); - } - function $S(e, t, n) { - ig.call(this, e, t, n, null); - } - function YS(e, t, n) { - e.i = t, t.f = e, t.i = n, n.f = t; - } - function FS(e, t) { - s7(this), this.e = e, this.f = t; - } - function XF(e, t) { - this.d = e, a7(this), this.b = t; - } - function Nm(e) { - k9(this), Bs(this), na(this, e); - } - function jt(e) { - return Yv(e == null || Ff(e)), e; - } - function Ot(e) { - return Yv(e == null || Yf(e)), e; - } - function qf(e) { - return Yv(e == null || ko(e)), e; - } - function dn(e, t) { - return e.a += t.a, e.b += t.b, e; - } - function ou(e, t) { - return e.a -= t.a, e.b -= t.b, e; - } - function QF(e, t) { - return e.i.a = (or(t), t + 10); - } - function JF(e, t) { - return e.i.a = (or(t), t + 10); - } - function Mc(e, t) { - return f(Kt(e.k, t), 24).a; - } - function eq(e, t) { - return PK(e, t), new IN(e, t); - } - function qS(e, t) { - return f(e.b.sb(t), 92).a; - } - function Q9(e) { - return f(e, 7).b.c.length != 0; - } - function J9(e) { - return f(e, 7).e.c.length != 0; - } - function ej(e) { - return e.d ? Di(e.d.a, e, 0) : -1; - } - function tq(e) { - return e == null ? null : e.message; - } - function Al(e) { - e.n == null && mX(e); - } - function nq(e, t, n, i) { - return tI(e, t, n, i), e; - } - function rq(e, t) { - return mn(), e.indexOf(t); - } - function Bt(e, t) { - if (!t) - throw new td(); - e.g = t; - } - function VS(e) { - if (e.e.c != e.b) - throw new nd(); - } - function D1(e) { - if (e.f.c != e.b) - throw new nd(); - } - function iq(e, t) { - return vt(e), vt(t), u3(e, t); - } - function Oc(e, t) { - this.a = e, this.c = t, this.b = 2; - } - function j1() { - s7(this), this.e = -1, this.f = !0; - } - function Im() { - $Y.call(this, new $t()), this.a = 3; - } - function tj(e) { - cy.call(this, e.d, e.b, e.a, e.c); - } - function WS(e) { - cy.call(this, e.d, e.b, e.a, e.c); - } - function nj(e) { - L3.call(this, e), this.c = new Se(); - } - function rj() { - Xw.call(this, "ALWAYS_TRUE", 0); - } - function ij() { - Xw.call(this, "ALWAYS_FALSE", 1); - } - function aj(e) { - _R(), this.a = new Im(), rM(this, e); - } - function aq(e) { - return !e.e && (e.e = new Se()), e.e; - } - function US(e) { - var t; - return t = new kv(), t.e = e, t; - } - function Mm(e) { - var t; - t = e[ol] | 0, e[ol] = t + 1; - } - function su(e, t) { - e.a.rb(e.b, t), ++e.b, e.c = -1; - } - function KS(e, t) { - Ol(e.c != -1), e.a.wb(e.c, t); - } - function oq(e, t) { - return yn(), e == t ? 0 : e ? 1 : -1; - } - function Om(e, t, n) { - return e.g[t.e][n.e] * e.d; - } - function sq(e, t, n) { - return e.apply(t, n); - } - function ZS(e, t, n) { - return Sq(e, f(t, 17), n); - } - function uq(e, t) { - return t == (we(), qe) ? e.c : e.d; - } - function oj(e, t) { - return t != null && e.Nb().kb(t); - } - function cq(e, t) { - this.e = t, this.f = e, Dm(this); - } - function sj(e) { - this.b = e, this.a = (_n(), _n(), wx); - } - function uj(e) { - Ea(), this.a = (Qt(), new jl(e)); - } - function Ea() { - Ea = c, new K5((Qt(), Qt(), bc)); - } - function cj() { - cj = c, Pz = bi(new An(), (Pr(), Ik)); - } - function Uv(e) { - mU.call(this, e, (X4(), qL)); - } - function _u(e) { - km(this), r4(this.c, 0, e.ob()); - } - function lj(e, t, n) { - this.b = e, this.a = t, this.c = n; - } - function XS(e, t, n) { - zf.call(this, e, t), this.b = n; - } - function N1(e, t, n) { - this.b = e, this.a = t, this.c = n; - } - function QS(e, t) { - var n; - return n = e.e, e.e = t, n; - } - function fj(e) { - so(e.c), e.b.b = e.b, e.b.a = e.b; - } - function I1(e) { - e.b ? I1(e.b) : un(e.f.b, e.e, e.d); - } - function JS(e) { - return ut(e.b != 0), zs(e, e.a.a); - } - function lq(e) { - return ut(e.b != 0), zs(e, e.c.b); - } - function Am(e, t) { - return _n(), vt(t), new M9(e, t); - } - function fq(e, t) { - return On(), new O9(e.mb(), t); - } - function hj(e, t) { - return mn(), e.charCodeAt(t); - } - function gd(e, t, n) { - return mn(), e.substr(t, n); - } - function hq(e) { - return mn(), e == null ? $s : ha(e); - } - function Kv(e, t, n) { - return xm(e, t.g, n.g) * e.d; - } - function Gu(e, t, n) { - return { l: e, m: t, h: n }; - } - function uu(e, t) { - return xd(e, new zf(t.a, t.b)); - } - function dj(e, t, n, i, s) { - e.d = t, e.e = n, e.c = i, e.b = s; - } - function Sa(e, t, n, i, s) { - e.b = t, e.c = n, e.d = i, e.a = s; - } - function rn(e, t) { - return wr(e, t, e.c.b, e.c), !0; - } - function Le(e, t) { - return e.c[e.c.length] = t, !0; - } - function nt(e, t) { - $f(), Zn.call(this, e), this.a = t; - } - function vj() { - cj(), this.e = new Wr(), this.d = new Wr(); - } - function Rl() { - Rl = c, e_ = new C5(), GL = new C5(); - } - function gj() { - gj = c, qz = Zv(new An(), (Pr(), Vd)); - } - function bj() { - bj = c, Uz = Zv(new An(), (Pr(), Vd)); - } - function pj() { - pj = c, Xz = Zv(new An(), (Pr(), Vd)); - } - function Rm() { - Rm = c, Qz = Zv(new An(), (Pr(), Vd)); - } - function wj() { - wj = c, Error.stackTraceLimit = 64; - } - function e4() { - Sa(this, !1, !1, !1, !1); - } - function M1(e) { - var t; - return t = new Se(), Ey(t, e), t; - } - function ca(e) { - var t; - return t = new Wr(), h3(t, e), t; - } - function O1(e) { - var t; - return t = new An(), xr(t, e), t; - } - function dq(e) { - var t; - return t = new U6(), t.a = e, t; - } - function f(e, t) { - return Yv(e == null || Uy(e, t)), e; - } - function A1(e, t) { - if (e < 0 || e >= t) - throw new I7(); - } - function Eo(e, t) { - return vt(e), vt(t), new Tj(e, t); - } - function vs(e, t) { - return vt(e), vt(t), new Lj(e, t); - } - function vq(e, t) { - return mn(), e.lastIndexOf(t); - } - function Bm(e, t, n) { - return e < t ? n <= e : e <= n || e == t; - } - function mj(e, t, n) { - this.d = e, this.b = n, this.a = t; - } - function ti(e, t, n) { - this.a = e, this.b = t, this.c = n; - } - function yj(e, t, n) { - this.a = e, this.b = t, this.c = n; - } - function kj(e, t) { - this.a = e, this.b = $s, this.c = t.c; - } - function Ej(e) { - this.c = e.c, this.a = e.e, this.b = e.b; - } - function t4(e) { - this.d = e, a7(this), this.b = Lq(e.d); - } - function Sj() { - n4.call(this), this.a = new YP(this); - } - function n4() { - this.c = new $(), this.d = new uN(this); - } - function gq(e) { - var t; - return t = new $r(), Ey(t, e), t; - } - function Cj(e) { - So(e.a), mI(e.c, e.b), e.b = null; - } - function xj(e) { - return e.c - f(_e(e.a, e.b), 128).b; - } - function bq(e, t) { - return e.c < t.c ? -1 : e.c == t.c ? 0 : 1; - } - function pq(e, t) { - return Nl(e.b.d) ? t.xc() : t.wc(); - } - function zm(e, t, n) { - return mn(), e.substr(t, n - t); - } - function r4(e, t, n) { - Xy(n, 0, e, t, n.length, !1); - } - function i4(e, t, n) { - this.c = e, p1.call(this, t, n); - } - function Tj(e, t) { - this.b = e, this.a = t, Aw.call(this); - } - function Lj(e, t) { - this.a = e, this.b = t, Aw.call(this); - } - function Pj(e, t) { - this.b = e, this.a = t, fi(t, "count"); - } - function Hm(e) { - this.b = e, this.a = Bc(this.b.a).Kb(); - } - function Zn(e) { - $f(), this.c = Q8, this.d = J8, this.b = e; - } - function Dj(e, t, n) { - $D.call(this, e, t), this.a = n; - } - function jj(e, t, n) { - $D.call(this, e, t), this.a = n; - } - function _e(e, t) { - return Sn(t, e.c.length), e.c[t]; - } - function bi(e, t) { - return f(_e(e.a, 5), 18).ib(t), e; - } - function $u(e, t) { - return f(_e(e.a, 0), 18).ib(t), e; - } - function R1(e, t) { - return f(_e(e.a, 1), 18).ib(t), e; - } - function pi(e, t) { - return f(_e(e.a, 2), 18).ib(t), e; - } - function Ca(e, t) { - return f(_e(e.a, 3), 18).ib(t), e; - } - function Zv(e, t) { - return f(_e(e.a, 4), 18).ib(t), e; - } - function wq(e) { - return Ss(e, ($n(), ja)), e.e = !0, e; - } - function a4(e) { - Cd(); - var t; - return t = dx.ec(e), MK(t); - } - function B1(e, t) { - var n; - return n = Zm(e, t), n.g = 2, n; - } - function mq(e, t) { - var n; - for (n = 0; n < t; ++n) - e[n] = 0; - } - function Nj(e, t) { - e.b = t.b, e.c = t.c, e.d = t.d, e.a = t.a; - } - function o4(e) { - e.a.b = e.b, e.b.a = e.a, e.a = e.b = null; - } - function Ij(e) { - return e.b.c.length + e.e.c.length; - } - function _m(e) { - return Array.isArray(e) && e.ad === u; - } - function Mj(e, t) { - return _n(), SM(new M(e), t) != -1; - } - function Gm(e, t, n, i, s, l) { - return AO(e, t, n, i, s, 0, l); - } - function z1(e, t, n) { - $f(), Q1.call(this, e.b, t, n, e.d); - } - function H1(e, t) { - $f(), Q1.call(this, e.b, t, e.c, e.d); - } - function Ac(e, t, n) { - qc(t, e.c.length), _v(e.c, t, n); - } - function Oj(e, t) { - return Sn(t, e.a.length), e.a[t]; - } - function yq(e) { - e.sort(function(t, n) { - return t - n; - }); - } - function vt(e) { - if (e == null) - throw new td(); - return e; - } - function Rc(e) { - if (e == null) - throw new td(); - this.a = e; - } - function _1(e, t, n) { - if (e.a != t) - throw new nd(); - e.a = n; - } - function s4(e, t) { - if (!e) - throw new tn((mn(), t)); - } - function u4(e, t) { - if (!e) - throw new U7((mn(), t)); - } - function or(e) { - if (e == null) - throw new td(); - return e; - } - function $m(e) { - R5.call(this, new yd()), na(this, e); - } - function c4(e) { - this.a = new sm(e.Y()), na(this, e); - } - function G1(e) { - this.c = e, this.a = new Hf(this.c.a); - } - function cu(e) { - dr(), this.a = (Qt(), new r7(vt(e))); - } - function yn() { - yn = c, Rn = (yn(), !1), ii = !0; - } - function Aj() { - Aj = c, _L = ve(H2, Dr, 24, 256, 0, 1); - } - function Rj() { - Rj = c, Dz = bi($u(new An(), (Pr(), Tk)), Ik); - } - function Ym() { - Ym = c, nz = new W(), iz = new n4(), rz = new Q(); - } - function Bj(e) { - return e != null && Km(e) && e.ad !== u; - } - function Fm(e) { - return !Array.isArray(e) && e.ad === u; - } - function Bl(e, t) { - return ko(t) ? oN(e, t) : c2(e.d, t); - } - function l4(e, t) { - return xe(t, 17) && Fo(e, f(t, 17)); - } - function zj(e, t) { - return xe(t, 17) && KW(e, f(t, 17)); - } - function kq(e, t) { - return Vw(e.a, t) !== void 0; - } - function Yt(e, t) { - var n; - return n = b0(e), lg(n, t), n; - } - function Eq(e, t) { - return !e && (e = []), e[e.length] = t, e; - } - function Sq(e, t, n) { - return hi(e.a, t), Um(e, t.e, n); - } - function Cq(e, t, n) { - return mn(), e.lastIndexOf(t, n); - } - function Hj(e, t, n) { - if (!e) - throw new tn(uQ(t, n)); - } - function xq(e, t, n) { - var i; - for (i = 0; i < t; ++i) - e[i] = n; - } - function Vf(e, t) { - var n; - return n = e.a.Y(), fy(t, n), n - t; - } - function qm(e) { - var t; - return t = e.i, t || (e.i = e.T()); - } - function f4(e) { - var t; - return t = e.c, t || (e.c = e.gb()); - } - function _j(e) { - var t; - return t = e.c, t || (e.c = e.Jb()); - } - function Bc(e) { - return e.e ? e.e : e.e = e.Ob(); - } - function Gj(e) { - return e.f ? e.f : e.f = e.Pb(); - } - function Tq(e, t) { - return Gu(e.l & t.l, e.m & t.m, e.h & t.h); - } - function $j(e, t) { - return mr((or(e), e), (or(t), t)); - } - function Lq(e) { - return xe(e, 20) ? f(e, 20).tb() : e.mb(); - } - function $1(e) { - for (_n(), vt(e); e.G(); ) - e.H(), e.I(); - } - function h4(e) { - var t; - for (t = e; t.g; ) - t = t.g; - return t; - } - function Pq(e) { - return e.b.i.a += e.a.f * (e.a.a - 1), null; - } - function bd(e) { - Ol(e.b != -1), e.c.vb(e.a = e.b), e.b = -1; - } - function Yj(e) { - return ut(e.b > 0), e.a.sb(e.c = --e.b); - } - function Y1(e) { - e.b ? Y1(e.b) : e.d.V() && Bl(e.f.b, e.e); - } - function Wf(e) { - if (La(e.d), e.d.d != e.c) - throw new nd(); - } - function Vm(e, t) { - if (t[ol] != e[ol]) - throw new nd(); - } - function zl(e, t) { - return _n(), vt(e), vt(t), new wD(e, t); - } - function Fj(e, t) { - dr(), wF.call(this, e, h0(new ro(t))); - } - function d4(e, t, n, i) { - this.a = e, ig.call(this, e, t, n, i); - } - function zc(e) { - this.a = Math.cos(e), this.b = Math.sin(e); - } - function gs(e, t, n) { - mo.call(this, e), this.b = t, this.a = n; - } - function v4(e) { - this.b = new Se(), this.a = new Se(), this.c = e; - } - function Hc(e) { - this.c = new Yr(), this.a = new Se(), this.b = e; - } - function qj() { - qj = c, W8 = new T5(!1), U8 = new T5(!0); - } - function Yu(e, t) { - return ++e.d, e.c[e.c.length] = t, !0; - } - function Xv(e, t) { - wr(e.d, t, e.b.b, e.b), ++e.a, e.c = null; - } - function vn(e, t) { - var n; - return n = e.a.db(t, e), n == null; - } - function Wm(e, t) { - var n; - return n = e.slice(0, t), ag(n, e); - } - function xi(e, t) { - var n; - return n = new Array(t), ag(n, e); - } - function Um(e, t, n) { - var i; - return i = e.b[t], e.b[t] = n, i; - } - function Dq(e, t) { - var n; - for (n = 0; n < t; ++n) - e[n] = null; - } - function jq(e, t) { - var n; - for (n = 0; n < t; ++n) - e[n] = !1; - } - function Nq(e, t) { - return yn(), f(t.b, 24).a < e ? ii : Rn; - } - function Iq(e, t) { - return yn(), f(t.a, 24).a < e ? ii : Rn; - } - function Mq(e, t) { - return f(_j(Bc(e.a)).sb(t), 21).yb(); - } - function Vj(e) { - return On(), Am(wV(e.a).mb(), (k1(), $2)); - } - function Dt(e) { - return _n(), new _o(Go(vs(e.a, new T()))); - } - function Km(e) { - return typeof e === z0 || typeof e === UR; - } - function Oq(e) { - r.setTimeout(function() { - throw e; - }, 0); - } - function Aq(e, t) { - return e > 0 ? new FS(e - 1, t) : new FS(e, t); - } - function Wj(e) { - return vt(e), xe(e, 345) ? f(e, 345) : ha(e); - } - function g4(e, t) { - return CM(e.a, t, (yn(), Rn)) == null; - } - function b4(e, t) { - var n; - return n = e.a.Y(), kV(t, n), n - 1 - t; - } - function Uj(e, t, n) { - var i; - return i = Fu(e, t), lW(e, t, n), i; - } - function G(e, t, n) { - var i; - return i = Zm(e, t), RI(n, i), i; - } - function Zm(e, t) { - var n; - return n = new m3(), n.i = e, n.d = t, n; - } - function Kj(e, t, n) { - this.a = e, fy(n, t), this.c = t, this.b = n; - } - function Ga(e, t, n) { - return OF(n == null || uX(e, n)), e[t] = n; - } - function p4(e) { - e.a = null, e.e = null, so(e.b), e.d = 0, ++e.c; - } - function Rq(e) { - tn.call(this, (mn(), e ?? $s)); - } - function Bq(e) { - tn.call(this, (mn(), e ?? $s)); - } - function Hl(e) { - var t; - return t = e.f, t || (e.f = new pS(e)); - } - function w4(e) { - var t; - return t = e.k, t || (e.k = new yP(e)); - } - function Zj(e) { - var t; - return t = e.e, t || (e.e = new PD(e)); - } - function Uf(e) { - var t; - return t = e.e, !t && (e.e = t = e.gb()), t; - } - function Xm(e) { - var t, n; - return t = e.c.f.d, n = e.d.f.d, t == n; - } - function m4(e, t) { - var n; - return n = new rg(e), n3(n, t), n; - } - function pd(e, t) { - return e.a += String.fromCharCode(t), e; - } - function Ti(e) { - return !e.a && e.d ? e.d.b : e.a; - } - function Qm(e) { - return ta(e) ? e | 0 : e.l | e.m << 22; - } - function zq(e) { - return fi(e, KC), Jf(Tr(Tr(5, e), e / 10 | 0)); - } - function Kt(e, t) { - return ko(t) ? K1(e, t) : ci(li(e.d, t)); - } - function _l(e) { - return xe(e, 19) ? f(e, 19).Y() : dy(e.mb()); - } - function y4(e) { - return e ? new c4(($o(), e)) : gq(null.mb()); - } - function Gl(e, t) { - return He(e) === He(t) || e != null && xo(e, t); - } - function Xj(e, t) { - return nS(), mr(ge(Ot(e)), ge(Ot(t))); - } - function Qj(e) { - return On(), Am(e.a.bb().mb(), (k1(), mx)); - } - function dr() { - dr = c, Ea(), _g = new Qn((Qt(), Qt(), bc)); - } - function Kf() { - Kf = c, Ea(), Gd = new um((Qt(), Qt(), LE)); - } - function Jj(e, t) { - if (e == null) - throw new jv((mn(), t)); - } - function Hq(e, t) { - return F3(), (e - t <= 0 ? 0 - (e - t) : e - t) < 0.2; - } - function _q(e, t) { - return e.i.b < t.i.b ? -1 : e.i.b == t.i.b ? 0 : 1; - } - function Vo(e, t, n, i) { - e.g[t.e][n.e] = i, e.g[n.e][t.e] = i; - } - function So(e) { - Ol(e.c != -1), e.d.vb(e.c), e.b = e.c, e.c = -1; - } - function Jm(e) { - this.c = e, this.b = e.a.b.a, RS(e.a.c, this); - } - function ey(e) { - CC.call(this, new ro(e)), this.a = new Yr(); - } - function eN() { - Z5.call(this, new J5(new $t())), this.a = this; - } - function tN() { - xI(), this.b = (On(), new $t()), this.a = new $t(); - } - function Gq() { - return k1(), re(ie(yx, 1), De, 188, 0, [$2, mx]); - } - function $q() { - return yo(), re(ie(bx, 1), De, 159, 0, [Wa, Z0]); - } - function Yq() { - return E1(), re(ie(Ex, 1), De, 205, 0, [Y2, kx]); - } - function nN(e) { - q1(e.a), e.b = ve(Ze, Me, 1, e.b.length, 4, 1); - } - function rN(e) { - return !e.b && (e.b = new jl(e.c.W())), e.b; - } - function Qv(e, t) { - var n; - return n = new Tw(), IR(e, t, n), n.d; - } - function F1(e, t) { - var n; - return n = Zm("", e), n.k = t, n.g = 1, n; - } - function q1(e) { - var t; - for (t = e.mb(); t.G(); ) - t.H(), t.I(); - } - function k4(e, t) { - return xe(t, 79) && zo(e.b, f(t, 79).mc()); - } - function Fq() { - return t0(), re(ie(wz, 1), De, 175, 0, [YT, Mk]); - } - function qq() { - return U1(), re(ie(Tz, 1), De, 193, 0, [Ok, ZT]); - } - function Vq() { - return tg(), re(ie(Hz, 1), De, 192, 0, [Bk, Rk]); - } - function un(e, t, n) { - return ko(t) ? Z1(e, t, n) : ra(e.d, t, n); - } - function Wq(e, t, n) { - e.i = 0, e.e = 0, t != n && hM(e, t, n); - } - function Uq(e, t, n) { - e.i = 0, e.e = 0, t != n && fM(e, t, n); - } - function E4(e, t, n, i) { - this.d = e, this.b = t, this.a = n, this.c = i; - } - function $a(e, t, n, i) { - this.d = e, this.e = t, this.c = n, this.b = i; - } - function V1(e, t, n, i) { - this.a = e, this.c = t, this.b = n, this.d = i; - } - function Li(e, t, n, i) { - sn.call(this, e, t), this.a = n, this.b = i; - } - function Kq(e, t) { - var n; - return n = oS(e.a, t), n ?? []; - } - function ty(e, t) { - return mn(), e == t ? 0 : e < t ? -1 : 1; - } - function Zq(e, t) { - var n; - return n = FW(e.f, t), dn(Tm(n), e.f.d); - } - function Zf(e, t) { - return l4(e.a, t) ? e.b[f(t, 17).e] : null; - } - function la(e, t) { - return He(e) === He(t) || e != null && xo(e, t); - } - function Mn(e, t) { - if (t == null) - throw new td(); - return yK(e, t); - } - function iN(e) { - return Yv(e == null || Km(e) && e.ad !== u), e; - } - function xa(e) { - return !e.a && (e.a = new rD(e.c.bb())), e.a; - } - function aN(e) { - return !e.d && (e.d = new Cv(e.c.fb())), e.d; - } - function Bs(e) { - e.a.a = e.c, e.c.b = e.a, e.a.b = e.c.a = null, e.b = 0; - } - function Xq(e) { - return ut(e.b < e.d.Y()), e.d.sb(e.c = e.b++); - } - function oN(e, t) { - return t == null ? c2(e.d, null) : bM(e.e, t); - } - function sN(e, t) { - this.g = e, this.d = re(ie(kr, 1), Ni, 9, 0, [t]); - } - function uN(e) { - this.c = e, this.b = new gD(f(vt(new X()), 56)); - } - function bs() { - this.a = new Ci(), this.b = (fi(3, nl), new ji(3)); - } - function cN(e, t) { - this.a = e, XF.call(this, e, f(e.d, 20).ub(t)); - } - function W1(e, t, n, i) { - this.a = e, this.c = t, this.b = n, this.d = i; - } - function ny(e, t, n) { - this.a = zC, this.d = e, this.b = t, this.c = n; - } - function lN() { - this.d = 0, this.b = 0, this.a = 0, this.c = 0; - } - function fN() { - this.b = new $r(), this.d = new Wr(), this.e = new Y5(); - } - function Qt() { - Qt = c, bc = new Z6(), $L = new Q6(), LE = new J6(); - } - function S4() { - S4 = c, _8 = new rj(), H8 = new ij(), gx = new E9(), G8 = new N9(); - } - function U1() { - U1 = c, Ok = new vS("GREEDY", 0), ZT = new vS(I2, 1); - } - function C4() { - C4 = c, rT = new H1((Ee(), zx), (yn(), yn(), ii)); - } - function hN() { - hN = c, Gz = bi(Ca(pi(new An(), (Pr(), Dk)), Lk), Pk); - } - function Xf(e, t) { - var n; - return n = vy(t), f(Kt(e.c, n), 24).a; - } - function Qq(e, t) { - var n; - return n = Cm(e.a, t), n && (t.f = null), n; - } - function dN(e) { - var t; - return t = e.b.ob(), nI(t, t.length), t; - } - function ry(e) { - return e < 0 ? -1 : e > 0 ? 1 : 0; - } - function Jq() { - return Gi(), re(ie(ete, 1), De, 171, 0, [nb, ns, Us]); - } - function eV() { - return v0(), re(ie(cB, 1), De, 166, 0, [X2, Ix, Mx]); - } - function tV() { - return th(), re(ie(EB, 1), De, 149, 0, [Qg, ok, ak]); - } - function nV() { - return hy(), re(ie(Jee, 1), De, 225, 0, [oc, xh, sc]); - } - function rV() { - return d0(), re(ie(ite, 1), De, 221, 0, [cT, lT, uT]); - } - function iV() { - return a0(), re(ie(jz, 1), De, 173, 0, [Ak, QT, XT]); - } - function vN(e, t) { - return cg(Tq(ta(e) ? Uu(e) : e, ta(t) ? Uu(t) : t)); - } - function aV(e) { - return e.b == 0 ? null : (ut(e.b != 0), zs(e, e.a.a)); - } - function x4(e) { - e.d = e.d - 15, e.b = e.b - 15, e.c = e.c + 15, e.a = e.a + 15; - } - function T4(e) { - this.b = e, this.c = e, e.e = null, e.c = null, this.a = 1; - } - function gN(e, t, n) { - this.d = e, this.b = new Se(), this.c = t, this.a = n; - } - function iy(e, t) { - yY(this, new ot(e.a, e.b)), kY(this, ca(t)); - } - function oV(e, t) { - return t === e ? !0 : (La(e), e.d.t(t)); - } - function sV(e) { - return e == No || e == rs; - } - function uV(e) { - Nc(new M(bg(e.e))) && (Bee(e), zX(e)); - } - function bN(e, t) { - var n; - n = f(Z4(e.e, t), 116), n && (e.d = !0); - } - function L4(e, t) { - var n; - return n = e.b.pb(t), nI(n, e.b.Y()), n; - } - function cV(e) { - var t; - return t = MA(e, (we(), qe)), t += MA(e, Be), t; - } - function lV(e, t, n) { - Sg(e, t, n, (we(), Be), e.f), Sg(e, t, n, qe, e.n); - } - function cn(e, t) { - e.f && Cr(e.f.f, e), e.f = t, e.f && Le(e.f.f, e); - } - function Ar(e, t) { - e.d && Cr(e.d.a, e), e.d = t, e.d && Le(e.d.a, e); - } - function kn(e, t) { - e.d && Cr(e.d.b, e), e.d = t, e.d && Le(e.d.b, e); - } - function Bn(e, t) { - e.c && Cr(e.c.e, e), e.c = t, e.c && Le(e.c.e, e); - } - function ay(e) { - var t; - return t = ca(e.b), na(t, e.c), na(t, e.i), t; - } - function fV() { - WL == 256 && (VL = Mp, Mp = {}, WL = 0), ++WL; - } - function Co() { - Co = c, cc = new yS(Ad, 0), Ps = new yS(Od, 1); - } - function _c() { - _c = c, Ks = new SS(Od, 0), hf = new SS(Ad, 1); - } - function hV() { - return _c(), re(ie(fte, 1), De, 223, 0, [Ks, hf]); - } - function dV() { - return e0(), re(ie(ute, 1), De, 242, 0, [cb, ub]); - } - function vV() { - return Co(), re(ie(cte, 1), De, 248, 0, [cc, Ps]); - } - function gV() { - return oo(), re(ie(lte, 1), De, 247, 0, [ku, Za]); - } - function bV() { - return og(), re(ie(Jz, 1), De, 194, 0, [Hk, _k]); - } - function pV() { - return J1(), re(ie(_H, 1), De, 174, 0, [iE, pL]); - } - function P4(e) { - return Qt(), xe(e, 63) ? new rS(e) : new L1(e); - } - function wV(e) { - var t; - return t = e.g, f(t || (e.g = new x5(e)), 20); - } - function li(e, t) { - return DM(e, t, Kq(e, t == null ? 0 : e.b.Vc(t))); - } - function pN(e) { - var t; - return t = n0(e), "n_" + (t ?? o1(e.k)); - } - function wN(e) { - return a1(kd(e)) + "@" + (Uo(e) >>> 0).toString(16); - } - function mV(e, t) { - return oq(Pt((or(e), e)), Pt((or(t), t))); - } - function K1(e, t) { - return t == null ? ci(li(e.d, null)) : WD(e.e, t); - } - function yV(e, t, n) { - return new M4(e.c, gR(e.b, BV(e.d, t, n)), e.a); - } - function Xn(e) { - return Math.max(Math.min(e, yr), -2147483648) | 0; - } - function D4(e) { - this.e = e, this.b = this.e.a.entries(), this.a = []; - } - function j4(e) { - this.c = e, this.b = new Ul(new iu(this.c.a).a); - } - function mN(e) { - this.b = (_n(), _n(), _n(), $8), this.a = f(vt(e), 35); - } - function $l(e, t, n) { - $f(), nt.call(this, e, t), n != null && (this.c = n); - } - function yN(e, t, n) { - if (e < 0 || t < e || t > n) - throw new Ho(qZ(e, t, n)); - } - function kV(e, t) { - if (e < 0 || e >= t) - throw new Ho(WZ(e, t)); - return e; - } - function oy(e, t) { - if (e == null) - throw new jv((mn(), t)); - return e; - } - function Et(e) { - if (!xt(e)) - throw new sa(); - return e.c = e.b, e.b.H(); - } - function EV(e) { - function t() { - } - return t.prototype = e || {}, new t(); - } - function kN(e) { - var t; - return t = new Ww(Ty(e.length)), lg(t, e), t; - } - function EN(e) { - var t; - t = e.c.b.b, e.b = t, e.a = e.c.b, t.a = e.c.b.b = e; - } - function N4(e) { - this.b = null, !e && (e = (Ml(), Ml(), wf)), this.a = e; - } - function I4(e) { - this.b = e, this.a = new fn(this.b, this.b.c.length); - } - function SN(e) { - return dr(), vt(e), mO(e || M1(new M(null))); - } - function SV(e, t) { - var n = F2[e.charCodeAt(0)]; - return n ?? e; - } - function CN(e, t) { - var n = e.a = e.a || []; - return n[t] || (n[t] = e.Oc(t)); - } - function xN(e, t, n) { - var i; - H3(t, n, e.c.length), i = n - t, aS(e.c, t, i); - } - function M4(e, t, n) { - pD.call(this, t.a), this.c = e, this.b = t, this.a = n; - } - function sy(e) { - return m1(e.c), e.e = e.a = e.c, e.c = e.c.c, ++e.d, e.a.f; - } - function TN(e) { - return m1(e.e), e.c = e.a = e.e, e.e = e.e.e, --e.d, e.a.f; - } - function Pi(e) { - return ln(re(ie(_t, 1), Ht, 10, 0, [e.f.i, e.i, e.a])); - } - function CV() { - return ys(), re(ie(rB, 1), De, 107, 0, [W2, $g, sl, ph]); - } - function xV() { - return fu(), re(ie(aB, 1), De, 122, 0, [K2, Tx, af, U2]); - } - function TV() { - return sh(), re(ie(hk, 1), De, 139, 0, [tb, fk, lk, ck]); - } - function LV() { - return du(), re(ie(qd, 1), De, 150, 0, [uk, eb, sk, Jg]); - } - function PV() { - return S4(), re(ie(K0, 1), De, 136, 0, [_8, H8, gx, G8]); - } - function DV() { - return ug(), re(ie(nte, 1), De, 201, 0, [uc, dl, hl, lf]); - } - function jV() { - return we(), re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]); - } - function NV() { - return $n(), re(ie(Gg, 1), De, 59, 0, [Po, Fi, ja, Ts, Ws]); - } - function LN() { - LN = c, Lz = Rr((U1(), re(ie(Tz, 1), De, 193, 0, [Ok, ZT]))); - } - function PN() { - PN = c, mz = Rr((t0(), re(ie(wz, 1), De, 175, 0, [YT, Mk]))); - } - function DN() { - DN = c, _z = Rr((tg(), re(ie(Hz, 1), De, 192, 0, [Bk, Rk]))); - } - function IV() { - return ms(), re(ie(dte, 1), De, 140, 0, [Cp, gf, Lh]); - } - function MV() { - return nh(), re(ie(hte, 1), De, 218, 0, [iL, yp, lb]); - } - function OV() { - return sr(), re(ie(vte, 1), De, 219, 0, [hE, Ai, ri]); - } - function AV() { - return p0(), re(ie(UH, 1), De, 153, 0, [zL, TE, HL]); - } - function RV() { - return lu(), re(ie(ZH, 1), De, 172, 0, [iv, gb, Ip]); - } - function Z1(e, t, n) { - return t == null ? ra(e.d, null, n) : zy(e.e, t, n); - } - function BV(e, t, n) { - return new j0(e, !1, null, (yo(), Wa), !0, t, n); - } - function O4(e, t) { - return zj(e.a, t) ? Um(e, f(t, 17).e, null) : null; - } - function X1(e) { - return vt(e), R3((_n(), new _o(Go(vs(e.a, new T()))))); - } - function zV(e) { - return Qt(), e ? new n7(e) : (HD(), t_); - } - function jN(e, t) { - var n, i; - return i = Vf(e, t), n = e.a.ub(i), new ED(e, n); - } - function HV(e, t) { - var n, i; - for (i = e.Y(), n = 0; n < i; n++) - e.wb(n, t[n]); - } - function NN(e, t, n) { - var i; - i = new fs(), i.b = t, i.a = n, ++t.b, Le(e.d, i); - } - function _V(e, t, n) { - e.d && Cr(e.d.b, e), e.d = t, e.d && Ac(e.d.b, n, e); - } - function uy(e, t, n) { - H3(t, n, e.Y()), this.c = e, this.a = t, this.b = n - t; - } - function cy(e, t, n, i) { - this.d = e, this.b = t, this.a = n, this.c = i; - } - function IN(e, t) { - Z5.call(this, UI(vt(e), vt(t))), this.b = e, this.c = t; - } - function fn(e, t) { - this.a = e, Pf.call(this, e), qc(t, e.Y()), this.b = t; - } - function Q1(e, t, n, i) { - $f(), $l.call(this, e, t, n), i != null && (this.d = i); - } - function GV(e, t, n) { - e.i = 0, e.e = 0, t != n && (hM(e, t, n), fM(e, t, n)); - } - function O(e) { - return ut(e.a < e.c.c.length), e.b = e.a++, e.c.c[e.b]; - } - function Jv(e) { - return ut(e.b.b != e.d.a), e.c = e.b = e.b.b, --e.a, e.c.c; - } - function MN(e, t) { - var n; - return n = 1 - t, e.a[n] = c0(e.a[n], n), c0(e, t); - } - function $V(e) { - var t; - return t = (wi(), wi(), vH), e.d && r2(e), NY(), t; - } - function YV(e) { - var t; - return ta(e) ? (t = e, t == -0 ? 0 : t) : JK(e); - } - function wd(e) { - var t; - return t = (vt(e), new _u(($o(), e))), D0(t), h0(t); - } - function FV(e) { - _n(); - for (var t; ; ) - if (t = e.H(), !e.G()) - return t; - } - function ON(e) { - return D1(e), m1(e.c), e.e = e.a = e.c, e.c = e.c.b, ++e.d, e.a; - } - function AN(e) { - return D1(e), m1(e.e), e.c = e.a = e.e, e.e = e.e.d, --e.d, e.a; - } - function qV(e) { - var t; - t = e.Y(), t != 0 && (e.d.Q(), e.f.c -= t, Y1(e)); - } - function VV(e, t, n) { - var i; - i = vK(); - try { - return sq(e, t, n); - } finally { - vW(i); - } - } - function WV(e) { - return function() { - return VV(e, this, arguments); - }; - } - function eg(e) { - return xe(e, 19) ? f(e, 19).V() : !e.mb().G(); - } - function Qn(e) { - dr(), this.a = (Qt(), xe(e, 63) ? new rS(e) : new L1(e)); - } - function J1() { - J1 = c, iE = new CS(Y0, 0), pL = new CS("TOP_LEFT", 1); - } - function oo() { - oo = c, ku = new kS("DOWN", 0), Za = new kS("UP", 1); - } - function tg() { - tg = c, Bk = new gS("LAYER_SWEEP", 0), Rk = new gS(I2, 1); - } - function e0() { - e0 = c, cb = new mS("UPPER", 0), ub = new mS("LOWER", 1); - } - function UV(e) { - if (e < 0) - throw new K7("Negative array size: " + e); - } - function A4(e, t) { - return xe(t, 21) ? Zy(e.a, f(t, 21)) : !1; - } - function RN(e, t) { - return xe(t, 21) ? Zy(e.a, f(t, 21)) : !1; - } - function BN(e, t) { - return xe(t, 21) ? Zy(e.a, f(t, 21)) : !1; - } - function ly(e) { - var t; - return t = new bs(), hu(t, e), ce(t, (Ee(), Un), null), t; - } - function zN(e, t) { - return t === e ? "(this Map)" : (mn(), t == null ? $s : ha(t)); - } - function R4(e, t, n, i) { - return xe(n, 63) ? new Z9(e, t, n, i) : new d4(e, t, n, i); - } - function KV() { - return Zu(), re(ie(Wx, 1), De, 100, 0, [sf, Ls, Fx, qx, Vx]); - } - function ZV() { - return zn(), re(ie(yB, 1), De, 28, 0, [ac, jo, Xg, yh, es, ni]); - } - function XV() { - return Ko(), re(ie(eB, 1), De, 103, 0, [V2, tp, np, rp, J0, ep]); - } - function QV() { - return P0(), re(ie(sB, 1), De, 133, 0, [Z2, Dx, Nx, Lx, jx, Px]); - } - function HN() { - HN = c, SB = Rr((th(), re(ie(EB, 1), De, 149, 0, [Qg, ok, ak]))); - } - function _N() { - _N = c, lB = Rr((v0(), re(ie(cB, 1), De, 166, 0, [X2, Ix, Mx]))); - } - function GN() { - GN = c, Nz = Rr((a0(), re(ie(jz, 1), De, 173, 0, [Ak, QT, XT]))); - } - function JV() { - return et(), re(ie(aT, 1), De, 132, 0, [Hn, hn, Cn, er, Ka, Ii]); - } - function eW() { - return jd(), re(ie(yz, 1), De, 125, 0, [sb, qT, UT, WT, VT, FT]); - } - function tW(e) { - return _n(), pd(YM(($o(), px), pd(new ad(), 91), e), 93).a; - } - function Ya(e, t) { - Qt(); - var n; - n = e.ob(), ah(n, 0, n.length, t), HV(e, n); - } - function $N(e, t, n, i, s) { - this.c = e, this.e = t, this.d = n, this.b = i, this.a = s; - } - function ps(e, t, n, i, s) { - sn.call(this, e, t), this.a = n, this.b = i, this.c = s; - } - function Yl(e, t, n, i, s) { - sn.call(this, e, t), this.a = n, this.b = i, this.c = s; - } - function YN(e, t, n) { - this.a = t, this.c = e, this.b = (vt(n), new _u(($o(), n))); - } - function FN() { - km(this), this.b = new ot(ki, ki), this.a = new ot(Hr, Hr); - } - function t0() { - t0 = c, YT = new dS("QUADRATIC", 0), Mk = new dS("SCANLINE", 1); - } - function nW() { - throw new jf("Add not supported on this collection"); - } - function qN(e) { - var t, n; - return n = hq(e.Zb()), t = e.Yb(), t == 1 ? n : n + " x " + t; - } - function Ft(e) { - return ut(e.b != e.d.c), e.c = e.b, e.b = e.b.a, ++e.a, e.c.c; - } - function rW(e) { - if (e.Tc()) - return null; - var t = e.k, n = W0[t]; - return n; - } - function fy(e, t) { - if (e < 0 || e > t) - throw new Ho(J3(e, t, "index")); - return e; - } - function iW(e, t) { - var n; - return La(e), n = e.d.nb(t), n && (--e.f.c, Y1(e)), n; - } - function ng(e, t, n) { - var i; - i = (vt(e), new _u(($o(), e))), YK(new YN(i, t, n)); - } - function aW(e, t) { - return ty((mn(), e.toLowerCase()), t.toLowerCase()); - } - function oW(e, t) { - return ty((mn(), e.toLowerCase()), t.toLowerCase()); - } - function sW() { - return X4(), re(ie(DE, 1), De, 138, 0, [qL, r_, i_, a_]); - } - function uW(e, t, n, i) { - Array.prototype.splice.apply(e, [t, n].concat(i)); - } - function wr(e, t, n, i) { - var s; - s = new xw(), s.c = t, s.b = n, s.a = i, i.b = n.a = s, ++e.b; - } - function B4(e, t) { - var n; - return n = P4(M1(new by(e, t))), $1(new by(e, t)), n; - } - function cW(e, t, n) { - if (n) { - var i = n.gc(); - e.a[t] = i(n); - } else - delete e.a[t]; - } - function lW(e, t, n) { - if (n) { - var i = n.gc(); - n = i(n); - } else - n = void 0; - e.a[t] = n; - } - function rg(e) { - this.d = e.d, this.c = e.c, this.a = e.a, this.b = e.b; - } - function VN() { - this.g = new _5(), this.c = new _5(), this.a = new Se(), this.k = new Se(); - } - function WN() { - this.d = new tN(), this.a = new Y9(), this.c = new XD(), this.b = new oP(); - } - function z4() { - this.i = new Se(), this.g = new Yr(), this.n = new e4(), this.q = new e4(); - } - function UN(e, t, n, i) { - this.e = e, this.b = new Se(), this.d = t, this.a = n, this.c = i; - } - function md() { - md = c, sz = new pe(), uz = new he(), az = new de(), oz = new ke(), cz = new Pe(); - } - function hy() { - hy = c, oc = new nm(Od, 0), xh = new nm(Y0, 1), sc = new nm(Ad, 2); - } - function KN() { - KN = c, iB = Rr((ys(), re(ie(rB, 1), De, 107, 0, [W2, $g, sl, ph]))); - } - function ZN() { - ZN = c, oB = Rr((fu(), re(ie(aB, 1), De, 122, 0, [K2, Tx, af, U2]))); - } - function XN() { - XN = c, TB = Rr((sh(), re(ie(hk, 1), De, 139, 0, [tb, fk, lk, ck]))); - } - function QN() { - QN = c, xB = Rr((du(), re(ie(qd, 1), De, 150, 0, [uk, eb, sk, Jg]))); - } - function JN() { - JN = c, eH = Rr((og(), re(ie(Jz, 1), De, 194, 0, [Hk, _k]))); - } - function eI() { - eI = c, GH = Rr((J1(), re(ie(_H, 1), De, 174, 0, [iE, pL]))); - } - function Gc(e) { - return vt(e), xe(e, 19) ? new _u(($o(), f(e, 19))) : M1(e.mb()); - } - function fW(e) { - return Pt(ge(jt(z(e, (le(), vc))))) && z(e, lt) != null; - } - function hW(e) { - return Pt(ge(jt(z(e, (le(), vc))))) && z(e, lt) != null; - } - function tI(e, t, n, i) { - t == null && (t = $s), e.a += "" + (mn(), t.substr(n, i - n)); - } - function nI(e, t) { - var n; - for (n = 0; n < t; ++n) - Ga(e, n, new O5(f(e[n], 21))); - } - function dW(e, t) { - var n, i; - n = f(WK(e.b, t), 19), n && (i = n.Y(), n.Q(), e.c -= i); - } - function $c(e, t, n) { - var i; - return i = (Sn(t, e.c.length), e.c[t]), e.c[t] = n, i; - } - function Yc(e) { - return ut(e.a < e.c.a.length), e.b = e.a, II(e), e.c.b[e.b]; - } - function dy(e) { - _n(); - var t; - for (t = 0; e.G(); ) - e.H(), t = Tr(t, 1); - return Jf(t); - } - function H4(e) { - this.d = e, this.b = this.d.a.entries(), this.a = this.b.next(); - } - function rI(e) { - this.g = e, this.f = new Se(), this.a = Xt(this.g.c.c, this.g.d.c); - } - function iI(e) { - F5(), this.e = null, this.f = null, this.a = "", this.b = e, this.a = ""; - } - function yd() { - $t.call(this), W9(this), this.b.b = this.b, this.b.a = this.b; - } - function vW(e) { - e && _W((q5(), Sx)), --X0, e && Q0 != -1 && (LF(Q0), Q0 = -1); - } - function Fc(e) { - return !e.c || !e.d ? !1 : !!e.c.f && e.c.f == e.d.f; - } - function gW() { - return Date.now ? Date.now() : (/* @__PURE__ */ new Date()).getTime(); - } - function n0(e) { - return e.c.c.length != 0 ? f(_e(e.c, 0), 33).a : null; - } - function aI(e) { - return e.c.c.length != 0 ? f(_e(e.c, 0), 33).a : null; - } - function bW(e) { - return e.d = 3, e.c = UW(e), e.d != 2 ? (e.d = 0, !0) : !1; - } - function r0(e, t, n) { - this.a = e, this.b = t, this.c = n, Le(e.j, this), Le(t.d, this); - } - function Fa(e, t, n, i) { - var s; - e.c ? s = new jw(Xn(i)) : s = new jw(i), Ta(t, n, s); - } - function i0(e) { - var t, n; - return vt(e), t = zq(e.length), n = new ji(t), lg(n, e), n; - } - function _4(e) { - var t, n, i; - return t = e & Va, n = e >> 22 & Va, i = e < 0 ? ec : 0, Gu(t, n, i); - } - function pW() { - return E0(), re(ie(Kz, 1), De, 141, 0, [nL, JT, eL, zk, tL]); - } - function wW() { - return C0(), re(ie(OH, 1), De, 115, 0, [kp, Uk, Zk, Kk, Xk]); - } - function mW() { - return $i(), re(ie(qH, 1), De, 85, 0, [pf, db, gc, ev, Tu]); - } - function oI() { - oI = c, nB = Rr(($n(), re(ie(Gg, 1), De, 59, 0, [Po, Fi, ja, Ts, Ws]))); - } - function sI() { - sI = c, CB = Rr((we(), re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]))); - } - function uI() { - uI = c, mB = Rr((Zu(), re(ie(Wx, 1), De, 100, 0, [sf, Ls, Fx, qx, Vx]))); - } - function cI() { - cI = c, $z = bi(Ca(Ca(Ca(pi(new An(), (Pr(), Dk)), NT), gT), Lk), Pk); - } - function lI(e, t) { - var n, i; - for (i = t.mb(); i.G(); ) - n = f(i.H(), 55), rR(e, n, 0, 0); - } - function ws(e, t, n) { - var i, s; - for (s = e.mb(); s.G(); ) - i = f(s.H(), 55), Pg(i, t, n); - } - function G4(e, t, n) { - var i, s; - for (i = 0, s = 0; s < t.length; s++) - i += e.Hc(t[s], i, n); - } - function Fl(e, t) { - var n; - return n = (Sn(t, e.c.length), e.c[t]), aS(e.c, t, 1), n; - } - function yW(e) { - var t; - for (vt(e), YW(!0), t = 0; t < 0 && xt(e); t++) - Et(e); - return t; - } - function so(e) { - var t; - e.d = new p9(e), e.e = new w9(e), t = e[ol] | 0, e[ol] = t + 1; - } - function fI(e) { - e.g = new $r(), e.o = new $r(), e.c = new $r(), e.j = new Se(), e.d = new Se(); - } - function qc(e, t) { - if (e < 0 || e > t) - throw new Ho("Index: " + e + ", Size: " + t); - } - function Sn(e, t) { - if (e < 0 || e >= t) - throw new Ho("Index: " + e + ", Size: " + t); - } - function hI(e, t) { - var n, i; - return n = t.yb(), i = y3(e, n), !!i && la(i.e, t.zb()); - } - function kW(e, t) { - var n; - return n = e.d, t > 0 ? f(_e(n.a, t - 1), 9) : null; - } - function ve(e, t, n, i, s, l) { - var h; - return h = DO(s, i), s != 9 && re(ie(e, l), t, n, s, h), h; - } - function ql(e) { - var t; - if (!qu(e)) - throw new sa(); - return e.d = 1, t = e.c, e.c = null, t; - } - function ig(e, t, n, i) { - this.f = e, this.e = t, this.d = n, this.b = i, this.c = i ? i.d : null; - } - function EW(e, t) { - if (e && typeof e == z0) - try { - e.__gwt$exception = t; - } catch { - } - } - function SW(e, t) { - e.a.$b(t.d, e.b) > 0 && (Le(e.c, new XS(t.c, t.d, e.d)), e.b = t.d); - } - function CW(e, t) { - var n; - return n = mr(e.j, t.j), n == 0 ? mr(e.k, t.k) : n; - } - function $4(e) { - var t, n; - return n = f(_e(e.f, 0), 7), t = f(z(n, (le(), lt)), 7), t; - } - function vy(e) { - var t, n; - return n = f(_e(e.f, 0), 7), t = f(z(n, (le(), lt)), 7), t; - } - function xW(e, t) { - return mr(ge(Ot(z(e, (le(), xu)))), ge(Ot(z(t, xu)))); - } - function dI() { - dI = c, KH = Rr((p0(), re(ie(UH, 1), De, 153, 0, [zL, TE, HL]))); - } - function vI() { - vI = c, XH = Rr((lu(), re(ie(ZH, 1), De, 172, 0, [iv, gb, Ip]))); - } - function gI() { - gI = c, tB = Rr((Ko(), re(ie(eB, 1), De, 103, 0, [V2, tp, np, rp, J0, ep]))); - } - function bI() { - bI = c, uB = Rr((P0(), re(ie(sB, 1), De, 133, 0, [Z2, Dx, Nx, Lx, jx, Px]))); - } - function pI() { - pI = c, kB = Rr((zn(), re(ie(yB, 1), De, 28, 0, [ac, jo, Xg, yh, es, ni]))); - } - function wI() { - wI = c, kz = Rr((jd(), re(ie(yz, 1), De, 125, 0, [sb, qT, UT, WT, VT, FT]))); - } - function TW() { - return Xc(), re(ie(bz, 1), De, 109, 0, [gp, ab, ob, _T, GT, HT, $T, bp]); - } - function LW() { - return gu(), re(ie(Ln, 1), De, 41, 0, [qi, Ua, Wi, ba, ga, va, Ei, Ui, Vi]); - } - function PW() { - return Pd(), re(ie(Wk, 1), De, 123, 0, [Vk, qk, Fk, $k, Gk, Yk]); - } - function DW() { - return mg(), re(ie(RH, 1), De, 124, 0, [Jk, oL, uL, aL, sL, Qk]); - } - function Y4() { - Y4 = c, xx = new nt("de.cau.cs.kieler.labels.labelManager", null); - } - function jW() { - return Date.now ? Date.now() : (/* @__PURE__ */ new Date()).getTime(); - } - function NW(e) { - var t; - return t = f(Wm(e.b, e.b.length), 11), new ti(e.a, t, e.c); - } - function IW(e, t) { - var n; - return n = (mn(), t.length), zo(gd(e, e.length - n, n), t); - } - function mI(e, t) { - var n; - return n = new Tw(), n.c = !0, n.d = t.zb(), IR(e, t.yb(), n); - } - function MW(e, t) { - var n; - return n = t.yb(), On(), new uS(n, dO(e.b, n, f(t.zb(), 19))); - } - function Cr(e, t) { - var n; - return n = Di(e, t, 0), n == -1 ? !1 : (e.vb(n), !0); - } - function ag(e, t) { - return Q4(t) != 9 && re(kd(t), t._c, t.__elementTypeId$, Q4(t), e), e; - } - function F4(e) { - return Vm(e.c.a.c, e), ut(e.b != e.c.a.b), e.a = e.b, e.b = e.b.a, e.a; - } - function q4(e) { - Ol(!!e.c), Vm(e.e, e), e.c.I(), e.c = null, e.b = l3(e), RS(e.e, e); - } - function OW(e, t, n) { - e.a = t, e.c = n, e.b.a.Q(), Bs(e.d), e.e.a.c = ve(Ze, Me, 1, 0, 4, 1); - } - function yI(e, t, n) { - Z5.call(this, UI(vt(e), vt(t))), this.b = e, this.c = t, this.a = n; - } - function kI(e, t, n, i) { - this.b = new WP(this), this.a = e, this.c = t, this.e = n, this.d = i; - } - function EI(e) { - LM.call(this, e, 0), W9(this), this.b.b = this.b, this.b.a = this.b; - } - function gy(e, t) { - p1.call(this, e, t), this.a = ve(wte, Me, 183, 2, 0, 1), this.b = !0; - } - function Qf(e, t) { - return ko(t) ? t == null ? !!li(e.d, null) : kq(e.e, t) : !!li(e.d, t); - } - function V4(e, t) { - return rd(), (e - t > 0 ? e - t : -(e - t)) <= Mg || e == t || isNaN(e) && isNaN(t); - } - function SI(e, t) { - return rd(), (e - t > 0 ? e - t : -(e - t)) <= Mg || e == t || isNaN(e) && isNaN(t); - } - function W4(e) { - var t, n; - t = !0; - do - t ? n = VM(e) : n = QM(e), t = !t; - while (n); - f3(e, e.d); - } - function Ta(e, t, n) { - var i; - if (t == null) - throw new td(); - return i = Mn(e, t), cW(e, t, n), i; - } - function ce(e, t, n) { - return !e.n && (e.n = new $t()), n == null ? Bl(e.n, t) : un(e.n, t, n), e; - } - function Di(e, t, n) { - for (; n < e.c.length; ++n) - if (la(t, e.c[n])) - return n; - return -1; - } - function AW(e, t) { - for (; t >= e.a.c.length; ) - Le(e.a, new Wr()); - return f(_e(e.a, t), 20); - } - function RW(e, t) { - var n; - return n = f(vg(e.a, t), 19), n ? dO(e.b, t, n) : null; - } - function BW(e, t, n) { - var i; - i = Mn(e, T2), i || (i = new Dl(), Ta(e, T2, i)), Ta(i.kc(), t, n); - } - function At(e, t, n, i, s) { - var l; - return l = Zm(e, t), RI(n, l), l.g = s ? 8 : 0, l.f = i, l.e = s, l; - } - function by(e, t) { - var n; - this.f = e, this.b = t, n = f(Kt(e.b, t), 126), this.c = n ? n.b : null; - } - function U4(e, t) { - var n, i, s; - for (i = 0, s = t.length; i < s; ++i) - n = t[i], wr(e, n, e.c.b, e.c); - } - function CI(e, t, n, i, s, l) { - var h; - h = ly(i), Bn(h, s), kn(h, l), pt(e.a, i, new N1(h, t, n.f)); - } - function K4(e, t, n) { - var i; - return i = 0, e.c[n] > 0 && (i += yee(t)), e.b[n] && (i += Pee(t)), i; - } - function Z4(e, t) { - var n; - return n = f(Bl(e.c, t), 176), n ? (o4(n), n.e) : null; - } - function Jf(e) { - return Iy(e, yr) > 0 ? yr : Iy(e, Ys) < 0 ? Ys : Qm(e); - } - function zW(e) { - return $o(), fi(e, "size"), Qm(dF(zM(e, 8), WC) ? zM(e, 8) : WC), new qw(); - } - function py(e) { - cq.call(this, (mn(), e == null ? $s : ha(e)), xe(e, 46) ? f(e, 46) : null); - } - function ji(e) { - km(this), s4(e >= 0, "Initial capacity must not be negative"); - } - function xI() { - xI = c, QB = Zv(Ca(Ca(new An(), (Pr(), LT)), ET), CT), JB = pi(new An(), ST); - } - function fa() { - fa = c, sT = new $e(), oT = new Ge(), mk = new me(), wk = new Ve(), yk = new Ke(), kk = new at(); - } - function X4() { - X4 = c, qL = new g1("All", 0), r_ = new S9(), i_ = new D9(), a_ = new C9(); - } - function a0() { - a0 = c, Ak = new am(T8, 0), QT = new am("LONGEST_PATH", 1), XT = new am(I2, 2); - } - function o0() { - o0 = c, Z8 = Gu(Va, Va, 524287), X8 = Gu(0, 0, 524288), _4(1), _4(2), Cx = _4(0); - } - function TI() { - TI = c, pz = Rr((Xc(), re(ie(bz, 1), De, 109, 0, [gp, ab, ob, _T, GT, HT, $T, bp]))); - } - function LI() { - LI = c, Zz = Rr((E0(), re(ie(Kz, 1), De, 141, 0, [nL, JT, eL, zk, tL]))); - } - function PI() { - PI = c, AH = Rr((C0(), re(ie(OH, 1), De, 115, 0, [kp, Uk, Zk, Kk, Xk]))); - } - function DI() { - DI = c, VH = Rr(($i(), re(ie(qH, 1), De, 85, 0, [pf, db, gc, ev, Tu]))); - } - function jI(e) { - W3(), VF(this, Qm(vN(cg(cX(ta(e) ? Uu(e) : e, 24)), hx)), Qm(vN(e, hx))); - } - function kd(e) { - return ko(e) ? _2 : Yf(e) ? bb : Ff(e) ? gte : Fm(e) || _m(e) ? e.$c : e.$c || Qee; - } - function Q4(e) { - return e.__elementTypeCategory$ == null ? 9 : e.__elementTypeCategory$; - } - function HW(e) { - var t, n; - if (e.a) { - n = null; - do - t = e.a, e.a = null, n = JO(t, n); - while (e.a); - e.a = n; - } - } - function _W(e) { - var t, n; - if (e.b) { - n = null; - do - t = e.b, e.b = null, n = JO(t, n); - while (e.b); - e.b = n; - } - } - function eh(e) { - _D(); - var t, n; - for (n = JC, t = 0; t < e.length; t++) - e[t] > n && (n = e[t]); - return n; - } - function s0(e, t) { - var n; - return n = f(Kt(e.b, t), 106), n || (n = t.rc(), un(e.b, t, n)), n; - } - function wy(e, t) { - var n; - return n = f(Kt(e.c, t), 176), n ? (B9(e, n), n.e) : null; - } - function NI(e, t, n, i) { - var s; - s = f(wy(e.e, t), 116), s.b += n, s.a += i, gg(e.e, t, s), e.d = !0; - } - function II(e) { - var t; - for (++e.a, t = e.c.a.length; e.a < t; ++e.a) - if (e.c.b[e.a]) - return; - } - function GW(e) { - var t, n, i; - for (t = (e.g == null && (e.g = a4(e)), e.g), n = 0, i = t.length; n < i; ++n) - ; - } - function $W(e, t) { - var n, i; - return La(e), i = e.d.V(), n = e.d.ib(t), n && (++e.f.c, i && I1(e)), n; - } - function fi(e, t) { - if (e < 0) - throw new tn(t + " cannot be negative but was: " + e); - return e; - } - function YW(e) { - if (!e) - throw new tn((mn(), "numberToAdvance must be nonnegative")); - } - function J4(e) { - if (!e.a.G() && (e.a = e.b.mb(), !e.a.G())) - throw new sa(); - return e.a.H(); - } - function Ed(e) { - _n(); - var t; - return vt(e), xe(e, 108) ? (t = f(e, 108), t) : new SP(e); - } - function Fu(e, t) { - var n = e.a[t], i = (Ly(), q2)[typeof n]; - return i ? i(n) : E3(typeof n); - } - function my(e, t) { - var n, i; - for (i = new M(e); i.a < i.c.c.length; ) - n = f(O(i), 7), I0(n, t); - } - function yy(e, t) { - var n, i, s, l; - for (i = e.d, s = 0, l = i.length; s < l; ++s) - n = i[s], ka(e.g, n).a = t; - } - function FW(e, t) { - var n; - return n = ou(_a(f(Kt(e.g, t), 10)), MF(f(Kt(e.f, t), 198).b)), n; - } - function ky(e) { - var t; - return !qu(zl((t = new Wt(e.b.a).a.bb().mb(), new Zt(t)), e.a)); - } - function e3(e) { - var t; - Ol(!!e.c), t = e.c.a, zs(e.d, e.c), e.b == e.c ? e.b = t : --e.a, e.c = null; - } - function MI(e) { - return e.c && e.d ? e.c.f + "(" + e.c + ")->" + e.d.f + "(" + e.d + ")" : "e_" + au(e); - } - function qW(e, t) { - return ug(), e == uc && t == dl || e == dl && t == uc || e == lf && t == hl || e == hl && t == lf; - } - function VW(e, t) { - return ug(), e == uc && t == hl || e == uc && t == lf || e == dl && t == lf || e == dl && t == hl; - } - function WW() { - return Dg(), re(ie(zH, 1), De, 110, 0, [fL, rE, hL, gL, dL, bL, vL, nE]); - } - function OI() { - OI = c, wB = Rr((gu(), re(ie(Ln, 1), De, 41, 0, [qi, Ua, Wi, ba, ga, va, Ei, Ui, Vi]))); - } - function th() { - th = c, Qg = new tm("OUTSIDE", 0), ok = new tm("INSIDE", 1), ak = new tm("FIXED", 2); - } - function ms() { - ms = c, Cp = new hm(Rd, 0), gf = new hm("TOP", 1), Lh = new hm("BOTTOM", 2); - } - function og() { - og = c, Hk = new ES("CLASSIC", 0), _k = new ES("IMPROVE_STRAIGHTNESS", 1); - } - function t3() { - this.e = new Yr(), this.a = new lN(), this.d = new Yr(), this.b = new Se(), this.c = new Se(); - } - function u0(e, t, n) { - this.b = t, this.a = e, this.c = n, Le(this.a.e, this), Le(this.b.b, this); - } - function n3(e, t) { - e.d = Xt(e.d, t.d), e.c = je(e.c, t.c), e.a = je(e.a, t.a), e.b = Xt(e.b, t.b); - } - function zs(e, t) { - var n; - return n = t.c, t.a.b = t.b, t.b.a = t.a, t.a = t.b = null, t.c = null, --e.b, n; - } - function Ey(e, t) { - _n(); - var n; - for (vt(e), vt(t), n = !1; t.G(); ) - n = n | e.ib(t.H()); - return n; - } - function Sd(e) { - var t; - return Vm(e.e, e), ut(e.b), e.c = e.a, t = f(e.a.H(), 21), e.b = l3(e), t; - } - function UW(e) { - for (var t; e.b.G(); ) - if (t = e.b.H(), e.a.D(t)) - return t; - return e.d = 2, null; - } - function KW(e, t) { - return t && e.b[t.e] == t ? (Ga(e.b, t.e, null), --e.c, !0) : !1; - } - function ZW(e) { - return C2 < e && e < tc ? e < 0 ? Math.ceil(e) : Math.floor(e) : cg(DQ(e)); - } - function AI(e) { - if (e) { - if (e.V()) - throw new sa(); - return e.sb(e.Y() - 1); - } - return FV(null.mb()); - } - function XW(e, t) { - var n; - return n = e.d, t < n.a.c.length - 1 ? f(_e(n.a, t + 1), 9) : null; - } - function RI(e, t) { - if (e) { - t.k = e; - var n = rW(t); - if (!n) { - W0[e] = [t]; - return; - } - n.$c = t; - } - } - function BI(e, t) { - var n, i; - i = !1; - do - e.i ? n = EU(e, t) : n = kU(e, t), i = i | n; - while (n); - return i; - } - function zI(e, t, n) { - var i, s; - i = t; - do - s = ge(e.n[i.k]) + n, e.n[i.k] = s, i = e.a[i.k]; - while (i != t); - } - function QW(e) { - var t, n; - for (n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 25), t.vc(); - } - function JW() { - $7(); - for (var e = z2, t = 0; t < arguments.length; t++) - e.push(arguments[t]); - } - function eU(e, t) { - var n, i; - for (n = 0, i = e.Y(); n < i; ++n) - if (la(t, e.sb(n))) - return n; - return -1; - } - function r3(e, t) { - var n; - return oy(e, "set1"), oy(t, "set2"), n = (d1(), new bD(t)), new lj(e, n, t); - } - function tU(e) { - var t = /function(?:\s+([\w$]+))?\s*\(/, n = t.exec(e); - return n && n[1] || y2; - } - function nU(e, t, n) { - Nt(n, b8, 3), fO(e.c, t, Vl(n, 1)), EA(e, t, Vl(n, 1)), VR(t, Vl(n, 1)), Ct(n); - } - function HI() { - HI = c, MH = Rr((Pd(), re(ie(Wk, 1), De, 123, 0, [Vk, qk, Fk, $k, Gk, Yk]))); - } - function _I() { - _I = c, BH = Rr((mg(), re(ie(RH, 1), De, 124, 0, [Jk, oL, uL, aL, sL, Qk]))); - } - function GI() { - GI = c, QH = re(ie(Kn, 1), Wn, 26, 12, [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]); - } - function sr() { - sr = c, hE = new dm(ef, 0), Ai = new dm("INPUT", 1), ri = new dm("OUTPUT", 2); - } - function $I(e) { - this.c = e, this.b = new Ul(new iu(e.b).a), this.a = null, this.d = (_n(), _n(), wx); - } - function YI(e) { - this.e = e, this.d = new Ww(Ty(qm(this.e).Y())), this.c = this.e.a, this.b = this.e.c; - } - function i3(e, t, n) { - this.c = e, z4.call(this), this.b = t, this.j = new $a(t.d, t.e, t.c, t.b), this.a = n; - } - function FI(e, t) { - e.j > 0 && e.c < e.j && (e.c += t, e.g && e.g.d > 0 && e.e != 0 && FI(e.g, t / e.j * e.g.d)); - } - function qI(e) { - return e.b.d.f.g == (et(), Cn) ? f(z(e.b.d.f, (le(), lt)), 7) : e.b.d; - } - function rU(e) { - return e.b.c.f.g == (et(), Cn) ? f(z(e.b.c.f, (le(), lt)), 7) : e.b.c; - } - function qu(e) { - switch (w1(e.d != 3), e.d) { - case 2: - return !1; - case 0: - return !0; - } - return bW(e); - } - function VI(e) { - switch (e.e) { - case 2: - return we(), qe; - case 4: - return we(), Be; - default: - return e; - } - } - function WI(e) { - switch (e.e) { - case 1: - return we(), ct; - case 3: - return we(), rt; - default: - return e; - } - } - function iU(e) { - var t; - return xe(e, 90) ? (t = f(e, 90), new X5(t.a)) : (_n(), new Dw(e)); - } - function UI(e, t) { - Qt(); - var n; - return n = new sm(1), ko(e) ? Z1(n, e, t) : ra(n.d, e, t), new I5(n); - } - function KI(e, t) { - return e.g ? (e.g = KI(e.g, t), --e.a, e.j = Ku(e.j, t.c), vu(e)) : e.e; - } - function ZI(e, t) { - return e.e ? (e.e = ZI(e.e, t), --e.a, e.j = Ku(e.j, t.c), vu(e)) : e.g; - } - function na(e, t) { - var n, i, s; - for (or(t), n = !1, s = t.mb(); s.G(); ) - i = s.H(), n = n | e.ib(i); - return n; - } - function aU(e) { - var t, n, i; - for (t = 0, i = e.mb(); i.G(); ) - n = i.H(), t += n != null ? Uo(n) : 0, t = ~~t; - return t; - } - function oU(e) { - var t, n, i, s; - for (n = e.a, i = 0, s = n.length; i < s; ++i) - t = n[i], t.B(null); - return null; - } - function Sy(e) { - var t, n, i; - for (i = new Ci(), n = e.b.mb(); n.G(); ) - t = f(n.H(), 92), rn(i, t.a); - return i; - } - function sg(e) { - var t, n, i; - for (t = 0, i = e.mb(); i.G(); ) - n = Ot(i.H()), t += (or(n), n); - return t / e.Y(); - } - function XI(e, t) { - var n; - return n = f(Kt(e.c, t), 200), n || (n = new b7(), n.c = t, un(e.c, n.c, n)), n; - } - function hi(e, t) { - var n; - return or(t), n = t.e, e.b[n] ? !1 : (Ga(e.b, n, t), ++e.c, !0); - } - function c0(e, t) { - var n, i; - return n = 1 - t, i = e.a[n], e.a[n] = i.a[t], i.a[t] = e, e.b = !0, i.b = !1, i; - } - function QI(e, t) { - var n; - return xe(t, 10) ? (n = f(t, 10), e.a == n.a && e.b == n.b) : !1; - } - function a3(e, t, n) { - return e.g = new l0(t, n), YS(e, e.g, e.i), e.d = Jr(2, e.d), ++e.a, e.j = Tr(e.j, n), e; - } - function o3(e, t, n) { - return e.e = new l0(t, n), YS(e.f, e.e, e), e.d = Jr(2, e.d), ++e.a, e.j = Tr(e.j, n), e; - } - function JI(e, t) { - var n = e.a, i = 0; - for (var s in n) - n.hasOwnProperty(s) && (t[i++] = s); - return t; - } - function eM(e, t) { - var n, i; - for (or(t), i = t.bb().mb(); i.G(); ) - n = f(i.H(), 21), e.db(n.yb(), n.zb()); - } - function sU(e, t, n) { - var i; - return i = e.a.e[f(t.a, 9).k] - e.a.e[f(n.a, 9).k], Xn(i > 0 ? 1 : i < 0 ? -1 : 0); - } - function tM(e, t, n) { - this.g = e, this.d = t, this.e = n, this.a = new Se(), KZ(this), Qt(), Ya(this.a, null); - } - function l0(e, t) { - _f(t > 0), this.b = e, this.c = t, this.j = t, this.a = 1, this.d = 1, this.e = null, this.g = null; - } - function uU(e) { - e.a = null, e.e = null, e.b.c = ve(Ze, Me, 1, 0, 4, 1), e.f.c = ve(Ze, Me, 1, 0, 4, 1), e.c = null; - } - function cU() { - return vr(), re(ie(lL, 1), De, 113, 0, [eE, as, Ep, tE, df, vf, Sp, Ud, Kd, cL]); - } - function lU(e) { - return Xl(e, 26) * 14901161193847656e-24 + Xl(e, 27) * 11102230246251565e-32; - } - function Cy(e) { - return xe(e, 87) ? wd(f(e, 87)) : xe(e, 88) ? f(e, 88).a : xe(e, 63) ? new Dv(e) : new od(e); - } - function nM(e) { - var t; - return t = f(z(e, (le(), _r)), 32), e.g == (et(), Cn) && (t == (we(), qe) || t == Be); - } - function rM(e, t) { - return tZ(e, t) ? (pt(e.a, f(z(t, (le(), bf)), 18), t), !0) : !1; - } - function xr(e, t) { - var n; - if (t) - for (n = 0; n < 6; n++) - f(_e(e.a, n), 18).jb(f(_e(t.a, n), 19)); - return e; - } - function Vl(e, t) { - var n; - return e.b ? null : (n = Aq(e.e, e.f), rn(e.a, n), n.g = e, e.d = t, n); - } - function Vu(e, t) { - var n, i; - for (i = Jt(e, 0); i.b != i.d.c; ) - n = f(Ft(i), 10), n.a += t.a, n.b += t.b; - return e; - } - function s3(e, t) { - var n, i; - for (n = 0; n < t.length; n++) - for (i = 0; i < t[n].length; i++) - t[n][i] = e[n][i]; - } - function fU(e) { - var t, n; - for (n = new M(e.b.f); n.a < n.c.c.length; ) - t = f(O(n), 7), bN(e.a, $y(t.g)); - } - function ug() { - ug = c, uc = new f1("Q1", 0), dl = new f1("Q4", 1), hl = new f1("Q2", 2), lf = new f1("Q3", 3); - } - function ys() { - ys = c, W2 = new s1(ef, 0), $g = new s1(Y0, 1), sl = new s1("HEAD", 2), ph = new s1("TAIL", 3); - } - function lu() { - lu = c, iv = new gm("AGGRESSIVE", 0), gb = new gm("CAREFUL", 1), Ip = new gm("OFF", 2); - } - function iM() { - iM = c, HH = Rr((Dg(), re(ie(zH, 1), De, 110, 0, [fL, rE, hL, gL, dL, bL, vL, nE]))); - } - function u3(e, t) { - return yn(), ko(e) ? ty(e, qf(t)) : Yf(e) ? $j(e, Ot(t)) : Ff(e) ? mV(e, jt(t)) : e.F(t); - } - function c3(e, t, n) { - var i; - return i = t.$b(n, e.b), i < 0 ? e.e ? c3(e.e, t, n) : 0 : i > 0 ? e.g ? c3(e.g, t, n) : 0 : e.c; - } - function hU(e, t) { - var n, i; - return e.b ? (i = e.e, n = e.a.$b(t, i), n < 0 | n == 0 & e.d == (yo(), Wa)) : !1; - } - function aM(e, t) { - var n, i; - return e.c ? (i = e.g, n = e.a.$b(t, i), n > 0 | n == 0 & e.f == (yo(), Wa)) : !1; - } - function cg(e) { - var t; - return t = e.h, t == 0 ? e.l + e.m * Jl : t == ec ? e.l + e.m * Jl - tc : e; - } - function ln(e) { - var t, n, i, s; - for (t = new Yr(), i = 0, s = e.length; i < s; ++i) - n = e[i], t.a += n.a, t.b += n.b; - return t; - } - function dU(e) { - var t, n, i, s; - for (n = e.a, i = 0, s = n.length; i < s; ++i) - t = n[i], mM(e, t, (we(), ct)), mM(e, t, rt); - } - function vU(e) { - var t, n, i; - for (t = 1, i = e.mb(); i.G(); ) - n = i.H(), t = 31 * t + (n == null ? 0 : Uo(n)), t = ~~t; - return t; - } - function gU(e) { - var t, n; - return t = f(e.e && e.e(), 11), n = f(Wm(t, t.length), 11), new ti(t, n, t.length); - } - function oM(e) { - this.e = He(z(Ti(e[0]), (Ee(), of))) === He((fu(), af)), this.a = e, this.c = new $t(), dU(this); - } - function sM(e) { - V5(), this.g = (On(), new $t()), this.f = new $t(), this.b = new $t(), this.c = new Rv(), this.i = e; - } - function uM(e) { - this.o = e, this.g = new Se(), this.j = new Wr(), this.n = new Wr(), this.e = new Se(), this.b = new Se(); - } - function f0(e, t) { - if (vn(e.a, t), t.f) - throw new As("CNode belongs to another CGroup."); - t.f = e; - } - function bU(e, t) { - typeof window === z0 && typeof window.$gwt === z0 && (window.$gwt[e] = t); - } - function cM(e, t, n, i) { - var s, l; - for (s = sK(e, t, n, i), s < 0 && (s = -s - 1), l = n - 1; l >= s; l--) - e[l + 1] = e[l]; - e[s] = i; - } - function lM(e, t, n, i) { - var s, l; - for (s = wK(e, t, n, i), s < 0 && (s = -s - 1), l = n - 1; l >= s; l--) - e[l + 1] = e[l]; - e[s] = i; - } - function Wu(e, t) { - var n, i; - for (or(t), i = t.mb(); i.G(); ) - if (n = i.H(), !e.kb(n)) - return !1; - return !0; - } - function pU(e, t) { - _n(); - var n; - for (vt(t); e.G(); ) - if (n = e.H(), !nM(f(n, 9))) - return !1; - return !0; - } - function wU(e, t) { - var n, i, s; - return n = t.k - e.k, n == 0 ? (i = e.e.a * e.e.b, s = t.e.a * t.e.b, mr(i, s)) : n; - } - function Uu(e) { - var t, n, i, s; - return s = e, i = 0, s < 0 && (s += tc, i = ec), n = Xn(s / Jl), t = Xn(s - n * Jl), Gu(t, n, i); - } - function xy(e, t) { - return e.c.c = ve(Ze, Me, 1, 0, 4, 1), WO(e, e.e, t), WO(e, e.a, t), Qt(), Ya(e.c, null), PU(e); - } - function fM(e, t, n) { - e.g = n2(e, t, (we(), Be), e.b), e.d = n2(e, n, Be, e.b), !(e.g.c == 0 || e.d.c == 0) && GO(e); - } - function hM(e, t, n) { - e.g = n2(e, t, (we(), qe), e.j), e.d = n2(e, n, qe, e.j), !(e.g.c == 0 || e.d.c == 0) && GO(e); - } - function dM(e, t, n) { - return new $a(Xt(e.a, t.a) - n / 2, Xt(e.b, t.b) - n / 2, ei(e.a - t.a) + n, ei(e.b - t.b) + n); - } - function l3(e) { - return e.a.G() ? !0 : e.a != e.d ? !1 : (e.a = new D4(e.e.d), e.a.G()); - } - function Tn(e, t) { - var n, i; - return n = t.ob(), i = n.length, i == 0 ? !1 : (r4(e.c, e.c.length, n), !0); - } - function f3(e, t) { - var n, i; - for (n = 0; n < e.a.length; n++) - for (i = 0; i < e.a[n].length; i++) - e.a[n][i] = t[n][i]; - } - function lg(e, t) { - Qt(); - var n, i, s, l; - for (l = !1, i = 0, s = t.length; i < s; ++i) - n = t[i], l = l | e.ib(n); - return l; - } - function Ty(e) { - return On(), e < 3 ? (fi(e, "expectedSize"), e + 1) : e < WC ? Xn(e / 0.75 + 1) : yr; - } - function h3(e, t) { - var n; - return xe(t, 19) ? (n = ($o(), f(t, 19)), e.jb(n)) : Ey(e, f(vt(t), 22).mb()); - } - function vM(e, t) { - var n, i; - i = e.d.f, i.g != (et(), Hn) && (n = Dt(En(i)), xt(n) && un(t, e, f(Et(n), 12))); - } - function d3(e, t) { - var n, i; - return UV(t), n = ZM(e, 0, t), i = ve(Kn, Wn, 26, t, 12, 1), Xy(e, 0, i, 0, n, !0), i; - } - function mU(e, t) { - var n; - this.c = e, n = new Se(), z3(e, n, t, e.b, null, !1, null, !1), this.a = new fn(n, 0); - } - function gM(e) { - return e.a ? aM(e.c.b, e.a.b) ? (e.a = null, !1) : !0 : !1; - } - function Wl(e) { - if (!e) - throw new Ou((mn(), "no calls to next() since the last call to remove()")); - } - function Ly() { - Ly = c, q2 = { boolean: mF, number: eF, string: tF, object: cA, function: cA, undefined: PY }; - } - function Py() { - Py = c, gk = kN(re(ie(Gg, 1), De, 59, 0, [($n(), ja), Fi])), bk = kN(re(ie(Gg, 1), De, 59, 0, [Ws, Ts])); - } - function v3(e) { - Qt(); - var t, n, i; - for (i = 0, n = e.mb(); n.G(); ) - t = n.H(), i = i + (t != null ? Uo(t) : 0), i = i | 0; - return i; - } - function yU(e) { - Df(); - var t, n, i; - for (i = 0, n = Uf(e).mb(); n.G(); ) - t = f(n.H(), 83), i = Tr(i, t.Yb()); - return Jf(i); - } - function Hs(e) { - var t, n; - for (n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 25), t.i.Q(); - e.c.Dc(e), XA(e); - } - function bM(e, t) { - var n; - return n = Vw(e.a, t), n === void 0 ? ++e.d : (e.a[A2](t), --e.c, Mm(e.b)), n; - } - function kU(e, t) { - var n, i, s, l; - for (n = !1, i = e.d[t].length, s = i - 1; s > 0; s--) - l = s - 1, n = n | iO(e, t, l, s); - return n; - } - function EU(e, t) { - var n, i, s, l; - for (n = !1, i = e.d[t].length, l = 0; l < i - 1; l++) - s = l + 1, n = n | iO(e, t, l, s); - return n; - } - function SU(e, t) { - var n, i, s; - return n = e.l + t.l, i = e.m + t.m + (n >> 22), s = e.h + t.h + (i >> 22), Gu(n & Va, i & Va, s & ec); - } - function CU(e, t) { - var n, i, s; - return n = e.l - t.l, i = e.m - t.m + (n >> 22), s = e.h - t.h + (i >> 22), Gu(n & Va, i & Va, s & ec); - } - function pM(e, t) { - var n; - for (n = 0; n < (mn(), t.length); n++) - if (e == t.charCodeAt(n)) - return !0; - return !1; - } - function wM(e, t) { - var n; - for (n = 0; n < (mn(), t.length); n++) - if (e == t.charCodeAt(n)) - return !0; - return !1; - } - function z(e, t) { - var n, i; - return e.n && (i = Kt(e.n, t), i != null) ? i : (n = yJ(t), xe(n, 5) && ce(e, t, n), n); - } - function Dy(e) { - var t, n, i; - for (t = new Ci(), i = Jt(e, 0); i.b != i.d.c; ) - n = f(Ft(i), 10), T1(t, 0, new qn(n)); - return t; - } - function mM(e, t, n) { - var i, s, l, h; - for (h = new Oc(t, n), l = 0, s = Qc(h); s.G(); ) - i = f(s.H(), 7), un(e.c, i, gt(l++)); - } - function xU(e, t, n) { - if (vt(t), n.G()) - for (jc(t, e.C(n.H())); n.G(); ) - jc(t, e.c), jc(t, e.C(n.H())); - return t; - } - function TU(e, t, n, i, s) { - i ? iZ(e, t) : (aZ(e, t, s), UJ(e, t, n)), t.c.length > 1 && (Ya(t, e.b), gQ(e.c, t)); - } - function re(e, t, n, i, s) { - return s.$c = e, s._c = t, s.ad = u, s.__elementTypeId$ = n, s.__elementTypeCategory$ = i, s; - } - function fg(e, t, n) { - switch (n.e) { - case 2: - e.b = t; - break; - case 1: - e.c = t; - break; - case 4: - e.d = t; - break; - case 3: - e.a = t; - } - } - function yM(e, t, n) { - var i, s; - return s = $4(n).g, i = IM(e, t, s).a, i - JY(f(Kt(e.c, t), 24).a - f(Kt(e.c, n), 24).a); - } - function mr(e, t) { - return e < t ? -1 : e > t ? 1 : e == t ? 0 : isNaN(e) ? isNaN(t) ? 0 : 1 : -1; - } - function h0(e) { - switch (e.Y()) { - case 0: - return _g; - case 1: - return new cu(e.mb().H()); - default: - return new Qn(e); - } - } - function Cd() { - Cd = c; - var e, t; - t = !(Error.stackTraceLimit || "stack" in new Error()), e = new nP(), dx = t ? new b() : e; - } - function g3() { - g3 = c, Ux = new nt("intCoordinates", (yn(), yn(), Rn)), Kx = new Zn("jsonObject"), vk = new ot(0, 0); - } - function d0() { - d0 = c, cT = new im("MIRROR_X", 0), lT = new im("TRANSPOSE", 1), uT = new im("MIRROR_AND_TRANSPOSE", 2); - } - function nh() { - nh = c, iL = new fm(Rd, 0), yp = new fm("INCOMING_ONLY", 1), lb = new fm("OUTGOING_ONLY", 2); - } - function b3() { - return wi(), re(ie(Wd, 1), De, 60, 0, [Ds, lc, Eu, Su, is, dc, hc, No, rs, fc, Cu, gl, ff]); - } - function kM() { - kM = c; - var e, t, n, i; - for (vl = new P3(Wd), t = b3(), n = 0, i = t.length; n < i; ++n) - e = t[n], ZS(vl, e, null); - } - function EM(e) { - Qt(); - var t, n, i; - for (i = 1, n = e.mb(); n.G(); ) - t = n.H(), i = 31 * i + (t != null ? Uo(t) : 0), i = i | 0; - return i; - } - function SM(e, t) { - _n(); - var n, i; - for (oy(t, "predicate"), i = 0; e.G(); i++) - if (n = e.H(), t.D(n)) - return i; - return -1; - } - function p3(e, t) { - var n, i; - return n = e.c.a, i = t.ac(n), e.b.b && (i = Ku(i, lC(e, t, n))), e.b.c && (i = Ku(i, cC(e, t, n))), i; - } - function CM(e, t, n) { - var i, s; - return i = new gy(t, n), s = new Tw(), e.b = VA(e, e.b, i, s), s.b || ++e.c, e.b.b = !1, s.d; - } - function jy(e, t, n) { - var i, s, l; - for (i = new Wr(), l = Jt(n, 0); l.b != l.d.c; ) - s = f(Ft(l), 10), rn(i, new qn(s)); - YU(e, t, i); - } - function w3(e, t) { - var n; - return t === e ? !0 : xe(t, 144) ? (n = f(t, 144), e.P().t(n.P())) : !1; - } - function xM(e) { - var t; - if (t = e.a.c.length, t > 0) - return A1(t - 1, e.a.c.length), Fl(e.a, t - 1); - throw new D7(); - } - function TM(e) { - e.b.c.length - e.e.c.length < 0 ? (Bt(e, (we(), Be)), e.a.a = e.j.a) : (Bt(e, (we(), qe)), e.a.a = 0); - } - function LM(e, t) { - s4(e >= 0, "Negative initial capacity"), s4(t >= 0, "Non-positive load factor"), so(this); - } - function Ul(e) { - var t; - this.e = e, this.d = new H4(this.e.e), this.a = this.d, this.b = l3(this), t = e[ol], this[ol] = t; - } - function m3() { - this.n = null, this.j = null, this.i = null, this.d = null, this.b = null, this.k = null, this.a = null; - } - function Ny(e) { - var t, n, i, s; - for (s = 1, n = 0, i = e.length; n < i; ++n) - t = e[n], s = 31 * s + (t != null ? Uo(t) : 0), s = s | 0; - return s; - } - function Rr(e) { - var t, n, i, s; - for (t = {}, i = 0, s = e.length; i < s; ++i) - n = e[i], t[":" + (n.d != null ? n.d : "" + n.e)] = n; - return t; - } - function PM(e) { - m2(); - var t, n, i, s; - for (n = D3(), i = 0, s = n.length; i < s; ++i) - if (t = n[i], oj(t.a, e)) - return t; - return dk; - } - function DM(e, t, n) { - var i, s, l; - for (s = 0, l = n.length; s < l; ++s) - if (i = n[s], e.b.Uc(t, i.yb())) - return i; - return null; - } - function jM(e, t, n) { - var i, s; - for (s = n.mb(); s.G(); ) - if (i = f(s.H(), 21), e.Uc(t, i.zb())) - return !0; - return !1; - } - function y3(e, t) { - var n, i, s; - for (s = e.b; s; ) { - if (n = e.a.$b(t, s.d), n == 0) - return s; - i = n < 0 ? 0 : 1, s = s.a[i]; - } - return null; - } - function LU(e, t) { - var n, i; - return n = f(Bl(e.a, t), 19), n ? (i = e.b.Z(), i.jb(n), e.b.c -= n.Y(), n.Q(), i) : null; - } - function NM(e, t, n) { - var i; - for (i = f(t.B(e), 9); i.g == (et(), hn); ) - !i.n && (i.n = new $t()), Bl(i.n, n), i = f(t.B(i), 9); - } - function Iy(e, t) { - var n; - return ta(e) && ta(t) && (n = e - t, !isNaN(n)) ? n : NO(ta(e) ? Uu(e) : e, ta(t) ? Uu(t) : t); - } - function Ur(e) { - var t; - return xe(e, 46) ? e : (t = e && e.__gwt$exception, t || (t = new iI(e), J7(t, e), EW(e, t)), t); - } - function PU(e) { - var t, n, i; - for (t = 0, i = new M(e.c); i.a < i.c.c.length; ) - n = f(O(i), 226), t += HA(e, n.a, n.b); - return t; - } - function DU(e) { - var t; - return t = new rI(e), ng(e.a, cz, new ro(re(ie(rb, 1), Me, 160, 0, [t]))), t.d && Le(t.f, t.d), t.f; - } - function IM(e, t, n) { - switch (n.e) { - case 1: - return f(Kt(e.d, t), 24); - case 3: - return f(Kt(e.j, t), 24); - } - return gt(0); - } - function MM(e, t, n) { - return e.d[t.k][n.k] || (NK(e, t, n), e.d[t.k][n.k] = !0, e.d[n.k][t.k] = !0), e.a[t.k][n.k]; - } - function k3(e, t, n) { - var i; - return i = t.$b(n, e.b), i < 0 ? e.e ? f(hF(k3(e.e, t, n), e), 206) : e : i == 0 ? e : e.g ? k3(e.g, t, n) : null; - } - function xo(e, t) { - return ko(e) ? zo(e, t) : Yf(e) || Ff(e) ? (or(e), e === t) : Fm(e) ? e.t(t) : (_m(e), e === t); - } - function Gn(e, t) { - return zo(e.b, t) || IW(e.b, t) && (mn(), t.length == $v(e.b) || hj(e.b, $v(e.b) - t.length - 1) == 46); - } - function My(e, t) { - var n, i, s; - for (n = 0, s = Jn(e, t).mb(); s.G(); ) - i = f(s.H(), 7), n += z(i, (le(), js)) != null ? 1 : 0; - return n; - } - function jU(e, t) { - var n, i, s; - for (i = null, s = e.b; s; ) - n = e.a.$b(t, s.d), n >= 0 ? s = s.a[1] : (i = s, s = s.a[0]); - return i; - } - function NU(e, t) { - var n, i, s; - for (i = null, s = e.b; s; ) - n = e.a.$b(t, s.d), n <= 0 ? s = s.a[0] : (i = s, s = s.a[1]); - return i; - } - function IU(e, t, n, i) { - var s, l; - for (l = e.mb(); l.G(); ) - s = f(l.H(), 33), s.i.a = t.a + (i.a - s.j.a) / 2, s.i.b = t.b, t.b += s.j.b + n; - } - function OM(e, t) { - var n; - e.c.length != 0 && (n = f(Vn(e, ve(kr, Ni, 9, e.c.length, 0, 1)), 51), IS(n, new ar()), _O(n, t)); - } - function AM(e, t) { - var n; - e.c.length != 0 && (n = f(Vn(e, ve(kr, Ni, 9, e.c.length, 0, 1)), 51), IS(n, new Qe()), _O(n, t)); - } - function RM(e) { - var t, n; - return t = e.g, t == (et(), Cn) ? (n = f(z(e, (le(), _r)), 32), n == (we(), rt) || n == ct) : !1; - } - function Br(e, t) { - var n; - return or(t), n = e[":" + t], Hj(!!n, "Enum constant undefined: %s", re(ie(Ze, 1), Me, 1, 4, [t])), n; - } - function MU(e, t, n) { - if (!e) - throw new tn(Tg("lowerEndpoint (%s) > upperEndpoint (%s)", re(ie(Ze, 1), Me, 1, 4, [t, n]))); - } - function E3(e) { - throw Ly(), new A7("Unexpected typeof result '" + e + "'; please report this bug to the GWT team"); - } - function Oy(e) { - switch (e.e) { - case 1: - return ct; - case 2: - return qe; - case 3: - return rt; - case 4: - return Be; - default: - return cr; - } - } - function BM(e) { - switch (e.e) { - case 2: - return Fi; - case 1: - return ja; - case 4: - return Ts; - case 3: - return Ws; - default: - return Po; - } - } - function OU(e) { - return e >= 48 && e < 58 ? e - 48 : e >= 97 && e < 97 ? e - 97 + 10 : e >= 65 && e < 65 ? e - 65 + 10 : -1; - } - function AU(e, t) { - var n, i; - for (i = Qj(Zj(e.P())); i.b.G(); ) - if (n = f(eD(i, i.b.H()), 19), n.kb(t)) - return !0; - return !1; - } - function RU(e) { - var t; - if (!gM(e)) - throw new sa(); - return t = new CD(e.c, e.a), e.b = t, e.a.i == e.c.a ? e.a = null : e.a = e.a.i, t; - } - function BU(e, t) { - On(); - var n; - return e === t ? !0 : xe(t, 57) ? (n = f(t, 57), rA(Bc(e), n.bb())) : !1; - } - function zU(e, t, n, i) { - return Df(), fi(n, "oldCount"), fi(i, "newCount"), e.Cb(t) == n ? (e.Gb(t, i), !0) : !1; - } - function HU(e, t, n, i, s) { - return vt(n), vt(s), yV(new M4(e.c, gR(e.b, new j0(e.d, !0, t, n, !1, null, (yo(), Wa))), e.a), i, s); - } - function S3(e) { - switch (Ea(), e.Y()) { - case 0: - return Kf(), Gd; - case 1: - return new Bu(e.mb().H()); - default: - return new um(e); - } - } - function Tr(e, t) { - var n; - return ta(e) && ta(t) && (n = e + t, C2 < n && n < tc) ? n : cg(SU(ta(e) ? Uu(e) : e, ta(t) ? Uu(t) : t)); - } - function zM(e, t) { - var n; - return ta(e) && ta(t) && (n = e * t, C2 < n && n < tc) ? n : cg(SJ(ta(e) ? Uu(e) : e, ta(t) ? Uu(t) : t)); - } - function Ku(e, t) { - var n; - return ta(e) && ta(t) && (n = e - t, C2 < n && n < tc) ? n : cg(CU(ta(e) ? Uu(e) : e, ta(t) ? Uu(t) : t)); - } - function $n() { - $n = c, Po = new Mv(ef, 0), Fi = new Mv(Ad, 1), ja = new Mv(Od, 2), Ts = new Mv("DOWN", 3), Ws = new Mv("UP", 4); - } - function fu() { - fu = c, K2 = new u1(ef, 0), Tx = new u1("POLYLINE", 1), af = new u1("ORTHOGONAL", 2), U2 = new u1("SPLINES", 3); - } - function v0() { - v0 = c, X2 = new em("INHERIT", 0), Ix = new em("INCLUDE_CHILDREN", 1), Mx = new em("SEPARATE_CHILDREN", 2); - } - function HM() { - HM = c, Iz = pi($u(new An(), (Pr(), xk)), hp), Mz = bi(pi(R1(new An(), Sk), Ek), ib), Oz = bi(Ca(new An(), Ck), ib); - } - function _M() { - _M = c, Az = pi($u(new An(), (Pr(), xk)), hp), Rz = bi(pi(R1(new An(), Sk), Ek), ib), Bz = bi(Ca(new An(), Ck), ib); - } - function GM(e) { - this.a = new _i(), this.d = new _i(), this.b = new _i(), this.c = new _i(), this.g = new _i(), this.i = new _i(), this.f = e; - } - function $M(e, t, n, i, s, l) { - this.e = new Se(), this.f = (sr(), hE), Le(this.e, e), this.d = t, this.a = n, this.b = i, this.f = s, this.c = l; - } - function _U(e, t, n, i, s, l, h, v) { - var p; - for (p = n; l < h; ) - p >= i || t < n && v.$b(e[t], e[p]) <= 0 ? Ga(s, l++, e[t++]) : Ga(s, l++, e[p++]); - } - function GU(e, t, n, i, s) { - var l, h; - for (h = e.mb(); h.G(); ) - l = f(h.H(), 33), l.i.a = t.a, l.i.b = s ? t.b : t.b + i.b - l.j.b, t.a += l.j.a + n; - } - function $U(e, t) { - Rm(); - var n, i; - for (i = Dt(yg(e)); xt(i); ) - if (n = f(Et(i), 12), n.d.f == t || n.c.f == t) - return n; - return null; - } - function Ay(e, t, n) { - var i, s, l; - for (i = 0, l = Jt(e, 0); l.b != l.d.c && (s = ge(Ot(Ft(l))), !(s > n)); ) - s >= t && ++i; - return i; - } - function YU(e, t, n) { - var i, s, l, h; - for (or(n), h = !1, l = Jt(e, t), s = Jt(n, 0); s.b != s.d.c; ) - i = Ft(s), Xv(l, i), h = !0; - return h; - } - function FU(e, t) { - var n, i, s; - return t.V() ? !1 : (s = e.Y(), n = e.d.jb(t), n && (i = e.d.Y(), e.f.c += i - s, s == 0 && I1(e)), n); - } - function hu(e, t) { - var n; - return t && (n = t.n ? t.n : (Qt(), Qt(), $L), n.V() || (e.n ? eM(e.n, n) : e.n = new n9(n))), e; - } - function YM(e, t, n) { - var i; - try { - xU(e, t, n); - } catch (s) { - throw s = Ur(s), xe(s, 181) ? (i = s, new py(i)) : Kr(s); - } - return t; - } - function qU(e, t, n) { - var i; - try { - XZ(e, t, n); - } catch (s) { - throw s = Ur(s), xe(s, 181) ? (i = s, new py(i)) : Kr(s); - } - return t; - } - function Kr(e) { - var t; - return xe(e, 164) && (t = f(e, 164), He(t.b) !== He((F5(), U0))) ? He(t.b) === He(U0) ? null : t.b : e; - } - function rh(e, t) { - var n; - for (n = f(z(Ti(e), (le(), wl)), 9); n; ) { - if (n == t) - return !0; - n = f(z(Ti(n), wl), 9); - } - return !1; - } - function VU(e) { - switch (f(z(e, (le(), Zs)), 140).e) { - case 1: - ce(e, Zs, (ms(), Lh)); - break; - case 2: - ce(e, Zs, (ms(), gf)); - } - } - function Wo(e) { - switch (Ea(), e.c) { - case 0: - return Kf(), Gd; - case 1: - return new Bu(nA(new Hf(e))); - default: - return new O7(e); - } - } - function ur(e) { - dr(); - var t, n; - for (t = 0, n = e.length; t < n; t++) - if (e[t] == null) - throw new jv("at index " + t); - return new ro(e); - } - function WU(e, t, n) { - return t.length == 0 || n.length == 0 ? 0 : (e.e ? e.b = new R7(e.c) : e.b = new B7(e.c), e.b.Gc(t, n)); - } - function Ct(e) { - if (e.i == null) - throw new Ou("The task has not begun yet."); - e.b || (e.c < e.j && FI(e, e.j - e.c), e.b = !0); - } - function Ry(e, t) { - var n, i; - for (i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 27), Cr(e.b.b, n.b), Qq(f(n.a, 78), f(n.b, 25)); - } - function UU(e, t) { - var n, i; - for (i = new M(e.a); i.a < i.c.c.length; ) - if (n = f(O(i), 222), rM(n, t)) - return; - Le(e.a, new aj(t)); - } - function KU(e) { - var t, n, i; - for (t = new Se(), i = new M(e.b); i.a < i.c.c.length; ) - n = f(O(i), 251), Tn(t, f(n.Ac(), 19)); - return t; - } - function ZU(e, t) { - var n, i, s; - for (s = new Se(), i = Jn(e, t).mb(); i.G(); ) - n = f(i.H(), 7), s.c[s.c.length] = n; - return Ya(s, new aa()), s; - } - function Lr(e) { - var t, n, i; - for (t = new Se(), i = new M(e.f); i.a < i.c.c.length; ) - n = f(O(i), 7), Le(t, n.b); - return vt(t), new Gf(t); - } - function En(e) { - var t, n, i; - for (t = new Se(), i = new M(e.f); i.a < i.c.c.length; ) - n = f(O(i), 7), Le(t, n.e); - return vt(t), new Gf(t); - } - function gt(e) { - var t, n; - return e > -129 && e < 128 ? (t = e + 128, n = (Aj(), _L)[t], !n && (n = _L[t] = new D5(e)), n) : new D5(e); - } - function C3(e) { - var t, n; - for (t = Qy(e.b, e.d), n = yr; n > t; ) { - if (f3(e, e.d), t == 0) { - n = 0; - break; - } - VM(e), QM(e), n = t, t = Qy(e.b, e.d); - } - e.c = n; - } - function FM() { - W3(); - var e, t, n; - n = pte++ + jW(), e = Xn(Math.floor(n * M2)) & hx, t = Xn(n - e * fx), this.a = e ^ 1502, this.b = t ^ R2; - } - function Uo(e) { - return ko(e) ? Wy(e) : Yf(e) ? Xn((or(e), e)) : Ff(e) ? Pt((or(e), e)) ? 1231 : 1237 : Fm(e) ? e.v() : (_m(e), au(e)); - } - function XU(e, t, n) { - var i, s, l; - s = new CO(), s.d = n, i = kZ(s, t), l = new WN(), Pt(ge(jt(z(i, rT)))) ? nU(l, i, new j1()) : hR(e, l, i), FR(s, i); - } - function qM(e, t, n, i) { - var s, l, h, v; - for (v = new Oc(t, i), h = 0, l = Qc(v); l.G(); ) - s = f(l.H(), 7), un(e.i, s, gt(h++)); - un(n, t, gt(h)); - } - function QU(e, t) { - var n, i, s, l, h; - for (n = 0, h = 0, s = 0, l = t.length; s < l; ++s) - i = t[s], n = RA(e, n, i, (we(), Be), e.f), h = RA(e, h, i, qe, e.n); - } - function JU(e, t) { - var n, i, s, l; - if (e.n) - for (i = 0, s = t.length; i < s; ++i) - n = t[i], l = Kt(e.n, n), l != null && (n.nc(), n.oc()); - } - function eK(e, t) { - var n, i, s; - for (i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 75), s = tQ(e.a), NI(e.a, s, n.k, n.j), Dd(n, s, !0); - } - function tK(e, t) { - var n, i, s; - for (i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 75), s = RX(e.a), NI(e.a, s, n.k, n.j), Dd(n, s, !0); - } - function By(e) { - var t, n; - return n = f(z(e, (Ee(), Do)), 59), n == ($n(), Po) ? (t = f(z(e, (le(), Ph)), 15).a, t >= 1 ? Fi : Ts) : n; - } - function xt(e) { - if (vt(e.b), e.b.G()) - return !0; - for (; e.a.G(); ) - if (vt(e.b = e.Wb(e.a.H())), e.b.G()) - return !0; - return !1; - } - function Kl(e) { - return (e.d != e.c.d || e.i != e.g.d) && (e.a.c = ve(Ze, Me, 1, 0, 4, 1), Tn(e.a, e.c), Tn(e.a, e.g), e.d = e.c.d, e.i = e.g.d), e.a; - } - function La(e) { - var t; - if (e.b) { - if (La(e.b), e.b.d != e.c) - throw new nd(); - } else - e.d.V() && (t = f(Kt(e.f.b, e.e), 19), t && (e.d = t)); - } - function x3(e, t, n, i, s) { - var l, h, v, p; - for (p = i0(e), TU(t, p, i, s, n), l = 0, v = new M(p); v.a < v.c.c.length; ) - h = f(O(v), 9), e[l++] = h; - } - function nK(e) { - var t, n, i; - for (i = f(oD(e.a, (Ee(), wh)), 15).a, n = new M(KO(e.a)); n.a < n.c.c.length; ) - t = f(O(n), 626), Cee(e, t, i); - } - function An() { - var e, t; - for (this.a = new ji(6), t = 0; t < 6; t++) - Le(this.a, (e = f(Hi(dz), 11), new ti(e, f(xi(e, e.length), 11), 0))); - } - function VM(e) { - var t, n, i; - for (i = !1, n = 0; n < e.d.length; n++) - e.j = (t = new K3(e.e, e.d, n, 0), new q3(n, e.d, t)), i = i | BI(e, n); - return i; - } - function rK(e, t, n) { - var i, s; - for (s = e.a.c, i = s.c.length; i < n; i++) - Ac(s, 0, new Hc(e.a)); - Ar(t, f(_e(s, s.c.length - n), 16)), e.b[t.k] = n; - } - function WM(e, t) { - var n, i; - for (n = Jt(e, 0); n.b != n.d.c; ) { - if (i = ge(Ot(Ft(n))), i == t) - return; - if (i > t) { - Jv(n); - break; - } - } - Xv(n, t); - } - function zy(e, t, n) { - var i; - return i = Vw(e.a, t), rF(e.a, t, n === void 0 ? null : n), i === void 0 ? (++e.c, Mm(e.b)) : ++e.d, i; - } - function Hy(e, t, n) { - return (t - e <= 0 ? 0 - (t - e) : t - e) < nc || (n - e <= 0 ? 0 - (n - e) : n - e) < nc ? !0 : t - e > nc ? e - n > nc : n - e > nc; - } - function UM(e) { - switch (e.e) { - case 0: - return Uk; - case 1: - return kp; - case 2: - return Kk; - case 3: - return Zk; - default: - return Xk; - } - } - function T3(e, t) { - switch (t.e) { - case 2: - return e.b; - case 1: - return e.c; - case 4: - return e.d; - case 3: - return e.a; - default: - return !1; - } - } - function g0(e) { - switch (we(), e.e) { - case 4: - return rt; - case 1: - return Be; - case 3: - return ct; - case 2: - return qe; - default: - return cr; - } - } - function _y(e, t) { - if (t == e.c) - return e.d; - if (t == e.d) - return e.c; - throw new tn("Node " + t + " not part of edge " + e); - } - function iK(e, t) { - var n; - return Fo(e.a, t) ? f(Fo(e.a, t) ? e.b[t.e] : null, 62) : (n = new d7(), hi(e.a, t), Um(e, t.e, n), n); - } - function KM(e, t) { - var n, i, s, l; - for (l = e.g.tb(), n = 0; l.G(); ) { - if (i = ge(Ot(l.H())), s = i - t, s > al) - return n; - s > V0 && ++n; - } - return n; - } - function b0(e) { - var t, n, i, s; - return n = (t = f(Hi((i = e.$c, s = i.f, s == an ? i : s)), 11), new ti(t, f(xi(t, t.length), 11), 0)), hi(n, e), n; - } - function Gy(e, t) { - var n, i; - for (i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 27), Le(e.b.b, f(n.b, 25)), f0(f(n.a, 78), f(n.b, 25)); - } - function aK(e, t, n, i) { - var s, l, h; - for (s = t + 1; s < n; ++s) - for (l = s; l > t && i.$b(e[l - 1], e[l]) > 0; --l) - h = e[l], Ga(e, l, e[l - 1]), Ga(e, l - 1, h); - } - function oK(e) { - var t, n; - if (!ds(f(z(e, (Ee(), dt)), 28))) - for (n = new M(e.f); n.a < n.c.c.length; ) - t = f(O(n), 7), Bt(t, (we(), cr)); - } - function ks(e, t) { - switch (t.e) { - case 1: - return Eo(e.f, (fa(), oT)); - case 2: - return Eo(e.f, (fa(), sT)); - default: - return Qt(), Qt(), bc; - } - } - function nr(e, t) { - return k4(t, (Ee(), Yx)) ? z(e.e, (le(), Oi)) : k4(t, ul) ? z(e.e, (le(), Qd)) : z(e.e, t); - } - function sK(e, t, n, i) { - var s, l, h; - for (l = t, s = n - 1; l <= s; ) { - if (h = (l + s) / 2 | 0, e[h] == i) - return h; - e[h] < i ? l = h + 1 : s = h - 1; - } - return -l - 1; - } - function hg(e, t, n) { - var i, s; - for (s = e.mb(); s.G(); ) - if (i = s.H(), He(t) === He(i) || t != null && xo(t, i)) - return n && s.I(), !0; - return !1; - } - function ZM(e, t, n) { - var i; - return Hj(t <= n, "%s > %s", re(ie(Ze, 1), Me, 1, 4, [gt(t), gt(n)])), i = e.length, n = n < i ? n : i, H3(t, n, i), n - t; - } - function XM(e, t) { - var n, i, s; - n = e, s = 0; - do { - if (n == t) - return s; - if (i = f(z(n, (le(), wl)), 9), !i) - throw new ed(); - n = Ti(i), ++s; - } while (!0); - } - function QM(e) { - var t, n, i; - for (i = !1, n = e.d.length - 1; n >= 0; n--) - e.j = (t = new K3(e.e, e.d, n, 1), new q3(n, e.d, t)), i = i | BI(e, n); - return i; - } - function L3(e) { - this.f = (On(), new $t()), this.n = new $t(), this.k = new $t(), this.g = new $r(), this.i = new gO((E7(), F8)), this.j = e, QU(this, e); - } - function P3(e) { - var t; - this.a = (t = f(e.e && e.e(), 11), new ti(t, f(xi(t, t.length), 11), 0)), this.b = ve(Ze, Me, 1, this.a.a.length, 4, 1); - } - function JM(e, t) { - var n; - return t === e ? !0 : !xe(t, 18) || (n = f(t, 18), n.Y() != e.Y()) ? !1 : e.lb(n); - } - function $y(e) { - switch (wi(), e.e) { - case 1: - return Ds; - case 2: - return Eu; - case 3: - return is; - case 4: - return hc; - default: - return ff; - } - } - function eO(e, t) { - switch (t.e) { - case 1: - return e.e.d; - case 2: - return e.e.c; - case 3: - return e.e.a; - case 4: - return e.e.b; - default: - return 0; - } - } - function D3() { - return m2(), re(ie(UB, 1), De, 67, 0, [VB, qB, WB, BB, RB, zB, GB, _B, HB, FB, YB, $B, OB, MB, AB, NB, jB, IB, PB, LB, DB, dk]); - } - function Zu() { - Zu = c, sf = new Ov(ef, 0), Ls = new Ov("JUSTIFIED", 1), Fx = new Ov("BEGIN", 2), qx = new Ov(Y0, 3), Vx = new Ov("END", 4); - } - function du() { - du = c, uk = new c1("PORTS", 0), eb = new c1("PORT_LABELS", 1), sk = new c1("NODE_LABELS", 2), Jg = new c1("MINIMUM_SIZE", 3); - } - function Gi() { - Gi = c, nb = new rm("UNKNOWN", 0), ns = new rm("ABOVE", 1), Us = new rm("BELOW", 2), KB = new nt("de.cau.cs.kieler.labelSide", nb); - } - function p0() { - p0 = c, zL = new vm("EQUALLY_DISTRIBUTED", 0), TE = new vm("NORTH_STACKED", 1), HL = new vm("NORTH_SEQUENCE", 2); - } - function uK() { - W0 = {}, !Array.isArray && (Array.isArray = function(e) { - return Object.prototype.toString.call(e) === "[object Array]"; - }); - } - function cK(e, t) { - return rd(), rd(), ((e - t > 0 ? e - t : -(e - t)) <= Mg || e == t || isNaN(e) && isNaN(t) ? 0 : e < t ? -1 : e > t ? 1 : u9(isNaN(e), isNaN(t))) > 0; - } - function j3(e, t) { - return rd(), rd(), ((e - t > 0 ? e - t : -(e - t)) <= Mg || e == t || isNaN(e) && isNaN(t) ? 0 : e < t ? -1 : e > t ? 1 : u9(isNaN(e), isNaN(t))) < 0; - } - function Yy(e) { - var t, n; - for (e.d || fQ(e), n = new Ci(), t = e.b.mb(), t.H(); t.G(); ) - rn(n, f(t.H(), 92).a); - return ut(n.b != 0), zs(n, n.c.b), n; - } - function tO(e) { - var t, n, i, s; - for (s = new _i(), t = new _u(e.c), D0(t), i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 7), s.a.db(n, s); - return s; - } - function lK(e, t) { - var n, i, s; - for (vt(t), i = (s = e.g, f(s || (e.g = new x5(e)), 20)).mb(); i.G(); ) - n = f(i.H(), 21), pt(t, n.zb(), n.yb()); - return t; - } - function nO(e, t) { - var n, i, s; - return xe(t, 21) ? (n = f(t, 21), i = n.yb(), s = vg(e.qb(), i), Gl(s, n.zb()) && (s != null || e.qb().R(i))) : !1; - } - function N3(e, t) { - var n, i, s; - for (s = e.g.tb(); s.G(); ) - if (n = ge(Ot(s.H())), i = n - t <= 0 ? 0 - (n - t) : n - t, i < al) - return s.L() - 1; - return e.g.Y(); - } - function rO(e) { - var t, n; - for (n = new M(e.a); n.a < n.c.c.length; ) - if (t = f(O(n), 9), t.g == (et(), Hn) || t.g == Ii) - return !1; - return !0; - } - function Nt(e, t, n) { - if (e.b) - throw new Ou("The task is already done."); - return e.i != null ? !1 : (e.i = t, e.j = n, !0); - } - function fK(e, t) { - return e.f < t.f ? -1 : e.f > t.f ? 1 : e.g < t.g ? -1 : e.g > t.g ? 1 : e.b - t.b; - } - function hK(e, t) { - if (t.c == e) - return t.d; - if (t.d == e) - return t.c; - throw new tn("Input edge is not connected to the input port."); - } - function Fy(e) { - var t; - e.c != 0 && (t = f(_e(e.a, e.b), 128), t.b == 1 ? (++e.b, e.b < e.a.c.length && i7(f(_e(e.a, e.b), 128))) : --t.b, --e.c); - } - function xd(e, t) { - return e.b.a = Xt(e.b.a, t.c), e.b.b = Xt(e.b.b, t.d), e.a.a = je(e.a.a, t.c), e.a.b = je(e.a.b, t.d), e.c[e.c.length] = t, !0; - } - function dK(e, t, n) { - var i, s; - return i = ge(e.n[t.f.k]) + ge(e.d[t.f.k]) + t.i.b + t.a.b, s = ge(e.n[n.f.k]) + ge(e.d[n.f.k]) + n.i.b + n.a.b, s - i; - } - function iO(e, t, n, i) { - var s, l, h; - return s = !1, WQ(e.j, n, i) && (VY(e.j, e.d[t][n], e.d[t][i]), l = e.d[t], h = l[i], l[i] = l[n], l[n] = h, s = !0), s; - } - function w0(e, t, n) { - var i, s, l, h, v; - v = Ti(e), s = v.a, i = f(z(v, (le(), os)), 15).a, l = v.d, h = e.i, t && (h.a = h.a - s.b - i - l.a), n && (h.b = h.b - s.d - i - l.b); - } - function aO(e, t) { - var n, i, s; - for (i = Dt(yg(e)); xt(i); ) - return n = f(Et(i), 12), s = f(t.B(n), 9), new Kb(vt(s.i.b + s.j.b / 2)); - return Pv(), Pv(), G2; - } - function oO(e) { - var t, n, i, s, l; - for (i = b2(e), t = Zo, l = 0, s = 0; t > 0.5 && l < 50; ) - s = zA(i), n = Zl(i, s, !0), t = ei(n.b), ++l; - return Zl(e, s, !1); - } - function sO(e) { - var t, n, i, s, l; - for (i = b2(e), t = Zo, l = 0, s = 0; t > 0.5 && l < 50; ) - s = BA(i), n = Zl(i, s, !0), t = ei(n.a), ++l; - return Zl(e, s, !1); - } - function m0(e) { - var t, n, i; - for (this.a = new _i(), this.e = new $r(), this.f = 0, n = 0, i = e.length; n < i; ++n) - t = e[n], !this.g && (this.g = t), f0(this, t); - } - function uO(e) { - DS(this), this.c = e.c, this.f = e.f, this.e = e.e, this.k = e.k, this.d = e.d, this.g = ca(e.g), this.j = e.j, this.i = e.i, this.b = ca(e.b); - } - function qy(e) { - switch (e.e) { - case 1: - return $n(), Ws; - case 4: - return $n(), ja; - case 2: - return $n(), Fi; - case 3: - return $n(), Ts; - } - return $n(), Po; - } - function cO(e, t) { - return VZ(e, t) ? (vn(e.g, t), !0) : (t.g != (we(), cr) && vn(e.i, t), t.e.c.length == 0 ? vn(e.c, t) : vn(e.b, t), !1); - } - function lO(e, t) { - var n, i; - return qc(0, e.c.length), n = Ky(t, ve(Ze, Me, 1, t.a.Y(), 4, 1)), i = n.length, i == 0 ? !1 : (r4(e.c, 0, n), !0); - } - function Vy(e, t) { - for (var n = 0; !t[n] || t[n] == ""; ) - n++; - for (var i = t[n++]; n < t.length; n++) - !t[n] || t[n] == "" || (i += e + t[n]); - return i; - } - function vK() { - var e; - return X0 != 0 && (e = gW(), e - V8 > 2e3 && (V8 = e, Q0 = r.setTimeout(vF, 10))), X0++ == 0 ? (HW((q5(), Sx)), !0) : !1; - } - function Es(e) { - var t, n; - for (n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 25), t.j.d = -t.j.d - t.j.c, t.o && (t.g.a = -t.g.a + t.o.j.c); - A0(e); - } - function dg(e, t) { - var n; - for (n = e; t.b < t.d.Y() && n == e; ) - n = (ut(t.b < t.d.Y()), f(t.d.sb(t.c = t.b++), 7)).g; - n == e || (ut(t.b > 0), t.a.sb(t.c = --t.b)); - } - function gK(e) { - var t; - gi(f(z(e, (Ee(), dt)), 28)) && (t = e.c, NA((Sn(0, t.c.length), f(t.c[0], 16))), NA(f(_e(t, t.c.length - 1), 16))); - } - function fO(e, t, n) { - Nt(n, "Compound graph preprocessor", 1), e.a = new Rv(), pR(e, t, null), dJ(e, t), ce(t, (le(), kL), e.a), e.a = null, so(e.b), Ct(n); - } - function hO(e) { - var t, n; - return t = f(Et(Dt(Lr(e))), 12), n = f(Et(Dt(En(e))), 12), !Pt(ge(jt(z(t, (le(), Xs))))) || !Pt(ge(jt(z(n, Xs)))); - } - function bK(e, t, n) { - t.g == (et(), Hn) && n.g == hn && (e.d = My(t, (we(), ct)), e.b = My(t, rt)), n.g == Hn && t.g == hn && (e.d = My(n, (we(), rt)), e.b = My(n, ct)); - } - function pK(e, t, n) { - var i, s, l, h; - return l = t.g, h = n.g, l != h ? l.e - h.e : (i = e.a[t.k], s = e.a[n.k], !i && !s ? 0 : i ? s ? mr(i.a, s.a) : 1 : -1); - } - function wK(e, t, n, i) { - var s, l, h, v; - for (l = t, s = n - 1; l <= s; ) - if (h = l + s >>> 1, v = e[h], v < i) - l = h + 1; - else if (v > i) - s = h - 1; - else - return h; - return -(l + 1); - } - function mK(e) { - return xe(e, 137) ? (Qt(), new zS(f(e, 137))) : xe(e, 18) ? (Qt(), new jl(f(e, 18))) : xe(e, 20) ? P4(f(e, 20)) : (Qt(), new Cv(e)); - } - function dO(e, t, n) { - return xe(n, 137) ? new $S(e, t, f(n, 137)) : xe(n, 18) ? new GS(e, t, f(n, 18)) : xe(n, 20) ? R4(e, t, f(n, 20), null) : new ig(e, t, n, null); - } - function Td(e, t) { - var n; - n = e.ub(t); - try { - return n.H(); - } catch (i) { - throw i = Ur(i), xe(i, 74) ? new Ho("Can't get element " + t) : Kr(i); - } - } - function vg(e, t) { - On(), vt(e); - try { - return e.cb(t); - } catch (n) { - if (n = Ur(n), xe(n, 119)) - return null; - if (xe(n, 76)) - return null; - throw Kr(n); - } - } - function yK(e, t) { - var n = e.a, i; - t = String(t), n.hasOwnProperty(t) && (i = n[t]); - var s = (Ly(), q2)[typeof i], l = s ? s(i) : E3(typeof i); - return l; - } - function vO(e, t, n, i) { - t < n ? (e.b = 0.5 * (t + n), e.p = O2 * e.b + 0.9 * t, e.a = O2 * e.b + 0.9 * n) : (e.b = 0.5 * (t + i), e.p = O2 * e.b + 0.9 * i, e.a = O2 * e.b + 0.9 * t); - } - function gO(e) { - pD.call(this, e), this.b = new j0(e, !1, null, (yo(), Wa), !1, null, Wa), this.a = new l0(null, 1), P7(this.a, this.a), this.c = new C(); - } - function y0(e) { - switch (nS(), this.c = new Se(), this.d = e, e.e) { - case 0: - case 2: - this.a = zV(iT), this.b = ki; - break; - case 3: - case 1: - this.a = iT, this.b = Hr; - } - } - function Ko() { - Ko = c, V2 = new sd("AUTOMATIC", 0), tp = new sd(Od, 1), np = new sd(Ad, 2), rp = new sd("TOP", 3), J0 = new sd("BOTTOM", 4), ep = new sd(Y0, 5); - } - function Wy(e) { - o9(); - var t, n, i; - return n = ":" + e, i = Mp[n], i !== void 0 ? i : (i = VL[n], t = i === void 0 ? QZ(e) : i, fV(), Mp[n] = t, t); - } - function kK(e, t, n, i, s, l, h) { - Ea(); - var v, p; - return p = h.length + 6, v = new ji(p), lg(v, re(ie(Ze, 1), Me, 1, 4, [e, t, n, i, s, l])), lg(v, h), jO(new M(v)); - } - function EK(e) { - var t; - t = f(z(e, (Ee(), ia)), 18), !t.V() && (t.kb((gu(), qi)) ? (t.nb(qi), t.ib(Wi)) : t.kb(Wi) && (t.nb(Wi), t.ib(qi))); - } - function SK(e) { - var t; - t = f(z(e, (Ee(), ia)), 18), !t.V() && (t.kb((gu(), ba)) ? (t.nb(ba), t.ib(va)) : t.kb(va) && (t.nb(va), t.ib(ba))); - } - function CK(e, t) { - var n, i, s, l; - return s = e.g, n = ge(Ot(z(e, (le(), xu)))), l = t.g, i = ge(Ot(z(t, xu))), l != (et(), Cn) ? -1 : s != Cn ? 1 : n == i ? 0 : n < i ? -1 : 1; - } - function xK(e, t, n) { - var i, s; - return i = Au(Mc(e, t.d), Mc(e, t.c)), s = Jr(Mc(e, t.d), Mc(e, t.c)), Jf(p3(HU(n, gt(i), (yo(), Wa), gt(s), Wa), (E1(), Y2))); - } - function bO(e, t) { - On(), vt(e); - try { - return e.R(t); - } catch (n) { - if (n = Ur(n), xe(n, 119)) - return !1; - if (xe(n, 76)) - return !1; - throw Kr(n); - } - } - function pO(e, t) { - $o(), vt(e); - try { - return A4(e, t); - } catch (n) { - if (n = Ur(n), xe(n, 119)) - return !1; - if (xe(n, 76)) - return !1; - throw Kr(n); - } - } - function TK(e, t) { - return e.e < t.e ? -1 : e.e > t.e ? 1 : e.f < t.f ? -1 : e.f > t.f ? 1 : au(e) - au(t); - } - function wO(e) { - switch (e.e) { - case 1: - return we(), qe; - case 4: - return we(), rt; - case 3: - return we(), Be; - case 2: - return we(), ct; - default: - return we(), cr; - } - } - function mO(e) { - var t, n; - switch (t = Wm(e.c, e.c.length), t.length) { - case 0: - return _g; - case 1: - return n = new cu(t[0]), n; - default: - return new Qn(ur(t)); - } - } - function LK(e) { - var t, n, i, s; - for (i = ve(Kee, Me, 64, e.c.length, 0, 1), s = 0, n = new M(e); n.a < n.c.c.length; ) - t = f(O(n), 64), i[s++] = t; - return new OP(i); - } - function yO(e) { - var t, n; - if (!e.b) - for (e.b = Ic(e.a.b.c.length), n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 33), Le(e.b, new Iw(t)); - return e.b; - } - function ih(e, t) { - var n, i, s; - if (e.e) - return 1; - for (n = 0, s = new M(t.f); s.a < s.c.c.length; ) - i = f(O(s), 7), n += i.b.c.length + i.e.c.length; - return n; - } - function kO(e) { - var t, n, i, s; - for (t = !1, s = !1, i = new M(e.f); i.a < i.c.c.length; ) - n = f(O(i), 7), t = t | n.g == (we(), Be), s = s | n.g == qe; - return t && s; - } - function EO(e) { - var t, n; - for (this.b = new Se(), this.c = e, this.a = !1, n = new M(e.b); n.a < n.c.c.length; ) - t = f(O(n), 9), this.a = this.a | t.g == (et(), Hn); - } - function qa(e) { - HS.call(this), this.g = (et(), Hn), this.f = (fi(6, nl), new ji(6)), this.c = (fi(2, nl), new ji(2)), this.e = new Lw(), this.b = new Lw(), this.a = e; - } - function I3(e, t, n, i, s, l) { - DS(this), this.e = e, this.f = t, this.d = n, this.c = i, this.g = s, this.b = l, this.j = ge(Ot(s.mb().H())), this.i = ge(Ot(AI(s))); - } - function PK(e, t) { - if (e == null) - throw new jv("null key in entry: null=" + t); - if (t == null) - throw new jv("null value in entry: " + e + "=null"); - } - function SO() { - SO = c, Vz = Zv(new An(), (Pr(), Vd)), pp = new nt("linearSegments.inputPrio", gt(0)), wp = new nt("linearSegments.outputPrio", gt(0)); - } - function M3(e) { - var t, n, i, s; - for (n = (s = new Ev(e.b).a.bb().mb(), new Sv(s)); n.a.G(); ) - t = (i = f(n.a.H(), 21), f(i.zb(), 19)), t.Q(); - so(e.b), e.c = 0; - } - function Jt(e, t) { - var n, i; - if (qc(t, e.b), t >= e.b >> 1) - for (i = e.c, n = e.b; n > t; --n) - i = i.b; - else - for (i = e.a.a, n = 0; n < t; ++n) - i = i.a; - return new mj(e, t, i); - } - function Vc(e, t) { - var n, i, s; - for (s = new Yr(), i = e.mb(); i.G(); ) - n = f(i.H(), 55), Pg(n, s.a, 0), s.a += n.e.a + t, s.b = je(s.b, n.e.b); - return s.b > 0 && (s.b += t), s; - } - function k0(e, t) { - var n, i, s; - for (s = new Yr(), i = e.mb(); i.G(); ) - n = f(i.H(), 55), Pg(n, 0, s.b), s.b += n.e.b + t, s.a = je(s.a, n.e.a); - return s.a > 0 && (s.a += t), s; - } - function gg(e, t, n) { - var i, s, l; - return s = f(Kt(e.c, t), 176), s ? (l = QS(s, n), B9(e, s), l) : (i = new i4(e, t, n), un(e.c, t, i), EN(i), null); - } - function DK(e, t) { - return DX(e.b).kb(t.c) ? sV(e.b) ? !(Bm(t.d, e.c, e.a) && Bm(t.a, e.c, e.a)) : Bm(t.d, e.c, e.a) && Bm(t.a, e.c, e.a) : !1; - } - function jK(e, t) { - return e.c < t.c || e.c == t.c && Xm(e.a) && Xm(t.a) && Mc(e.d, Em(e.a, e.b)) > Mc(e.d, Em(t.a, t.b)) ? -1 : e.c == t.c && Em(e.a, e.b) == Em(e.a, e.b) ? 0 : 1; - } - function NK(e, t, n) { - if (e.e) - switch (e.b) { - case 1: - Uq(e.c, t, n); - break; - case 0: - Wq(e.c, t, n); - } - else - GV(e.c, t, n); - e.a[t.k][n.k] = e.c.i, e.a[n.k][t.k] = e.c.e; - } - function IK(e, t, n) { - switch (n.e) { - case 1: - e.a = t.a / 2, e.b = 0; - break; - case 2: - e.a = t.a, e.b = t.b / 2; - break; - case 3: - e.a = t.a / 2, e.b = t.b; - break; - case 4: - e.a = 0, e.b = t.b / 2; - } - } - function O3(e) { - switch (e.e) { - case 8: - return we(), rt; - case 9: - return we(), ct; - case 10: - return we(), Be; - case 11: - return we(), qe; - default: - return we(), cr; - } - } - function MK(e) { - var t, n, i; - for (t = "Ot", i = Au(e.length, 5), n = 0; n < i; n++) - if (zo(e[n].d, t)) { - e.length >= n + 1 && e.splice(0, n + 1); - break; - } - return e; - } - function Uy(e, t) { - return ko(e) ? !!B8[t] : e._c ? !!e._c[t] : Yf(e) ? !!R8[t] : Ff(e) ? !!A8[t] : !1; - } - function CO() { - g3(), this.i = (On(), new $t()), this.a = new $t(), this.k = new $t(), this.j = new $t(), this.b = new $t(), this.n = new $t(), this.f = new $t(), this.e = new $t(); - } - function OK(e, t) { - var n, i; - t.a.R(e) || (i = f(z(e, (le(), _r)), 32), n = f(_e(e.f, 0), 7), i == (we(), rt) ? Bt(n, ct) : i == ct && Bt(n, rt), t.a.db(e, t)); - } - function xO(e) { - var t, n; - return n = Jr(1, f(z(e, (le(), Xa)), 24).a), e.c.f.g == (et(), Hn) && e.d.f.g == Hn ? t = 1 : e.c.f.g == Hn || e.d.f.g == Hn ? t = 2 : t = 8, n * t; - } - function AK(e) { - var t, n, i, s, l; - for (l = f(z(e, (le(), lt)), 7), t = f(Vn(e.b, ve(Ki, Yi, 12, e.b.c.length, 0, 1)), 47), i = 0, s = t.length; i < s; ++i) - n = t[i], kn(n, l); - } - function RK(e) { - var t, n, i, s, l; - for (n = f(z(e, (le(), lt)), 7), t = f(Vn(e.e, ve(Ki, Yi, 12, e.e.c.length, 0, 1)), 47), s = 0, l = t.length; s < l; ++s) - i = t[s], Bn(i, n); - } - function TO(e) { - var t, n; - n = e.i, t = dn(new ot(n.a, n.b), e.j), this.d = Xt(n.b, t.b), this.a = je(n.b, t.b), this.b = Xt(n.a, t.a), this.c = je(n.a, t.a); - } - function ah(e, t, n, i) { - var s, l, h, v; - !i && (i = (Ml(), Ml(), wf)), s = (l = ZM(e, t, n), h = (v = new Array(n - t), ag(v, e)), Xy(e, t, h, 0, l, !0), h), eC(s, e, t, n, -t, i); - } - function Vn(e, t) { - var n, i, s; - for (s = e.c.length, t.length < s && (t = (i = new Array(s), ag(i, t))), n = 0; n < s; ++n) - Ga(t, n, e.c[n]); - return t.length > s && Ga(t, s, null), t; - } - function LO(e, t) { - var n, i, s; - for (s = e.a.length, t.length < s && (t = (i = new Array(s), ag(i, t))), n = 0; n < s; ++n) - Ga(t, n, e.a[n]); - return t.length > s && Ga(t, s, null), t; - } - function ha(e) { - return ko(e) ? e : Yf(e) ? vD((or(e), e)) : Ff(e) ? P9(Pt((or(e), e))) : Fm(e) ? e.w() : _m(e) ? wN(e) : e.toString ? e.toString() : "[JavaScriptObject]"; - } - function BK(e) { - var t, n, i, s, l; - for (l = 0, n = e.b, i = 0, s = n.length; i < s; ++i) - t = n[i], t.g == (et(), hn) || un(e.c, t, gt(l++)), qM(e, t, e.d, (we(), rt)), qM(e, t, e.j, ct); - } - function E0() { - E0 = c, nL = new Bv("SIMPLE", 0), JT = new Bv(I2, 1), eL = new Bv("LINEAR_SEGMENTS", 2), zk = new Bv("BRANDES_KOEPF", 3), tL = new Bv(T8, 4); - } - function $i() { - $i = c, pf = new Hv(Rd, 0), db = new Hv("FIRST", 1), gc = new Hv("FIRST_SEPARATE", 2), ev = new Hv("LAST", 3), Tu = new Hv("LAST_SEPARATE", 4); - } - function S0() { - S0 = c, mp = new K6(), lH = pi(new An(), (Pr(), up)), fH = bi(pi(new An(), vp), dp), uH = bi(Ca(pi(R1(new An(), cp), fp), Th), lp), cH = bi(Ca(new An(), Th), sp); - } - function zK(e) { - var t, n, i, s; - for (n = (s = new Wt(e.d.a).a.bb().mb(), new Zt(s)); n.a.G(); ) - t = (i = f(n.a.H(), 21), f(i.yb(), 12)), Le(t.c.e, t), Le(t.d.b, t); - } - function A3(e, t) { - var n, i; - if (v9(t > 0), (t & -t) == t) - return Xn(t * Xl(e, 31) * 4656612873077393e-25); - do - n = Xl(e, 31), i = n % t; - while (n - i + (t - 1) < 0); - return Xn(i); - } - function HK(e, t) { - if (e.c.f == t) - return e.d.f; - if (e.d.f == t) - return e.c.f; - throw new tn("Node " + t + " is neither source nor target of edge " + e); - } - function _K(e, t, n) { - return v9(e >= 0 && e <= 1114111), e >= jg ? (t[n++] = 55296 + (e - jg >> 10 & 1023) & Cs, t[n] = 56320 + (e - jg & 1023) & Cs, 2) : (t[n] = e & Cs, 1); - } - function GK(e, t) { - _n(); - for (var n, i; e.G(); ) - if (!t.G() || (n = e.H(), i = t.H(), !(He(n) === He(i) || n != null && xo(n, i)))) - return !1; - return !t.G(); - } - function $K(e) { - var t, n, i; - for (r1(e.b.a), e.a = ve(op, Me, 25, e.c.b.a.b.c.length, 0, 1), t = 0, i = new M(e.c.b.a.b); i.a < i.c.c.length; ) - n = f(O(i), 25), n.k = t++; - } - function YK(e) { - var t, n, i, s; - for (Ya(e.c, e.a), s = new M(e.c); s.a < s.c.c.length; ) - for (i = O(s), n = new M(e.b); n.a < n.c.c.length; ) - t = f(O(n), 160), t.Ec(i); - } - function bg(e) { - var t, n; - if (!e.a) - for (e.a = Ic(f(e.e, 9).c.c.length), n = new M(f(e.e, 9).c); n.a < n.c.c.length; ) - t = f(O(n), 33), Le(e.a, new Iw(t)); - return e.a; - } - function pg(e) { - var t, n; - if (!e.b) - for (e.b = Ic(f(e.e, 7).c.c.length), n = new M(f(e.e, 7).c); n.a < n.c.c.length; ) - t = f(O(n), 33), Le(e.b, new Iw(t)); - return e.b; - } - function PO(e) { - this.b = e, this.c = (On(), new $t()), this.i = new $t(), this.d = new $t(), this.j = new $t(), this.k = He(z(Ti(e[0]), (Ee(), of))) === He((fu(), af)), BK(this); - } - function Ld(e) { - switch (e.e) { - case 1: - return 4.71238898038469; - default: - case 2: - return 0; - case 3: - return 1.5707963267948966; - case 4: - return 3.141592653589793; - } - } - function R3(e) { - _n(); - var t; - if (t = yW(e), !xt(e)) - throw new Ho("position (0) must be less than the number of elements that remained (" + t + ")"); - return Et(e); - } - function B3(e, t) { - var n, i; - n = e.ub(t); - try { - return i = n.H(), n.I(), i; - } catch (s) { - throw s = Ur(s), xe(s, 74) ? new Ho("Can't remove element " + t) : Kr(s); - } - } - function Ky(e, t) { - var n, i, s, l; - for (l = e.Y(), t.length < l && (t = (s = new Array(l), ag(s, t))), i = e.mb(), n = 0; n < l; ++n) - Ga(t, n, i.H()); - return t.length > l && Ga(t, l, null), t; - } - function oh(e, t, n) { - if (n && (t < 0 || t > n.a.c.length)) - throw new tn("index must be >= 0 and <= layer node count"); - e.d && Cr(e.d.a, e), e.d = n, n && Ac(n.a, t, e); - } - function z3(e, t, n, i, s, l, h, v) { - var p, m; - i && (p = i.a[0], p && z3(e, t, n, p, s, l, h, v), XK(e, n, i.d, s, l, h, v) && t.ib(i), m = i.a[1], m && z3(e, t, n, m, s, l, h, v)); - } - function H3(e, t, n) { - if (e < 0) - throw new Ho(XR + e + " < 0"); - if (t > n) - throw new Ho("toIndex: " + t + " > size " + n); - if (e > t) - throw new tn(XR + e + " > toIndex: " + t); - } - function Zy(e, t) { - var n, i, s; - return n = t.yb(), s = t.zb(), i = e.cb(n), !(!(He(s) === He(i) || s != null && xo(s, i)) || i == null && !e.R(n)); - } - function FK(e, t, n) { - var i; - i = t.c.f, i.g == (et(), hn) ? (ce(e, (le(), Mi), f(z(i, Mi), 7)), ce(e, Si, f(z(i, Si), 7))) : (ce(e, (le(), Mi), t.c), ce(e, Si, n.d)); - } - function qK(e, t, n) { - var i; - i = t.c.f, i.g == (et(), hn) ? (ce(e, (le(), Mi), f(z(i, Mi), 7)), ce(e, Si, f(z(i, Si), 7))) : (ce(e, (le(), Mi), t.c), ce(e, Si, n.d)); - } - function _3(e, t, n) { - var i, s, l, h, v; - for (GW(e), s = (e.i == null && (e.i = ve(Uee, Dr, 46, 0, 0, 1)), e.i), l = 0, h = s.length; l < h; ++l) - i = s[l], _3(i); - v = e.e, v && _3(v); - } - function DO(e, t) { - var n = new Array(t), i; - switch (e) { - case 11: - case 12: - i = 0; - break; - case 13: - i = !1; - break; - default: - return n; - } - for (var s = 0; s < t; ++s) - n[s] = i; - return n; - } - function VK(e) { - var t, n, i, s; - for (s = ve(kr, Dr, 51, e.a.length, 0, 2), n = 0; n < s.length; n++) - i = e.a[n].length, t = ve(kr, Ni, 9, i, 0, 1), nJ(e.a[n], 0, t, 0, i), s[n] = t; - return s; - } - function Xu(e) { - var t, n; - if (!e.b) - for (e.b = Ic(f(e.e, 9).f.c.length), n = new M(f(e.e, 9).f); n.a < n.c.c.length; ) - t = f(O(n), 7), Le(e.b, new ND(t, e.c)); - return e.b; - } - function WK(e, t) { - On(), vt(e); - try { - return ko(t) ? oN(e, t) : c2(e.d, t); - } catch (n) { - if (n = Ur(n), xe(n, 119)) - return null; - if (xe(n, 76)) - return null; - throw Kr(n); - } - } - function UK(e) { - var t; - return t = (GI(), QH), t[e >>> 28] | t[e >> 24 & 15] << 4 | t[e >> 20 & 15] << 8 | t[e >> 16 & 15] << 12 | t[e >> 12 & 15] << 16 | t[e >> 8 & 15] << 20 | t[e >> 4 & 15] << 24 | t[e & 15] << 28; - } - function KK(e, t, n) { - var i, s; - return t.c == (sr(), ri) && n.c == Ai ? -1 : t.c == Ai && n.c == ri ? 1 : (i = XM(t.a, e.a), s = XM(n.a, e.a), t.c == ri ? s - i : i - s); - } - function ZK(e) { - var t, n, i, s, l; - for (s = yr, l = null, i = new M(e.d); i.a < i.c.c.length; ) - n = f(O(i), 89), n.c.j ^ n.d.j && (t = n.d.e - n.c.e - n.a, t < s && (s = t, l = n)); - return l; - } - function XK(e, t, n, i, s, l, h) { - var v, p; - return !(t.Xc() && (p = e.a.$b(n, i), p < 0 || !s && p == 0) || t.Yc() && (v = e.a.$b(n, l), v > 0 || !h && v == 0)); - } - function jO(e) { - Ea(); - var t, n; - if (!e.G()) - return Kf(), Gd; - if (n = e.H(), !e.G()) - return new Bu(n); - t = new _i(), vn(t, vt(n)); - do - vn(t, vt(e.H())); - while (e.G()); - return S3(t); - } - function QK(e, t, n) { - e.e = t, e.a = n, e.d = xy(e, (we(), Be)), e.d += xy(e, qe), Sg(e, t, n, Be, e.f), Sg(e, t, n, qe, e.n), e.b = xy(e, Be), e.b += xy(e, qe), Sg(e, n, t, Be, e.f), Sg(e, n, t, qe, e.n); - } - function Wc(e) { - var t, n, i; - for (n = (mn(), e.length), i = 0; i < n && e.charCodeAt(i) <= 32; ) - ++i; - for (t = n; t > i && e.charCodeAt(t - 1) <= 32; ) - --t; - return i > 0 || t < n ? e.substr(i, t - i) : e; - } - function Xy(e, t, n, i, s, l) { - var h, v, p; - for (He(e) === He(n) && (e = e.slice(t, t + s), t = 0), v = t, p = t + s; v < p; ) - h = v + 1e4 < p ? v + 1e4 : p, s = h - v, uW(n, i, l ? s : 0, e.slice(v, h)), v = h, i += s; - } - function JK(e) { - var t, n, i; - return NO(e, (o0(), Cx)) < 0 ? -KF((t = ~e.l + 1 & Va, n = ~e.m + (t == 0 ? 1 : 0) & Va, i = ~e.h + (t == 0 && n == 0 ? 1 : 0) & ec, Gu(t, n, i))) : e.l + e.m * Jl + e.h * tc; - } - function eZ(e, t) { - var n; - switch (n = e.f, t.e) { - case 1: - return -(e.i.b + e.j.b); - case 2: - return e.i.a - n.j.a; - case 3: - return e.i.b - n.j.b; - case 4: - return -(e.i.a + e.j.a); - } - return 0; - } - function zn() { - zn = c, ac = new cd(ef, 0), jo = new cd("FREE", 1), Xg = new cd("FIXED_SIDE", 2), yh = new cd("FIXED_ORDER", 3), es = new cd("FIXED_RATIO", 4), ni = new cd("FIXED_POS", 5); - } - function tZ(e, t) { - var n, i, s, l; - for (n = f(z(t, (le(), bf)), 18), l = f(Pa(St, n), 18), s = l.mb(); s.G(); ) - if (i = f(s.H(), 18), !f(Pa(e.a, i), 20).V()) - return !1; - return !0; - } - function G3(e, t, n) { - this.b = new Im(), this.i = new Se(), this.d = new AP(this), this.g = e, this.a = t.c.length, this.c = t, this.e = f(_e(this.c, this.c.c.length - 1), 9), this.f = n, QQ(this); - } - function C0() { - C0 = c, kp = new zv("ALWAYS_UP", 0), Uk = new zv("ALWAYS_DOWN", 1), Zk = new zv("DIRECTION_UP", 2), Kk = new zv("DIRECTION_DOWN", 3), Xk = new zv("SMART", 4); - } - function NO(e, t) { - var n, i, s, l, h, v, p, m; - return p = e.h >> 19, m = t.h >> 19, p != m ? m - p : (s = e.h, v = t.h, s != v ? s - v : (i = e.m, h = t.m, i != h ? i - h : (n = e.l, l = t.l, n - l))); - } - function IO(e) { - var t, n, i, s; - for (n = (s = new Wt(e.p.a).a.bb().mb(), new Zt(s)); n.a.G(); ) - if (t = (i = f(n.a.H(), 21), f(i.yb(), 89)), t.e && e.b[t.b] < 0) - return t; - return null; - } - function wg(e, t) { - var n, i, s, l, h; - i = Xt(e.d, t.d), l = Xt(e.e, t.e), s = je(e.d + e.c, t.d + t.c), h = je(e.e + e.b, t.e + t.b), s < i && (n = i, i = s, s = n), h < l && (n = l, l = h, h = n), dj(e, i, l, s - i, h - l); - } - function x0(e, t) { - var n; - if (T2 in e.a) { - if (n = Mn(e, T2), !n.kc()) - throw new gs("The 'properties' property of a graph element must be an object.", n, e); - VO(n.kc(), t, !0); - } - } - function nZ(e, t) { - var n, i, s; - if (i = e.b.j.e, e.a || (i += e.b.j.b), s = t.b.j.e, t.a || (s += t.b.j.b), n = mr(i, s), n == 0) { - if (!e.a && t.a) - return -1; - if (!t.a && e.a) - return 1; - } - return n; - } - function $3(e) { - var t, n; - switch (f(z(Ti(e), (zt(), yE)), 174).e) { - case 0: - return t = e.i, n = e.j, new ot(t.a + n.a / 2, t.b + n.b / 2); - case 1: - return new qn(e.i); - default: - return null; - } - } - function Yn() { - fa(), HS.call(this), this.g = (we(), cr), this.a = new Yr(), this.d = new Lw(), this.c = (fi(2, nl), new ji(2)), this.b = (fi(4, nl), new ji(4)), this.e = (fi(4, nl), new ji(4)); - } - function rZ(e, t, n) { - e.d = 0, e.b = 0, MX(e, t, n), t.g == (et(), er) && n.g == hn ? vy(t).g == (we(), rt) ? e.d = 1 : e.b = 1 : n.g == er && t.g == hn && (vy(n).g == (we(), rt) ? e.b = 1 : e.d = 1), bK(e, t, n); - } - function iZ(e, t) { - var n, i; - for (i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 9), e.a[n.d.k][n.k].a = lU(e.e), e.a[n.d.k][n.k].d = ge(e.a[n.d.k][n.k].a), e.a[n.d.k][n.k].b = 1; - } - function aZ(e, t, n) { - var i, s, l; - for (l = new M(t); l.a < l.c.c.length; ) - i = f(O(l), 9), e.a[i.d.k][i.k].e = !1; - for (s = new M(t); s.a < s.c.c.length; ) - i = f(O(s), 9), AC(e, i, n); - } - function oZ(e, t) { - var n, i, s, l; - for (n = 0, i = 0, l = new M(t.b); l.a < l.c.c.length; ) - s = f(O(l), 33), n = je(n, s.j.a), i += s.j.b; - ce(t, (le(), FH), new ot(n, i)), e.k < n && (e.k = n), e.j += i; - } - function MO(e, t) { - this.c = (On(), new $t()), this.a = e, this.b = t, this.d = f(z(e, (le(), ml)), 134), He(z(e, (zt(), vE))) === He((og(), _k)) ? this.e = new N7() : this.e = new j7(); - } - function Qy(e, t) { - var n, i, s, l; - for (s = 0, i = 0; i < t.length; i++) - n = t[i], i < t.length - 1 && (l = t[i + 1], s += WU(e, n, l)), s += (e.d = new PO(n), FZ(e.d)), s += (e.a = new L3(n), cV(e.a)); - return s; - } - function Y3(e) { - switch (e.c.e) { - case 1: - return fa(), mk; - case 2: - return fa(), wk; - case 3: - return fa(), yk; - case 4: - return fa(), kk; - } - throw new jf("Can't filter on undefined side"); - } - function T0(e, t) { - var n; - try { - return n = e.c.a, !Wv(e.b, t) || !n ? 0 : c3(n, e.d, t); - } catch (i) { - if (i = Ur(i), xe(i, 119)) - return 0; - if (xe(i, 76)) - return 0; - throw Kr(i); - } - } - function sZ(e) { - var t, n, i, s, l; - for (i = new Ul(new iu(e.b).a); i.b; ) - n = Sd(i), t = f(n.yb(), 9), l = f(f(n.zb(), 27).a, 9), s = f(f(n.zb(), 27).b, 10), dn(Rs(t.i), dn(_a(l.i), s)); - } - function uZ(e, t, n) { - var i, s, l; - if (i = mr(e.a[t.k], e.a[n.k]), i == 0) { - if (s = f(z(t, (le(), Dh)), 20), l = f(z(n, Dh), 20), s.kb(n)) - return -1; - if (l.kb(t)) - return 1; - } - return i; - } - function cZ(e, t) { - var n, i; - switch (i = dn(_a(e.i), e.a), n = e.f.j, t.e) { - case 1: - return -i.b; - case 2: - return -i.a + n.a; - case 3: - return -i.b + n.b; - case 4: - return -i.a; - default: - return 0; - } - } - function OO(e, t) { - var n, i, s, l; - for (s = 0; s < t.length; s++) - for (s + 1 < t.length && G4(e, t[s + 1], (sr(), Ai)), l = t[s], n = 0, i = 0; i < l.length; i++) - Fee(e, l[i]), n += e.Hc(l[i], n, (sr(), ri)); - } - function F3() { - F3 = c, IH = Ca(Ca($u(new An(), (Pr(), AT)), OT), RT), PH = bi(Ca(pi(R1(new An(), cp), fp), Th), lp), jH = pi(new An(), up), NH = bi(pi(new An(), vp), dp), DH = bi(Ca(new An(), Th), sp); - } - function lZ(e, t, n, i) { - $7(); - var s = z2; - function l() { - for (var h = 0; h < s.length; h++) - s[h](); - } - if (e) - try { - Ap(l)(); - } catch (h) { - e(t, h); - } - else - Ap(l)(); - } - function L0(e) { - if (vx == null && (vx = /^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/), !bF(vx, e)) - throw new i1(k2 + e + '"'); - return parseFloat(e); - } - function mg() { - mg = c, Jk = new dd(Rd, 0), oL = new dd("LEFTUP", 1), uL = new dd("RIGHTUP", 2), aL = new dd("LEFTDOWN", 3), sL = new dd("RIGHTDOWN", 4), Qk = new dd("BALANCED", 5); - } - function Pd() { - Pd = c, Vk = new hd("V_TOP", 0), qk = new hd("V_CENTER", 1), Fk = new hd("V_BOTTOM", 2), $k = new hd("H_LEFT", 3), Gk = new hd("H_CENTER", 4), Yk = new hd("H_RIGHT", 5); - } - function P0() { - P0 = c, Z2 = new ud(Rd, 0), Dx = new ud("DIRECTED", 1), Nx = new ud("UNDIRECTED", 2), Lx = new ud("ASSOCIATION", 3), jx = new ud("GENERALIZATION", 4), Px = new ud("DEPENDENCY", 5); - } - function et() { - et = c, Hn = new ld("NORMAL", 0), hn = new ld("LONG_EDGE", 1), Cn = new ld("EXTERNAL_PORT", 2), er = new ld("NORTH_SOUTH_PORT", 3), Ka = new ld("LABEL", 4), Ii = new ld("BIG_NODE", 5); - } - function AO(e, t, n, i, s, l, h) { - var v, p, m, S, x; - if (S = s[l], m = l == h - 1, v = m ? i : 0, x = DO(v, S), i != 9 && re(ie(e, h - l), t[l], n[l], v, x), !m) - for (++l, p = 0; p < S; ++p) - x[p] = AO(e, t, n, i, s, l, h); - return x; - } - function yg(e) { - var t, n, i; - for (t = new Se(), i = new M(e.f); i.a < i.c.c.length; ) - n = f(O(i), 7), Le(t, ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [n.b, n.e])))))); - return vt(t), new Gf(t); - } - function q3(e, t, n) { - if (this.a = n, e >= t.length) - throw new Ho("Greedy SwitchDecider: Free layer layer not in graph."); - this.b = t[e], this.c = new nj(this.b), this.d = new oM(this.b); - } - function RO(e, t) { - var n; - if (this.f = e, this.b = this.f.c, n = e.d, fy(t, n), t >= (n / 2 | 0)) - for (this.e = e.e, this.d = n; t++ < n; ) - AN(this); - else - for (this.c = e.a; t-- > 0; ) - ON(this); - this.a = null; - } - function Uc(e) { - var t, n, i; - for (n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 25), i = t.j.d, t.j.d = t.j.e, t.j.e = i, i = t.j.c, t.j.c = t.j.b, t.j.b = i, i = t.g.a, t.g.a = t.g.b, t.g.b = i; - A0(e); - } - function fZ(e, t) { - var n, i, s; - for (i = new fn(e.b, 0); i.b < i.d.Y(); ) - n = (ut(i.b < i.d.Y()), f(i.d.sb(i.c = i.b++), 33)), s = f(z(n, (Ee(), da)), 107), s == (ys(), sl) && (So(i), Le(t.b, n)); - } - function hZ(e, t, n) { - var i, s, l, h; - for (h = Di(e.f, t, 0), l = new $5(), l.b = n, i = new fn(e.f, h); i.b < i.d.Y(); ) - s = (ut(i.b < i.d.Y()), f(i.d.sb(i.c = i.b++), 9)), s.k = n, Le(l.f, s), So(i); - return l; - } - function dZ(e, t) { - Df(); - var n, i, s; - if (t.V()) - return !1; - if (xe(t, 207)) - for (s = f(t, 207), i = s.bb().mb(); i.G(); ) - n = f(i.H(), 83), e.Bb(n.Zb(), n.Yb()); - else - Ey(e, t.mb()); - return !0; - } - function sh() { - sh = c, tb = new l1("DEFAULT_MINIMUM_SIZE", 0), fk = new l1("MINIMUM_SIZE_ACCOUNTS_FOR_INSETS", 1), lk = new l1("COMPUTE_INSETS", 2), ck = new l1("APPLY_ADDITIONAL_INSETS", 3); - } - function BO(e) { - var t, n, i, s; - for (n = e.a.b + 2, s = ve(_t, Ht, 10, n, 0, 1), s[0] = _a(Pi(e.c)), i = Jt(e.a, 0); i.b != i.d.c; ) - t = f(Ft(i), 10), s[i.a] = new ot(t.a, t.b); - return s[n - 1] = _a(Pi(e.d)), s; - } - function V3(e, t, n) { - var i, s, l; - for (s = e.bb().mb(); s.G(); ) - if (i = f(s.H(), 21), l = i.yb(), He(t) === He(l) || t != null && xo(t, l)) - return n && (i = new p1(i.yb(), i.zb()), s.I()), i; - return null; - } - function vZ(e, t, n) { - var i, s; - return i = e.a[t.d.k][t.k], s = e.a[n.d.k][n.k], i.a != null && s.a != null ? $j(i.a, s.a) : i.a != null ? -1 : s.a != null ? 1 : 0; - } - function gZ(e, t, n) { - var i, s, l; - return s = t.c, l = t.d, i = n, vn(e.a, t) ? (cO(e, s) && (i = !0), cO(e, l) && (i = !0), i && (Cr(t.c.e, t), Cr(t.d.b, t), vn(e.d, t)), oZ(e, t), !0) : !1; - } - function Zl(e, t, n) { - var i, s; - return s = KM(e, t), s == e.c ? qS(e, N3(e, t)) : n ? (QO(e, t, e.c - s), qS(e, N3(e, t))) : (i = new uO(e), QO(i, t, e.c - s), qS(i, N3(i, t))); - } - function bZ() { - function e() { - try { - return (/* @__PURE__ */ new Map()).entries().next().done; - } catch { - return !1; - } - } - return typeof Map === UR && Map.prototype.entries && e() ? Map : bee(); - } - function Pa(e, t) { - var n; - return n = f(Kt(e.b, t), 19), !n && (n = e.Z()), xe(n, 137) ? new $S(e, t, f(n, 137)) : xe(n, 18) ? new GS(e, t, f(n, 18)) : xe(n, 20) ? R4(e, t, f(n, 20), null) : new ig(e, t, n, null); - } - function vu(e) { - switch (hs(e.e) - hs(e.g)) { - case -2: - return c9(e.g) > 0 && (e.g = FO(e.g)), YO(e); - case 2: - return c9(e.e) < 0 && (e.e = YO(e.e)), FO(e); - default: - return e.d = 1 + Jr(hs(e.e), hs(e.g)), e; - } - } - function zO(e, t) { - this.f = (On(), new $t()), this.b = new $t(), this.j = new $t(), this.a = e, this.c = t, this.c > 0 && lA(this, this.c - 1, (we(), Be)), this.c < this.a.length - 1 && lA(this, this.c + 1, (we(), qe)); - } - function pZ(e) { - var t; - e.c == null && (t = He(e.b) === He(U0) ? null : e.b, e.d = t == null ? $s : Bj(t) ? YF(iN(t)) : ko(t) ? "String" : a1(kd(t)), e.a = e.a + ": " + (Bj(t) ? tq(iN(t)) : t + ""), e.c = "(" + e.d + ") " + e.a); - } - function wZ(e) { - var t, n, i, s; - for (n = new M(e.a.c); n.a < n.c.c.length; ) - for (t = f(O(n), 9), s = Jt(ca(t.c), 0); s.b != s.d.c; ) - i = f(Ft(s), 33), z(i, (le(), lt)) == null && Cr(t.c, i); - return null; - } - function Kc(e, t) { - var n, i, s, l, h; - for (h = new Se(), i = f(Zf(vl, e), 20).mb(); i.G(); ) - n = f(i.H(), 75), Tn(h, n.b); - for (D0(h), my(h, e.a), l = new M(h); l.a < l.c.c.length; ) - s = f(O(l), 7), su(t, s); - } - function mZ(e) { - for (var t, n, i, s; e.o.a.c.length != 0; ) - n = f(xM(e.o), 27), i = f(n.a, 61), t = f(n.b, 89), s = _y(t, i), t.d == i ? (Yu(s.g, t), i.e = s.e + t.a) : (Yu(s.c, t), i.e = s.e - t.a), Le(e.e.a, i); - } - function HO(e, t, n) { - var i, s, l; - return fi(n, "count"), Wv(e.b, t) ? (l = e.c.a, l ? (s = ve(Kn, Wn, 26, 1, 12, 1), i = kC(l, e.d, t, n, s), _1(e.c, l, i), s[0]) : (n > 0 && N0(e, t, n), 0)) : (_f(n == 0), 0); - } - function _O(e, t) { - var n, i, s, l, h; - for (s = f(z(t, (le(), Oi)), 15).a * f(z(t, (zt(), Qs)), 15).a, h = e[0].i.a + e[0].j.a, l = 1; l < e.length; l++) - n = e[l].i, i = e[l].j, n.a <= h + s && (n.a = h + s), h = n.a + i.a; - } - function W3() { - W3 = c; - var e, t, n, i; - for (YL = ve(Zi, mi, 26, 25, 12, 1), FL = ve(Zi, mi, 26, 33, 12, 1), i = 152587890625e-16, t = 32; t >= 0; t--) - FL[t] = i, i *= 0.5; - for (n = 1, e = 24; e >= 0; e--) - YL[e] = n, n *= 0.5; - } - function GO(e) { - for (; e.g.c != 0 && e.d.c != 0; ) - Pm(e.g).c > Pm(e.d).c ? (e.i += e.g.c, Fy(e.d)) : Pm(e.d).c > Pm(e.g).c ? (e.e += e.d.c, Fy(e.g)) : (e.i += xj(e.g), e.e += xj(e.d), Fy(e.g), Fy(e.d)); - } - function yZ(e) { - if (!e) - throw new _w("An element is null. The origin of an edge could not be determined, this might be due to an inconsistency within the internal element mappings."); - } - function kZ(e, t) { - var n, i; - return so(e.i), so(e.a), so(e.k), so(e.j), so(e.b), so(e.n), so(e.f), so(e.e), e.d && (i = Mn(e.d, Ux.b), i && i.ic() && (e.c = i.ic().a)), n = BR(e, t, null), sR(e, t), n; - } - function EZ(e) { - var t, n, i, s, l, h; - for (i = iR(b2(e)), t = Zo, l = 0, s = 0; t > 0.5 && l < 50; ) - s = zA(i), n = Zl(i, s, !0), t = ei(n.b), ++l; - return h = Ot(Td(ca(e.g), ca(e.g).b - 1)), Zl(e, (or(h), h - s), !1); - } - function SZ(e) { - var t, n, i, s, l, h; - for (i = iR(b2(e)), t = Zo, l = 0, s = 0; t > 0.5 && l < 50; ) - s = BA(i), n = Zl(i, s, !0), t = ei(n.a), ++l; - return h = Ot(Td(ca(e.g), ca(e.g).b - 1)), Zl(e, (or(h), h - s), !1); - } - function Qu(e) { - var t, n, i, s; - for (s = new id("["), t = !1, i = e.mb(); i.G(); ) - n = i.H(), t ? s.a += ", " : t = !0, io(s, n === e ? "(this Collection)" : (mn(), n == null ? $s : ha(n))); - return s.a += "]", s.a; - } - function $O(e) { - var t, n, i, s; - for (s = new id("{"), t = !1, i = e.bb().mb(); i.G(); ) - n = f(i.H(), 21), t ? s.a += ", " : t = !0, io(s, zN(e, n.yb())), s.a += "=", io(s, zN(e, n.zb())); - return s.a += "}", s.a; - } - function YO(e) { - var t; - return w1(!!e.g), t = e.g, e.g = t.e, t.e = e, t.j = e.j, t.a = e.a, e.a = 1 + zw(e.e) + zw(e.g), e.j = Tr(Tr(e.c, Hw(e.e)), Hw(e.g)), e.d = 1 + Jr(hs(e.e), hs(e.g)), t.d = 1 + Jr(hs(t.e), hs(t.g)), t; - } - function FO(e) { - var t; - return w1(!!e.e), t = e.e, e.e = t.g, t.g = e, t.j = e.j, t.a = e.a, e.a = 1 + zw(e.e) + zw(e.g), e.j = Tr(Tr(e.c, Hw(e.e)), Hw(e.g)), e.d = 1 + Jr(hs(e.e), hs(e.g)), t.d = 1 + Jr(hs(t.e), hs(t.g)), t; - } - function CZ(e) { - var t; - Nc(new M(Xu(e.e))) && (t = f(nr(e.e, (Ee(), dt)), 28), t == (zn(), ni) ? KX(e.e) : t == es ? qJ(e.e) : Pt(ge(jt(nr(e.e, qg)))) || e.e.e.j.a == 0 && e.e.e.j.b == 0 ? HX(e.e) : zJ(e)); - } - function U3(e, t, n) { - var i, s, l; - if (s = new M(e), s.a < s.c.c.length) { - for (l = f(O(s), 33), i = yR(l, t, n); s.a < s.c.c.length; ) - l = f(O(s), 33), n3(i, yR(l, t, n)); - return new rg(i); - } else - return null; - } - function xZ(e, t) { - var n, i, s, l, h, v; - for (s = 0, i = new M(t.c); i.a < i.c.c.length; ) - for (n = f(O(i), 16), h = new M(n.a); h.a < h.c.c.length; ) - l = f(O(h), 9), v = l.j.a + l.e.c + l.e.b + e.b, s = s > v ? s : v; - return s; - } - function TZ(e, t) { - md(); - var n; - if (e.c == t.c) { - if (e.b == t.b || qW(e.b, t.b)) { - if (n = CF(e.b) ? 1 : -1, e.a && !t.a) - return n; - if (!e.a && t.a) - return -n; - } - return b9(e.b.e, t.b.e); - } else - return mr(e.c, t.c); - } - function qO(e) { - var t, n; - switch (n = _a(ln(re(ie(_t, 1), Ht, 10, 0, [e.f.i, e.i, e.a]))), t = e.f.e, e.g.e) { - case 1: - n.b -= t.d; - break; - case 2: - n.a += t.c; - break; - case 3: - n.b += t.a; - break; - case 4: - n.a -= t.b; - } - return n; - } - function LZ(e, t) { - var n; - return n = 0, t.g == (et(), er) ? ($4(t).f != e.a && (qD(e, $4(t).f), e.e = !0), e.e ? ++e.g : n += e.f) : t.g == hn ? e.e ? n += e.g : ++e.f : t.g == Hn && (qD(e, t), e.e = !1), n; - } - function PZ(e, t, n, i, s) { - var l, h, v, p; - for (p = null, v = new M(i); v.a < v.c.c.length; ) - if (h = f(O(v), 187), h != n && Di(h.e, s, 0) != -1) { - p = h; - break; - } - l = ly(s), Bn(l, n.b), kn(l, p.b), pt(e.a, s, new N1(l, t, n.f)); - } - function DZ(e) { - switch (f(z(e, (zt(), Er)), 85).e) { - case 1: - ce(e, Er, ($i(), ev)); - break; - case 2: - ce(e, Er, ($i(), Tu)); - break; - case 3: - ce(e, Er, ($i(), db)); - break; - case 4: - ce(e, Er, ($i(), gc)); - } - } - function VO(e, t, n) { - var i, s, l, h; - if (e) - for (s = (l = JI(e, ve(_2, Dr, 2, 0, 5, 1)), new Pf(new ro(new TD(e, l).b))); s.b < s.d.Y(); ) - i = (ut(s.b < s.d.Y()), qf(s.d.sb(s.c = s.b++))), h = Mn(e, i), Wee(t, i, h, n); - } - function jZ(e, t, n) { - var i, s, l, h, v, p; - for (s = 1; s < e; ) - s *= 2; - for (p = 2 * s - 1, s -= 1, v = ve(Kn, Wn, 26, p, 12, 1), i = 0, h = 0; h < t; h++) - for (l = n[h] + s, ++v[l]; l > 0; ) - l % 2 > 0 && (i += v[l + 1]), l = (l - 1) / 2 | 0, ++v[l]; - return i; - } - function Dd(e, t, n) { - var i, s, l, h; - if (e.e = t, n) - for (s = (h = new Wt(e.a.a).a.bb().mb(), new Zt(h)); s.a.G(); ) - i = (l = f(s.a.H(), 21), f(l.yb(), 12)), ce(i, (le(), hb), e.e), Bt(i.c, t.a), Bt(i.d, t.b); - } - function jd() { - jd = c, sb = new fd(Rd, 0), qT = new fd(Od, 1), UT = new fd(Ad, 2), WT = new fd("LEFT_RIGHT_CONSTRAINT_LOCKING", 3), VT = new fd("LEFT_RIGHT_CONNECTION_LOCKING", 4), FT = new fd("EDGE_LENGTH", 5); - } - function K3(e, t, n, i) { - var s; - this.b = i, this.e = e.a, s = t[n], this.d = Gm(pb, [Dr, Bg], [227, 26], 13, [s.length, s.length], 2), this.a = Gm(Kn, [Dr, Wn], [52, 26], 12, [s.length, s.length], 2), this.c = new zO(t, n); - } - function NZ(e, t, n, i) { - var s, l; - for (l = t, s = l.d == null || e.a.$b(n.d, l.d) > 0 ? 1 : 0; l.a[s] != n; ) - l = l.a[s], s = e.a.$b(n.d, l.d) > 0 ? 1 : 0; - l.a[s] = i, i.b = n.b, i.a[0] = n.a[0], i.a[1] = n.a[1], n.a[0] = null, n.a[1] = null; - } - function IZ(e, t, n) { - var i, s, l, h; - if (Nt(n, b8, 1), OR(e.d, t), h = TJ(e.a, t), h.Y() == 1) - LC(f(h.sb(0), 55), n); - else - for (l = 1 / h.Y(), s = h.mb(); s.G(); ) - i = f(s.H(), 55), LC(i, Vl(n, l)); - WY(e.a, h, t), dR(t), Ct(n); - } - function WO(e, t, n) { - var i, s, l, h, v; - for (v = new Oc(t, n), h = Qc(v); h.G(); ) - for (l = f(h.H(), 7), s = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [l.b, l.e])))))); xt(s); ) - i = f(Et(s), 12), Fc(i) || zZ(e, t, l, i); - } - function UO(e, t) { - var n, i, s; - for (s = Jn(e, t), i = s.mb(); i.G(); ) - if (n = f(i.H(), 7), z(n, (le(), js)) != null || xt(Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [n.b, n.e])))))))) - return !0; - return !1; - } - function Jy(e) { - var t, n; - if (eg(e)) - throw new tn(j8); - for (n = Jt(e, 0); n.b != n.d.c; ) - t = f(Ft(n), 10), this.d = Xt(this.d, t.b), this.c = je(this.c, t.a), this.a = je(this.a, t.b), this.b = Xt(this.b, t.a); - } - function MZ(e, t, n) { - if (t < 0 || n < 0) - throw new tn("The highx must be bigger then lowx and the highy must be bigger then lowy"); - return e.a < 0 ? e.a = 0 : e.a > t && (e.a = t), e.b < 0 ? e.b = 0 : e.b > n && (e.b = n), e; - } - function Jn(e, t) { - switch (t.e) { - case 1: - return Eo(e.f, (fa(), mk)); - case 2: - return Eo(e.f, (fa(), wk)); - case 3: - return Eo(e.f, (fa(), yk)); - case 4: - return Eo(e.f, (fa(), kk)); - default: - return Qt(), Qt(), bc; - } - } - function OZ(e) { - var t, n, i, s; - for (s = (_n(), new _o(Go(vs(e.a, new T())))); xt(s); ) - for (i = f(Et(s), 9), i.g == (et(), Ka) && ce(i, (le(), lo), (Gi(), Us)), n = Dt(En(i)); xt(n); ) - t = f(Et(n), 12), l2(t, (Gi(), Us)); - } - function AZ(e) { - var t, n, i, s; - for (s = (_n(), new _o(Go(vs(e.a, new T())))); xt(s); ) - for (i = f(Et(s), 9), i.g == (et(), Ka) && ce(i, (le(), lo), (Gi(), ns)), n = Dt(En(i)); xt(n); ) - t = f(Et(n), 12), l2(t, (Gi(), ns)); - } - function e2(e, t) { - switch (this.b = new $r(), e) { - case 0: - this.d = new e7(this); - break; - case 1: - this.d = new QP(this); - break; - case 2: - this.d = new JP(this); - break; - default: - throw new ed(); - } - this.c = t, this.a = 0.2 * t; - } - function KO(e) { - var t, n, i, s; - if (!e.b) - for (e.b = new Se(), n = new M(e.a.c); n.a < n.c.c.length; ) - for (t = f(O(n), 16), s = new M(t.a); s.a < s.c.c.length; ) - i = f(O(s), 9), Le(e.b, new jD(i, e.c)); - return e.b; - } - function RZ(e, t) { - var n, i, s; - n = uq(t, e.e), i = f(Kt(e.g.f, n), 24).a, s = e.a.c.length - 1, e.a.c.length != 0 && f(_e(e.a, s), 128).c == i ? (++f(_e(e.a, s), 128).a, ++f(_e(e.a, s), 128).b) : Le(e.a, new _9(i)); - } - function Z3(e) { - mn(); - var t, n; - return e >= jg ? (t = 55296 + (e - jg >> 10 & 1023) & Cs, n = 56320 + (e - jg & 1023) & Cs, String.fromCharCode(t) + ("" + String.fromCharCode(n))) : String.fromCharCode(e & Cs); - } - function BZ(e, t, n, i) { - var s, l, h; - switch (s = Ti(n), l = By(s), h = new Yn(), cn(h, n), i.e) { - case 1: - Bt(h, Oy(g0(l))); - break; - case 2: - Bt(h, g0(l)); - } - return ce(h, (le(), Qd), f(z(t, Qd), 15)), ce(t, lt, h), un(e.b, h, t), h; - } - function zZ(e, t, n, i) { - var s; - Le(e.c, new E4(e, n, i, f(Kt(e.k, n), 24).a)), Xm(i) && (t == e.e ? i.d.f != e.a && i.c.f != e.a : i.d.f != e.e && i.c.f != e.e) && (s = n == i.c ? i.d : i.c, Le(e.c, new E4(e, s, i, f(Kt(e.k, s), 24).a))); - } - function ZO(e, t) { - var n, i, s; - if (t === e) - return !0; - if (!xe(t, 57) || (s = f(t, 57), e.Y() != s.Y())) - return !1; - for (i = s.bb().mb(); i.G(); ) - if (n = f(i.H(), 21), !e._(n)) - return !1; - return !0; - } - function XO(e, t) { - var n, i, s; - return i = new qa(e), hu(i, t), ce(i, (le(), Tp), t), ce(i, (Ee(), dt), (zn(), ni)), ce(i, co, (Ko(), ep)), Ha(i, (et(), Cn)), n = new Yn(), cn(n, i), Bt(n, (we(), qe)), s = new Yn(), cn(s, i), Bt(s, Be), i; - } - function X3(e, t) { - var n, i, s; - for (s = yr, i = new M(Kl(t)); i.a < i.c.c.length; ) - n = f(O(i), 89), n.e && !e.c[n.b] && (e.c[n.b] = !0, s = Au(s, X3(e, _y(n, t)))); - return e.i[t.b] = e.j, e.g[t.b] = Au(s, e.j++), e.g[t.b]; - } - function QO(e, t, n) { - var i, s, l, h; - if (h = e.g.tb(), e.e) - for (s = 0; s < e.c; s++) - h.H(); - else - for (s = 0; s < e.c - 1; s++) - h.H(); - for (l = e.b.tb(), i = ge(Ot(h.H())); i - t < al; ) - i = ge(Ot(h.H())), l.H(); - h.M(), UA(e, n, t, l, h); - } - function JO(e, t) { - var n, i, s, l; - for (i = 0, s = e.length; i < s; i++) { - l = e[i]; - try { - l[1] ? l[0].bd() && (t = Eq(t, l)) : l[0].bd(); - } catch (h) { - if (h = Ur(h), xe(h, 46)) - n = h, Oq(xe(n, 164) ? f(n, 164).cc() : n); - else - throw Kr(h); - } - } - return t; - } - function HZ(e) { - var t, n, i; - if (i = e.c.a, !i) - return null; - if (e.b.b) { - if (t = e.b.e, n = k3(e.c.a, e.d, t), !n) - return null; - e.b.d == (yo(), Wa) && e.d.$b(t, n.b) == 0 && (n = n.i); - } else - n = e.a.i; - return n == e.a || !Wv(e.b, n.b) ? null : n; - } - function _Z(e, t) { - var n, i, s, l, h, v; - for (l = 0, i = new M(t.c); i.a < i.c.c.length; ) { - for (n = f(O(i), 16), s = 0, v = new M(n.a); v.a < v.c.c.length; ) - h = f(O(v), 9), s += h.j.b + h.e.a + h.e.d + e.a; - s -= e.a, l = l > s ? l : s; - } - return l; - } - function GZ(e) { - var t, n, i, s, l; - for (l = yr, s = yr, i = new M(Kl(e)); i.a < i.c.c.length; ) - n = f(O(i), 89), t = n.d.e - n.c.e, n.d == e && t < s ? s = t : t < l && (l = t); - return s == yr && (s = -1), l == yr && (l = -1), new pr(gt(s), gt(l)); - } - function eA(e, t, n) { - var i, s, l, h, v; - for (t.k = -1, v = ks(t, (sr(), ri)).mb(); v.G(); ) - for (h = f(v.H(), 7), s = new M(h.e); s.a < s.c.c.length; ) - i = f(O(s), 12), l = i.d.f, t != l && (l.k < 0 ? n.ib(i) : l.k > 0 && eA(e, l, n)); - t.k = 0; - } - function tA(e, t) { - if (0 > t) - throw new tn("Top must be smaller or equal to bottom."); - if (0 > e) - throw new tn("Left must be smaller or equal to right."); - this.d = 0, this.c = e, this.a = t, this.b = 0; - } - function t2(e) { - var t, n, i; - if (e.length == 0) - throw new tn(j8); - for (n = 0, i = e.length; n < i; ++n) - t = e[n], this.d = Xt(this.d, t.b), this.c = je(this.c, t.a), this.a = je(this.a, t.b), this.b = Xt(this.b, t.a); - } - function $Z() { - return Pr(), re(ie(dz, 1), De, 37, 0, [TT, vT, zT, hT, xk, AT, Tk, jT, Sk, cp, DT, PT, hp, bT, Ek, Dk, Nk, fp, ST, up, MT, jk, vp, gT, NT, OT, IT, Lk, yT, Th, Ck, ET, RT, LT, pT, Vd, CT, ib, fT, kT, wT, Pk, dp, lp, mT, Ik, xT, dT, BT, sp]); - } - function YZ(e, t) { - var n, i, s, l, h, v, p, m, S; - for (S = 0, i = 0, s = t.length; i < s; ++i) - for (n = t[i], h = 0, v = n.length; h < v; ++h) - for (l = n[h], m = new M(l.f); m.a < m.c.c.length; ) - p = f(O(m), 7), p.k = S++; - e.a = ve(Kn, Wn, 26, S, 12, 1); - } - function nA(e) { - _n(); - var t, n, i; - if (t = e.H(), !e.G()) - return t; - for (i = new ad(), i.a += "expected one element but was: <" + t, n = 0; n < 4 && e.G(); n++) - io(i, ", " + e.H()); - throw e.G() && (i.a += ", ..."), i.a += ">", new tn(i.a); - } - function FZ(e) { - var t, n, i, s, l; - for (t = 0, i = e.b, s = 0, l = i.length; s < l; ++s) - n = i[s], t += LZ(e, n), gi(f(z(n, (Ee(), dt)), 28)) && (Jn(n, (we(), rt)).mb().G() && (t += eR(e, n, rt)), Jn(n, ct).mb().G() && (t += eR(e, n, ct))); - return t; - } - function n2(e, t, n, i) { - var s, l, h, v, p; - if (i.d.c + i.e.c == 0) - for (h = e.a[e.c], v = 0, p = h.length; v < p; ++v) - l = h[v], un(i, l, new tM(e, l, n)); - return s = f(ci(li(i.d, t)), 284), s.b = 0, s.c = s.f, s.c == 0 || i7(f(_e(s.a, s.b), 128)), s; - } - function D0(e) { - var t; - Qt(); - var n, i, s, l, h, v; - if (xe(e, 63)) - for (l = 0, s = e.Y() - 1; l < s; ++l, --s) - t = e.sb(l), e.wb(l, e.sb(s)), e.wb(s, t); - else - for (n = e.tb(), h = e.ub(e.Y()); n.L() < h.N(); ) - i = n.H(), v = h.M(), n.O(v), h.O(i); - } - function qZ(e, t, n) { - return e < 0 || e > n ? J3(e, n, "start index") : t < 0 || t > n ? J3(t, n, "end index") : Tg("end index (%s) must not be less than start index (%s)", re(ie(Ze, 1), Me, 1, 4, [gt(t), gt(e)])); - } - function Q3(e) { - if (!("id" in e.a)) - throw new qv("Every graph element must specify an 'id' property.", e); - if (!Mn(e, "id").lc()) - throw new qv("Invalid format for 'id'. Must be a string, was " + Mn(e, "id").$c, e); - } - function Zc(e, t) { - var n, i, s, l, h, v, p; - for (p = e.b, i = f(Zf(vl, e), 20).mb(); i.G(); ) - for (n = f(i.H(), 75), v = (l = new Wt(n.c.a).a.bb().mb(), new Zt(l)); v.a.G(); ) - h = (s = f(v.a.H(), 21), f(s.yb(), 7)), su(t, h), I0(h, p); - } - function VZ(e, t) { - var n, i, s; - for (s = new M(t.e); s.a < s.c.c.length; ) - if (n = f(O(s), 12), n.d.f != e.f) - return !0; - for (i = new M(t.b); i.a < i.c.c.length; ) - if (n = f(O(i), 12), n.c.f != e.f) - return !0; - return !1; - } - function r2(e) { - var t, n, i, s; - for (q1(e.c), q1(e.b), q1(e.a), s = (n = new Wt(e.e).a.bb().mb(), new Zt(n)); s.a.G(); ) - i = (t = f(s.a.H(), 21), f(t.yb(), 60)), i.c != 2 && (hi(e.a, i), i.c == 0 && hi(e.c, i)), hi(e.b, i); - e.d = !1; - } - function rA(e, t) { - var n; - if (e === t) - return !0; - if (xe(t, 18)) { - n = f(t, 18); - try { - return e.Y() == n.Y() && e.lb(n); - } catch (i) { - if (i = Ur(i), xe(i, 76)) - return !1; - if (xe(i, 119)) - return !1; - throw Kr(i); - } - } - return !1; - } - function ra(e, t, n) { - var i, s, l, h; - if (h = t == null ? 0 : e.b.Vc(t), s = (i = oS(e.a, h), i ?? []), s.length == 0) - nF(e.a, h, s); - else if (l = DM(e, t, s), l) - return l.Ab(n); - return Ga(s, s.length, new p1(t, n)), ++e.c, Mm(e.b), null; - } - function J3(e, t, n) { - if (e < 0) - return Tg(QR, re(ie(Ze, 1), Me, 1, 4, [n, gt(e)])); - if (t < 0) - throw new tn(JR + t); - return Tg("%s (%s) must not be greater than size (%s)", re(ie(Ze, 1), Me, 1, 4, [n, gt(e), gt(t)])); - } - function WZ(e, t) { - if (e < 0) - return Tg(QR, re(ie(Ze, 1), Me, 1, 4, ["index", gt(e)])); - if (t < 0) - throw new tn(JR + t); - return Tg("%s (%s) must be less than size (%s)", re(ie(Ze, 1), Me, 1, 4, ["index", gt(e), gt(t)])); - } - function iA(e) { - var t, n, i, s; - for (s = ve(kr, Dr, 51, e.c.c.length, 0, 2), i = new fn(e.c, 0); i.b < i.d.Y(); ) - t = (ut(i.b < i.d.Y()), f(i.d.sb(i.c = i.b++), 16)), n = i.b - 1, s[n] = f(Vn(t.a, ve(kr, Ni, 9, t.a.c.length, 0, 1)), 51); - return s; - } - function Nd(e, t, n, i, s) { - switch (this.c = s, this.d = t, this.a = n, s.e) { - case 4: - this.b = ei(e.b); - break; - case 1: - this.b = ei(e.d); - break; - case 2: - this.b = ei(e.c - i.j.a); - break; - case 3: - this.b = ei(e.a - i.j.b); - break; - default: - this.b = 0; - } - } - function aA(e, t, n, i, s) { - var l, h, v, p, m; - if (t) - for (v = t.mb(); v.G(); ) - for (h = f(v.H(), 9), m = vC(h, (sr(), ri), n).mb(); m.G(); ) - p = f(m.H(), 7), l = f(ci(li(s.d, p)), 80), l || (l = new uM(e), i.c[i.c.length] = l, FA(l, p, s)); - } - function UZ(e, t) { - var n, i, s; - if (n = e.c, n.a.Y() > 1) - throw new tn("In straight hyperEdges there may be only one edge."); - rn((s = new Wt(n.a).a.bb().mb(), i = f(new Zt(s).a.H(), 21), f(i.yb(), 12)).a, new ot(t, e.b)); - } - function oA(e, t, n) { - var i, s; - if (this.f = e, i = f(Kt(e.b, t), 126), s = i ? i.a : 0, fy(n, s), n >= (s / 2 | 0)) - for (this.e = i ? i.c : null, this.d = s; n++ < s; ) - TN(this); - else - for (this.c = i ? i.b : null; n-- > 0; ) - sy(this); - this.b = t, this.a = null; - } - function kg(e, t) { - (typeof document !== Og || a.exports) && Ap(e(t)), typeof document === Og && typeof self !== Og && self.postMessage(t); - } - function i2(e, t) { - var n, i, s, l; - "x" in e.a && (s = f(Mn(e, "x"), 104), t.i.a = s.a), "y" in e.a && (l = f(Mn(e, "y"), 104), t.i.b = l.a), P2 in e.a && (i = f(Mn(e, P2), 104), t.j.a = i.a), D2 in e.a && (n = f(Mn(e, D2), 104), t.j.b = n.a); - } - function sA(e, t, n) { - var i, s; - fI(this), t == (_c(), Ks) ? vn(this.g, e.c) : vn(this.o, e.c), n == Ks ? vn(this.g, e.d) : vn(this.o, e.d), vn(this.c, e), i = Pi(e.c).b, s = Pi(e.d).b, vO(this, i, s, s), this.f = Hq(Pi(e.c).b, Pi(e.d).b); - } - function KZ(e) { - var t, n, i, s, l, h; - for (h = new Oc(e.d, e.e), l = Qc(h); l.G(); ) - for (s = f(l.H(), 7), i = e.e == (we(), qe) ? s.b : s.e, n = new M(i); n.a < n.c.c.length; ) - t = f(O(n), 12), !Fc(t) && t.c.f.d != t.d.f.d && (RZ(e, t), ++e.f, ++e.c); - } - function Eg(e, t, n) { - var i, s, l, h, v; - for (h = (Qt(), new jl(f(_e(t.a, n), 18))), v = new ji(h.b.Y()), s = new Qh(h.b.mb()); s.b.G(); ) - i = f(s.b.H(), 37), l = f(Kt(e.a, i), 31), l || (l = Hee(i), un(e.a, i, l)), v.c[v.c.length] = l; - return v; - } - function ZZ(e, t) { - var n, i, s, l; - for (i = new fn(e.f.c, 0); i.b < i.d.Y(); ) - for (n = (ut(i.b < i.d.Y()), f(i.d.sb(i.c = i.b++), 16)), l = t[i.b - 1], s = new fn(n.a, 0); s.b < s.d.Y(); ) - ut(s.b < s.d.Y()), s.d.sb(s.c = s.b++), KS(s, l[s.b - 1]); - } - function uA(e) { - var t, n; - if (ds(f(z(e, (Ee(), dt)), 28))) - for (n = new M(e.f); n.a < n.c.c.length; ) - t = f(O(n), 7), t.g == (we(), cr) && TM(t); - else { - for (n = new M(e.f); n.a < n.c.c.length; ) - t = f(O(n), 7), TM(t); - ce(e, dt, (zn(), Xg)); - } - } - function eC(e, t, n, i, s, l) { - var h, v, p, m; - if (h = i - n, h < 7) { - aK(t, n, i, l); - return; - } - if (p = n + s, v = i + s, m = p + (v - p >> 1), eC(t, e, p, m, -s, l), eC(t, e, m, v, -s, l), l.$b(e[m - 1], e[m]) <= 0) { - for (; n < i; ) - Ga(t, n++, e[p++]); - return; - } - _U(e, p, m, v, t, n, i, l); - } - function cA(e) { - if (!e) - return C7(), K8; - var t = e.valueOf ? e.valueOf() : e; - if (t !== e) { - var n = q2[typeof t]; - return n ? n(t) : E3(typeof t); - } else - return e instanceof Array || e instanceof r.Array ? new jP(e) : new Nw(e); - } - function a2(e, t, n) { - var i, s; - return i = n.c, s = n.d, e.g[i.b] <= e.i[t.b] && e.i[t.b] <= e.i[i.b] && e.g[s.b] <= e.i[t.b] && e.i[t.b] <= e.i[s.b] ? !(e.i[i.b] < e.i[s.b]) : e.i[i.b] < e.i[s.b]; - } - function lA(e, t, n) { - var i, s, l, h, v, p, m, S; - for (m = 0, s = e.a[t], l = 0, h = s.length; l < h; ++l) { - for (i = s[l], S = new Oc(i, n), p = Qc(S); p.G(); ) - v = f(p.H(), 7), un(e.f, v, gt(m)), gi(f(z(i, (Ee(), dt)), 28)) && ++m; - gi(f(z(i, (Ee(), dt)), 28)) || ++m; - } - } - function XZ(e, t, n) { - var i, s; - if (vt(t), n.G()) - for (s = f(n.H(), 21), jc(t, C1(e.a, s.yb())), jc(t, e.b), jc(t, C1(e.a, s.zb())); n.G(); ) - jc(t, e.a.c), i = f(n.H(), 21), jc(t, C1(e.a, i.yb())), jc(t, e.b), jc(t, C1(e.a, i.zb())); - return t; - } - function o2(e, t) { - var n, i; - return n = f(Bl(e.b, t), 19), n ? (i = e.Z(), i.jb(n), e.c -= n.Y(), n.Q(), xe(i, 137) ? (Qt(), new zS(f(i, 137))) : xe(i, 18) ? (Qt(), new jl(f(i, 18))) : xe(i, 20) ? P4(f(i, 20)) : (Qt(), new Cv(i))) : e.$(); - } - function fA(e, t) { - var n; - t.d ? t.d.b = t.b : e.a = t.b, t.b ? t.b.d = t.d : e.e = t.d, !t.e && !t.c ? (n = f(Bl(e.b, t.a), 126), n.a = 0, ++e.c) : (n = f(Kt(e.b, t.a), 126), --n.a, t.e ? t.e.c = t.c : n.b = t.c, t.c ? t.c.e = t.e : n.c = t.e), --e.d; - } - function tC(e, t, n) { - switch (n.e) { - case 1: - return new ot(t.a, Xt(e.d.b, t.b)); - case 2: - return new ot(je(e.c.a, t.a), t.b); - case 3: - return new ot(t.a, je(e.c.b, t.b)); - case 4: - return new ot(Xt(t.a, e.d.a), t.b); - } - return new ot(t.a, t.b); - } - function QZ(e) { - var t, n, i, s; - for (t = 0, i = (mn(), e.length), s = i - 4, n = 0; n < s; ) - t = e.charCodeAt(n + 3) + 31 * (e.charCodeAt(n + 2) + 31 * (e.charCodeAt(n + 1) + 31 * (e.charCodeAt(n) + 31 * t))), t = t | 0, n += 4; - for (; n < i; ) - t = t * 31 + hj(e, n++); - return t = t | 0, t; - } - function hA(e, t) { - var n, i, s; - for (this.a = e, this.c = t, this.b = ve(Yz, Dr, 673, e.length, 0, 2), n = 0; n < e.length; ++n) - for (s = e[n].length, this.b[n] = ve(Yz, { 673: 1, 3: 1, 5: 1, 6: 1 }, 102, s, 0, 1), i = 0; i < s; ++i) - this.b[n][i] = new sN(this, e[n][i].c); - } - function j0(e, t, n, i, s, l, h) { - var v; - this.a = f(vt(e), 56), this.b = t, this.c = s, this.e = n, this.d = f(vt(i), 159), this.g = l, this.f = f(vt(h), 159), t && e.$b(n, n), s && e.$b(l, l), t && s && (v = e.$b(n, l), MU(v <= 0, n, l), v == 0 && _f(i != (yo(), Wa) | h != Wa)); - } - function dA(e) { - if (this.a = e, e.c.f.g == (et(), Cn)) - this.c = e.c, this.d = f(z(e.c.f, (le(), _r)), 32); - else if (e.d.f.g == Cn) - this.c = e.d, this.d = f(z(e.d.f, (le(), _r)), 32); - else - throw new tn("Edge " + e + " is not an external edge."); - } - function vA() { - vA = c, iH = Ca(new An(), (Pr(), yT)), rL = pi(new An(), up), oH = bi(pi(new An(), vp), dp), rH = bi(Ca(pi(new An(), bT), pT), wT), sH = pi(new An(), MT), aH = bi(new An(), kT), tH = bi(Ca(pi(R1(new An(), cp), fp), Th), lp), nH = bi(Ca(new An(), Th), sp); - } - function N0(e, t, n) { - var i, s, l, h; - return fi(n, XC), n == 0 ? T0(e, t) : (_f(Wv(e.b, t)), h = e.c.a, h ? (l = ve(Kn, Wn, 26, 1, 12, 1), i = wC(h, e.d, t, n, l), _1(e.c, h, i), l[0]) : (e.d.$b(t, t), s = new l0(t, n), YS(e.a, s, e.a), _1(e.c, null, s), 0)); - } - function gA(e, t, n) { - var i, s, l, h, v, p; - for (i = 0, p = n, t || (i = n * (e.c.length - 1), p *= -1), l = new M(e); l.a < l.c.c.length; ) { - for (s = f(O(l), 9), ce(s, (Ee(), co), (Ko(), ep)), s.j.a = i, v = Jn(s, (we(), Be)).mb(); v.G(); ) - h = f(v.H(), 7), h.i.a = i; - i += p; - } - } - function pt(e, t, n) { - var i; - if (i = f(Kt(e.b, t), 19), i) - return i.ib(n) ? (++e.c, !0) : !1; - if (i = e.Z(), i.ib(n)) - return ++e.c, un(e.b, t, i), !0; - throw new py("New Collection violated the Collection spec"); - } - function s2(e, t, n) { - var i, s, l; - for (NX(e, t, n), l = new Se(), s = new M(e.b.a.b); s.a < s.c.c.length; ) - i = f(O(s), 25), t.D(i) && (Le(l, new fS(i, !0)), Le(l, new fS(i, !1))); - $K(e.d), ng(l, e.c, new ro(re(ie(rb, 1), Me, 160, 0, [e.d]))), LX(e, t, n); - } - function bA(e, t) { - var n, i, s, l, h; - for (e.c[t.k] = !0, Le(e.a, t), h = new M(t.f); h.a < h.c.c.length; ) - for (l = f(O(h), 7), i = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [l.b, l.e])))))); xt(i); ) - n = f(Et(i), 12), s = hK(l, n).f, e.c[s.k] || bA(e, s); - } - function nC(e, t, n, i) { - var s, l, h; - if ("labels" in t.a) { - if (h = Mn(t, "labels"), !h.hc()) - throw new gs("The 'labels' property of a node must be an array.", h, t); - for (l = h.hc(), s = 0; s < l.a.length; ++s) - xe(Fu(l, s), 69) && EJ(e, f(Fu(l, s), 69), n, i); - } - } - function pA(e, t, n) { - var i, s, l, h, v, p; - l = f(_e(t.b, 0), 12).c, i = l.f, s = i.g, p = f(_e(n.e, 0), 12).d, h = p.f, v = h.g, s == (et(), hn) ? ce(e, (le(), Mi), f(z(i, Mi), 7)) : ce(e, (le(), Mi), l), v == hn ? ce(e, (le(), Si), f(z(h, Si), 7)) : ce(e, (le(), Si), p); - } - function gu() { - gu = c, qi = new Dc("H_LEFT", 0), Ua = new Dc("H_CENTER", 1), Wi = new Dc("H_RIGHT", 2), ba = new Dc("V_TOP", 3), ga = new Dc("V_CENTER", 4), va = new Dc("V_BOTTOM", 5), Ei = new Dc("INSIDE", 6), Ui = new Dc("OUTSIDE", 7), Vi = new Dc("H_PRIORITY", 8); - } - function rC(e) { - Ym(); - var t, n, i; - for (this.b = nz, this.c = iz, this.d = ($n(), Po), this.g = (x7(), tz), this.a = e, $w(this, new F()), A0(this), i = new M(e.b); i.a < i.c.c.length; ) - n = f(O(i), 25), n.f || (t = new m0(re(ie(op, 1), Me, 25, 0, [n])), Le(e.a, t)); - } - function iC(e, t) { - var n, i, s, l; - for (s = 1, t.j = !0, i = new M(Kl(t)); i.a < i.c.c.length; ) - n = f(O(i), 89), e.c[n.b] || (e.c[n.b] = !0, l = _y(n, t), n.e ? s += iC(e, l) : !l.j && n.a == n.d.e - n.c.e && (n.e = !0, vn(e.p, n), s += iC(e, l))); - return s; - } - function u2(e) { - var t, n, i, s, l, h, v, p; - for (s = ki, i = Hr, n = new M(e.e.c); n.a < n.c.c.length; ) - for (t = f(O(n), 16), h = new M(t.a); h.a < h.c.c.length; ) - l = f(O(h), 9), p = ge(e.n[l.k]), v = p + ge(e.b[e.f[l.k].k]), s = s < p ? s : p, i = i > v ? i : v; - return i - s; - } - function wA(e) { - var t; - return t = new Dl(), Ta(t, "type", new Rc((Al(XB), XB.n))), Ta(t, x2, new Rc(e.f)), e.b && Ta(t, "value", e.b), e.a && Ta(t, "context", e.a), Ta(t, d8, new Rc(MS(new n1(` -`), new Pf(new ro((e.g == null && (e.g = a4(e)), e.g)))))), t; - } - function JZ(e, t) { - return e.c < t.c ? -1 : e.c > t.c ? 1 : e.b < t.b ? -1 : e.b > t.b ? 1 : e.a != t.a ? e.a.b - t.a.b : e.d == 0 && t.d == 1 ? -1 : e.d == 1 && t.d == 0 ? 1 : 0; - } - function mA(e, t) { - var n, i, s, l, h; - if (t === e) - return !0; - if (!xe(t, 20) || (h = f(t, 20), e.Y() != h.Y())) - return !1; - for (l = h.mb(), i = e.mb(); i.G(); ) - if (n = i.H(), s = l.H(), !(He(n) === He(s) || n != null && xo(n, s))) - return !1; - return !0; - } - function yA(e) { - !F2 && (F2 = Lee()); - var t = e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g, function(n) { - return SV(n); - }); - return '"' + t + '"'; - } - function kA(e, t) { - var n, i, s, l, h, v, p; - for (s = t == 1 ? bk : gk, i = (h = new Wt(s.a).a.bb().mb(), new Zt(h)); i.a.G(); ) - for (n = (l = f(i.a.H(), 21), f(l.yb(), 59)), p = f(Pa(e.f.c, n), 18).mb(); p.G(); ) - v = f(p.H(), 27), Cr(e.b.b, v.b), Cr(e.b.a, f(v.b, 25).f); - } - function EA(e, t, n) { - var i, s, l, h; - if (Nt(n, "Recursive layout", 2), t.b.c.length != 0) { - for (h = 1 / t.b.c.length, l = new M(t.b); l.a < l.c.c.length; ) - s = f(O(l), 9), i = f(z(s, (le(), pl)), 55), i && (EA(e, i, Vl(n, h)), _Q(s, i)); - OR(e.d, t), LC(t, n); - } - dR(t), Ct(n); - } - function aC(e, t) { - z4.call(this), this.d = new $r(), this.b = f(z(t, (le(), Oi)), 15).a * f(z(t, (zt(), Qs)), 15).a, this.e = this.b * f(z(t, tv), 15).a, this.a = new Ci(), this.c = new Ci(), this.j = new $a(e.j, e.k, 0, e.n - e.k), this.o = e.g, this.g.a = e.i, ER(this, e); - } - function c2(e, t) { - var n, i, s, l, h; - for (l = t == null ? 0 : e.b.Vc(t), i = (n = oS(e.a, l), n ?? []), h = 0; h < i.length; h++) - if (s = i[h], e.b.Uc(t, s.yb())) - return i.length == 1 ? (i.length = 0, e.a[A2](l)) : i.splice(h, 1), --e.c, Mm(e.b), s.zb(); - return null; - } - function eX(e, t, n) { - var i; - i = null, t && (i = t.e), xd(e, new zf(t.i.a - i.b + n.a, t.i.b - i.d + n.b)), xd(e, new zf(t.i.a - i.b + n.a, t.i.b + t.j.b + i.a + n.b)), xd(e, new zf(t.i.a + t.j.a + i.c + n.a, t.i.b - i.d + n.b)), xd(e, new zf(t.i.a + t.j.a + i.c + n.a, t.i.b + t.j.b + i.a + n.b)); - } - function I0(e, t) { - switch (t.e) { - case 2: - Bt(e, (we(), Be)), e.a.a = e.j.a, e.a.b = e.j.b / 2; - break; - case 4: - Bt(e, (we(), qe)), e.a.a = 0, e.a.b = e.j.b / 2; - break; - case 1: - Bt(e, (we(), rt)), e.a.a = e.j.a / 2, e.a.b = 0; - break; - case 3: - Bt(e, (we(), ct)), e.a.a = e.j.a / 2, e.a.b = e.j.b; - } - } - function tX(e, t) { - Df(); - var n, i, s; - if (t === e) - return !0; - if (xe(t, 207)) { - if (s = f(t, 207), e.Y() != s.Y() || Uf(e).Y() != s.bb().Y()) - return !1; - for (i = s.bb().mb(); i.G(); ) - if (n = f(i.H(), 83), e.Cb(n.Zb()) != n.Yb()) - return !1; - return !0; - } - return !1; - } - function Xl(e, t) { - var n, i, s, l, h, v; - return l = e.a * R2 + e.b * 1502, v = e.b * R2 + 11, n = Math.floor(v * M2), l += n, v -= n * fx, l %= fx, e.a = l, e.b = v, t <= 24 ? xS(e.a * YL[t]) : (s = e.a * (1 << t - 24), h = xS(e.b * FL[t]), i = s + h, i >= 2147483648 && (i -= 4294967296), i); - } - function oC(e, t, n) { - var i, s, l; - if (t != n) { - i = t; - do - dn(e, i.d), l = f(z(i, (le(), wl)), 9), l && (s = i.a, ua(e, s.b, s.d), dn(e, l.i), i = Ti(l)); - while (l); - i = n; - do - ou(e, i.d), l = f(z(i, (le(), wl)), 9), l && (s = i.a, WF(e, s.b, s.d), ou(e, l.i), i = Ti(l)); - while (l); - } - } - function nX(e, t) { - var n, i, s, l, h, v; - for (n = new Se(), v = new wS(), s = (h = new Wt(e.a).a.bb().mb(), new Zt(h)); s.a.G(); ) - i = (l = f(s.a.H(), 21), f(l.yb(), 12)), v2(v, i.c, i, null), v2(v, i.d, i, null); - for (; v.a; ) - Le(n, RQ(v, t, gi(f(z(t, (Ee(), dt)), 28)))); - return n; - } - function rX(e, t) { - var n, i, s, l, h; - for (l = new M(e.e.a); l.a < l.c.c.length; ) - if (s = f(O(l), 61), s.c.c.length == s.g.c.length) { - for (i = s.e, h = GZ(s), n = s.e - f(h.a, 24).a + 1; n < s.e + f(h.b, 24).a; n++) - t[n] < t[i] && (i = n); - t[i] < t[s.e] && (--t[s.e], ++t[i], s.e = i); - } - } - function SA(e, t) { - var n, i, s, l, h, v, p; - for (s = t == 1 ? bk : gk, i = (h = new Wt(s.a).a.bb().mb(), new Zt(h)); i.a.G(); ) - for (n = (l = f(i.a.H(), 21), f(l.yb(), 59)), p = f(Pa(e.f.c, n), 18).mb(); p.G(); ) - v = f(p.H(), 27), Le(e.b.b, f(v.b, 25)), Le(e.b.a, f(v.b, 25).f); - } - function CA(e) { - Rm(); - var t, n, i, s, l, h, v; - for (n = (On(), new yd()), s = new M(e.e.c); s.a < s.c.c.length; ) - for (i = f(O(s), 16), h = new M(i.a); h.a < h.c.c.length; ) - l = f(O(h), 9), v = e.f[l.k], t = f(wy(n, v), 20), t || (t = new Se(), gg(n, v, t)), t.ib(l); - return n; - } - function iX(e, t) { - var n, i, s, l; - for (i = new M(e.a.a); i.a < i.c.c.length; ) - n = f(O(i), 78), n.i = !0; - for (l = new M(e.a.b); l.a < l.c.c.length; ) - s = f(O(l), 25), s.p = Pt(ge(jt(e.f.B(new pr(s, t))))), s.f.i = s.f.i & Pt(ge(jt(e.f.B(new pr(s, t))))); - return e; - } - function xA(e, t) { - var n, i, s, l; - for (s = ca(En(t)), i = Jt(s, 0); i.b != i.d.c; ) - return n = f(Ft(i), 12), l = n.d.f, l.g == (et(), Ii) && !(Pt(ge(jt(z(l, (le(), vc))))) && z(l, lt) != null) ? (Cr(l.d.a, l), cn(n.c, null), cn(n.d, null), xA(e, l)) : t; - return t; - } - function aX(e, t) { - var n, i, s, l, h, v, p; - if (!t.e) - throw new tn("The input edge is not a tree edge."); - for (l = null, s = yr, i = new M(e.d); i.a < i.c.c.length; ) - n = f(O(i), 89), v = n.c, p = n.d, a2(e, v, t) && !a2(e, p, t) && (h = p.e - v.e - n.a, h < s && (s = h, l = n)); - return l; - } - function TA(e, t) { - var n, i, s, l, h; - return l = t.a, l.c.f == t.b ? h = l.d : h = l.c, l.c.f == t.b ? i = l.c : i = l.d, s = dK(e.a, h, i), s > 0 && s < Zo ? (n = bX(e.a, i.f, s), zI(e.a, i.f, -n), n > 0) : s < 0 && -s < Zo ? (n = pX(e.a, i.f, -s), zI(e.a, i.f, n), n > 0) : !1; - } - function oX(e, t, n, i, s) { - var l, h; - QI(ln(re(ie(_t, 1), Ht, 10, 0, [s.f.i, s.i, s.a])), n) || (t.c == s ? T1(t.a, 0, new qn(n)) : rn(t.a, new qn(n)), i && !Pc(e.a, n) && (h = f(z(t, (Ee(), Un)), 44), h || (h = new Ci(), ce(t, Un, h)), l = new qn(n), wr(h, l, h.c.b, h.c), vn(e.a, l))); - } - function LA(e) { - var t, n, i, s, l, h, v; - for (t = 0, i = new M(e.a); i.a < i.c.c.length; ) - for (n = f(O(i), 9), l = Dt(En(n)); xt(l); ) - s = f(Et(l), 12), e == s.d.f.d && s.c.g == (we(), qe) && (h = Pi(s.c).b, v = Pi(s.d).b, t = t > (v - h <= 0 ? 0 - (v - h) : v - h) ? t : v - h <= 0 ? 0 - (v - h) : v - h); - return t; - } - function sX(e, t) { - var n, i, s; - if (He(t) === He(vt(e))) - return !0; - if (!xe(t, 20) || (i = f(t, 20), s = e.Y(), s != i.Y())) - return !1; - if (xe(i, 63)) { - for (n = 0; n < s; n++) - if (!Gl(e.sb(n), i.sb(n))) - return !1; - return !0; - } else - return GK(e.mb(), i.mb()); - } - function PA(e, t) { - var n, i, s, l, h, v, p, m; - if (s = e.b[t.k], s >= 0) - return s; - for (l = 1, v = new M(t.f); v.a < v.c.c.length; ) - for (h = f(O(v), 7), i = new M(h.e); i.a < i.c.c.length; ) - n = f(O(i), 12), m = n.d.f, t != m && (p = PA(e, m), l = l > p + 1 ? l : p + 1); - return rK(e, t, l), l; - } - function DA(e, t, n) { - var i, s, l, h, v, p; - if (i = 0, e.b != 0 && t.b != 0) { - l = Jt(e, 0), h = Jt(t, 0), v = ge(Ot(Ft(l))), p = ge(Ot(Ft(h))), s = !0; - do - v > p - n && v < p + n && ++i, v <= p && l.b != l.d.c ? v = ge(Ot(Ft(l))) : p <= v && h.b != h.d.c ? p = ge(Ot(Ft(h))) : s = !1; - while (s); - } - return i; - } - function uX(e, t) { - switch (Q4(e)) { - case 5: - return ko(t); - case 6: - return Yf(t); - case 7: - return Ff(t); - case 0: - return Uy(t, e.__elementTypeId$); - case 2: - return Km(t) && t.ad !== u; - case 1: - return Km(t) && t.ad !== u || Uy(t, e.__elementTypeId$); - default: - return !0; - } - } - function cX(e, t) { - var n, i, s, l, h; - return t &= 63, n = e.h, i = (n & 524288) != 0, i && (n |= -1048576), t < 22 ? (h = n >> t, l = e.m >> t | n << 22 - t, s = e.l >> t | e.m << 22 - t) : t < 44 ? (h = i ? ec : 0, l = n >> t - 22, s = e.m >> t - 22 | n << 44 - t) : (h = i ? ec : 0, l = i ? Va : 0, s = n >> t - 44), Gu(s & Va, l & Va, h & ec); - } - function jA(e, t) { - switch (e.e) { - case 1: - switch (t.e) { - case 1: - return 1; - case 4: - return 2; - case 3: - return 3; - case 2: - return 4; - } - break; - case 2: - switch (t.e) { - case 1: - return 1; - case 2: - return 2; - case 3: - return 3; - case 4: - return 4; - } - break; - default: - throw new tn(ux); - } - return 0; - } - function lX(e, t, n) { - var i, s, l, h, v, p; - i = new Se(), i.c[i.c.length] = t, p = t, v = 0; - do - p = hee(e, p), p && (i.c[i.c.length] = p), ++v; - while (p); - for (h = (n - (i.c.length - 1) * e.d.d) / i.c.length, l = new M(i); l.a < l.c.c.length; ) - s = f(O(l), 9), s.j.a = h; - return new pr(gt(v), h); - } - function fX(e, t, n) { - var i, s, l, h, v, p; - i = new Se(), i.c[i.c.length] = t, p = t, v = 0; - do - p = QJ(e, p), p && (i.c[i.c.length] = p), ++v; - while (p); - for (h = (n - (i.c.length - 1) * e.d.d) / i.c.length, l = new M(i); l.a < l.c.c.length; ) - s = f(O(l), 9), s.j.a = h; - return new pr(gt(v), h); - } - function hX(e) { - var t, n, i, s, l, h; - for (s = f(_e(e.f, 0), 7), h = 0, i = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [new Zh(s), new Lf(s)])))))); xt(i); ) - n = f(Et(i), 7), h += n.f.i.a + n.i.a + n.a.a; - t = f(z(e, (Ee(), wu)), 10), l = t ? t.a : 0, e.i.a = h / (s.b.c.length + s.e.c.length) - l; - } - function dX(e, t) { - var n, i, s, l; - if (t < 2 * e.c) - throw new tn("The knot vector must have at least two time the dimension elements."); - for (e.j = 0, e.i = 1, i = 0; i < e.c; i++) - e.g.ib(0); - for (l = t + 1 - 2 * e.c, s = 1; s < l; s++) - e.g.ib(s / l); - if (e.e) - for (n = 0; n < e.c; n++) - e.g.ib(1); - } - function sC(e) { - var t, n; - return n = e.c, e.c = 0, P7(e.f, e.i), e.e ? e.g ? e.e.d >= e.g.d ? (t = e.f, t.e = KI(e.e, t), t.g = e.g, t.a = e.a - 1, t.j = Ku(e.j, n), vu(t)) : (t = e.i, t.g = ZI(e.g, t), t.e = e.e, t.a = e.a - 1, t.j = Ku(e.j, n), vu(t)) : e.e : e.g; - } - function vX(e) { - var t, n, i, s, l, h; - for (s = new M(e.a); s.a < s.c.c.length; ) - i = f(O(s), 9), i.g == (et(), er) && (l = f(z(i, (le(), bl)), 9), n = i.f, t = (Sn(0, n.c.length), f(n.c[0], 7)), h = f(z(t, lt), 7), h.g == (we(), rt) && i.k > l.k ? Bt(h, ct) : h.g == ct && l.k > i.k && Bt(h, rt)); - } - function gX(e, t, n) { - var i, s, l, h, v, p, m; - for (m = e.b, h = 0, l = new M(e.a.b); l.a < l.c.c.length; ) - s = f(O(l), 33), h = je(h, s.j.a); - return p = cee(e.a.c, e.a.d, t, n, h), na(e.a.a, Yy(p)), v = U3(e.a.b, p.a, m), i = new rg((!p.k && (p.k = new Jy(Sy(p))), p.k)), x4(i), v ? m4(i, v) : i; - } - function bX(e, t, n) { - var i, s, l, h, v, p, m; - i = n, s = t; - do - s = e.a[s.k], h = (m = e.f[s.k], ge(e.n[m.k]) + ge(e.d[s.k]) - s.e.d), v = kW(s, s.d ? Di(s.d.a, s, 0) : -1), v && (l = (p = e.f[v.k], ge(e.n[p.k]) + ge(e.d[v.k]) + v.j.b + v.e.a), i = Xt(i, h - (l + Kv(e.j, s, v)))); - while (t != s); - return i; - } - function pX(e, t, n) { - var i, s, l, h, v, p, m; - i = n, s = t; - do - s = e.a[s.k], l = (m = e.f[s.k], ge(e.n[m.k]) + ge(e.d[s.k]) + s.j.b + s.e.a), v = XW(s, s.d ? Di(s.d.a, s, 0) : -1), v && (h = (p = e.f[v.k], ge(e.n[p.k]) + ge(e.d[v.k]) - v.e.d), i = Xt(i, h - (l + Kv(e.j, s, v)))); - while (t != s); - return i; - } - function uC(e, t, n) { - var i, s, l; - if (fi(n, XC), n == 0) - return T0(e, t); - l = e.c.a, s = ve(Kn, Wn, 26, 1, 12, 1); - try { - if (!Wv(e.b, t) || !l) - return 0; - i = EC(l, e.d, t, n, s); - } catch (h) { - if (h = Ur(h), xe(h, 119)) - return 0; - if (xe(h, 76)) - return 0; - throw Kr(h); - } - return _1(e.c, l, i), s[0]; - } - function wX(e, t) { - var n, i, s, l, h; - return e.b ? (i = f(nr(e.e, (Ee(), Yg)), 65), s = i.b + i.c, n = i.d + i.a) : (s = t * 2, n = t * 2), h = je(e.o[1] > 0 ? s + e.i[1] * t + e.n[1] : 0, e.o[3] > 0 ? s + e.i[3] * t + e.n[3] : 0), l = je(e.o[4] > 0 ? n + e.i[4] * t + e.n[4] : 0, e.o[2] > 0 ? n + e.i[2] * t + e.n[2] : 0), new ot(h, l); - } - function NA(e) { - var t, n, i, s, l, h; - for (h = f(Vn(e.a, ve(kr, Ni, 9, e.a.c.length, 0, 1)), 51), IS(h, new In()), n = null, s = 0, l = h.length; s < l && (i = h[s], i.g == (et(), Cn)); ++s) - t = f(z(i, (le(), _r)), 32), !(t != (we(), qe) && t != Be) && (n && f(z(n, Dh), 20).ib(i), n = i); - } - function Sg(e, t, n, i, s) { - var l, h, v, p; - for (p = new Oc(t, i), v = Qc(p); v.G(); ) - l = f(v.H(), 7), un(e.k, l, gt(f(Kt(e.k, l), 24).a + f(ci(li(s.d, n)), 24).a)); - for (p = new Oc(n, i), h = Qc(p); h.G(); ) - l = f(h.H(), 7), un(e.k, l, gt(f(Kt(e.k, l), 24).a - f(ci(li(s.d, t)), 24).a)); - } - function A(e, t, n) { - var i = W0, s, l = i[e], h = l instanceof Array ? l[0] : null; - l && !h ? w = l : (w = (s = t && t.prototype, !s && (s = W0[t]), EV(s)), w._c = n, w.constructor = w, !t && (w.ad = u), i[e] = w); - for (var v = 3; v < arguments.length; ++v) - arguments[v].prototype = w; - h && (w.$c = h); - } - function mX(e) { - if (e.Sc()) { - var t = e.c; - t.Tc() ? e.n = "[" + t.k : t.Sc() ? e.n = "[" + t.Qc() : e.n = "[L" + t.Qc() + ";", e.b = t.Pc() + "[]", e.j = t.Rc() + "[]"; - return; - } - var n = e.i, i = e.d; - i = i.split("/"), e.n = Vy(".", [n, Vy("$", i)]), e.b = Vy(".", [n, Vy(".", i)]), e.j = i[i.length - 1]; - } - function cC(e, t, n) { - var i; - if (!n) - return 0; - if (i = e.d.$b(e.b.g, n.b), i > 0) - return cC(e, t, n.g); - if (i == 0) - switch (e.b.f.e) { - case 0: - return Tr(t._b(n), t.ac(n.g)); - case 1: - return t.ac(n.g); - default: - throw new z5(); - } - else - return Tr(Tr(t.ac(n.g), t._b(n)), cC(e, t, n.e)); - } - function lC(e, t, n) { - var i; - if (!n) - return 0; - if (i = e.d.$b(e.b.e, n.b), i < 0) - return lC(e, t, n.e); - if (i == 0) - switch (e.b.d.e) { - case 0: - return Tr(t._b(n), t.ac(n.e)); - case 1: - return t.ac(n.e); - default: - throw new z5(); - } - else - return Tr(Tr(t.ac(n.e), t._b(n)), lC(e, t, n.g)); - } - function IA(e, t, n, i) { - var s, l, h, v; - return h = new qa(e), Ha(h, (et(), hn)), ce(h, (le(), lt), t), ce(h, (Ee(), dt), (zn(), ni)), ce(h, Mi, n), ce(h, Si, i), l = new Yn(), Bt(l, (we(), qe)), cn(l, h), v = new Yn(), Bt(v, Be), cn(v, h), kn(t, l), s = new bs(), hu(s, t), ce(s, Un, null), Bn(s, v), kn(s, i), h; - } - function MA(e, t) { - var n, i, s, l, h, v, p, m, S, x; - for (n = 0, h = e.j, v = 0, p = h.length; v < p; ++v) - for (l = h[v], x = new Oc(l, t), S = Qc(x); S.G(); ) - for (m = f(S.H(), 7), s = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [m.b, m.e])))))); xt(s); ) - i = f(Et(s), 12), Fc(i) || (n += HA(e, i, m)); - return n; - } - function yX(e, t) { - return e.c < t.c ? -1 : e.c > t.c ? 1 : e.b < t.b ? -1 : e.b > t.b ? 1 : e.a != t.a ? au(e.a) - au(t.a) : e.d == (e0(), cb) && t.d == ub ? -1 : e.d == ub && t.d == cb ? 1 : 0; - } - function kX(e) { - var t, n, i, s, l, h; - for (s = new Wr(), i = new M(e.d.a); i.a < i.c.c.length; ) - n = f(O(i), 61), n.c.c.length == 0 && wr(s, n, s.c.b, s.c); - if (s.b > 1) - for (t = Fv(iS(new Jh(), e.b++), e.d), h = Jt(s, 0); h.b != h.d.c; ) - l = f(Ft(h), 61), uh(Of(Rf(Bf(Af(new Pl(), 1), 0), t), l)); - } - function EX(e, t, n, i) { - var s, l, h, v, p, m; - for (m = 0, h = new M(e.a.b); h.a < h.c.c.length; ) - l = f(O(h), 33), m = je(m, l.j.a); - return p = $J(e.a.c, t, e.a.d, i, O3(e.b), n), na(e.a.a, Yy(p)), v = U3(e.a.b, p.a, e.b), s = new rg((!p.k && (p.k = new Jy(Sy(p))), p.k)), x4(s), v ? m4(s, v) : s; - } - function l2(e, t) { - var n, i, s, l, h; - for (i = new M(e.b); i.a < i.c.c.length; ) - n = f(O(i), 33), ce(n, (le(), lo), t); - for (h = new M(e.c.c); h.a < h.c.c.length; ) - s = f(O(h), 33), ce(s, (le(), lo), t); - for (l = new M(e.d.c); l.a < l.c.c.length; ) - s = f(O(l), 33), ce(s, (le(), lo), t); - } - function Xc() { - Xc = c, gp = new Il(Rd, 0), ab = new Il("NIKOLOV", 1), ob = new Il("NIKOLOV_PIXEL", 2), _T = new Il("NIKOLOV_IMPROVED", 3), GT = new Il("NIKOLOV_IMPROVED_PIXEL", 4), HT = new Il("DUMMYNODE_PERCENTAGE", 5), $T = new Il("NODECOUNT_PERCENTAGE", 6), bp = new Il("NO_BOUNDARY", 7); - } - function OA(e, t) { - var n, i, s, l, h; - if (l = 0, h = f(ci(li(t.d, e)), 24), !h) - return 0; - for (s = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [e.b, e.e])))))); xt(s); ) - i = f(Et(s), 12), i.c == e ? n = f(Kt(t, i.d), 24) : n = f(Kt(t, i.c), 24), n && h.a > n.a && (l = Jr(l, h.a - n.a - 1)); - return l; - } - function SX(e) { - var t, n; - switch (t = f(z(e, (Ee(), Yd)), 15).a, n = f(z(e, Fd), 15).a, ce(e, Fd, new Ut(t)), ce(e, Yd, new Ut(n)), f(z(e, co), 103).e) { - case 1: - ce(e, co, (Ko(), rp)); - break; - case 2: - ce(e, co, (Ko(), J0)); - break; - case 3: - ce(e, co, (Ko(), tp)); - break; - case 4: - ce(e, co, (Ko(), np)); - } - } - function CX(e) { - var t, n, i, s, l; - for (s = (_n(), new _o(Go(vs(e.a, new T())))); xt(s); ) - for (i = f(Et(s), 9), i.g == (et(), Ka) && (l = hO(i) ? (Gi(), Us) : (Gi(), ns), ce(i, (le(), lo), l)), n = Dt(En(i)); xt(n); ) - t = f(Et(n), 12), l = Pt(ge(jt(z(t, (le(), Xs))))) ? (Gi(), ns) : (Gi(), Us), l2(t, l); - } - function xX(e) { - var t, n, i, s, l; - for (s = (_n(), new _o(Go(vs(e.a, new T())))); xt(s); ) - for (i = f(Et(s), 9), i.g == (et(), Ka) && (l = hO(i) ? (Gi(), ns) : (Gi(), Us), ce(i, (le(), lo), l)), n = Dt(En(i)); xt(n); ) - t = f(Et(n), 12), l = Pt(ge(jt(z(t, (le(), Xs))))) ? (Gi(), Us) : (Gi(), ns), l2(t, l); - } - function fC(e, t, n) { - var i, s, l; - for (l = new M(e.e); l.a < l.c.c.length; ) - i = f(O(l), 118), i.b.d < 0 && i.c > 0 && (i.b.c -= i.c, i.b.c <= 0 && i.b.f > 0 && rn(t, i.b)); - for (s = new M(e.b); s.a < s.c.c.length; ) - i = f(O(s), 118), i.a.d < 0 && i.c > 0 && (i.a.f -= i.c, i.a.f <= 0 && i.a.c > 0 && rn(n, i.a)); - } - function hC(e, t, n) { - var i, s, l; - for (l = new M(e.j); l.a < l.c.c.length; ) - i = f(O(l), 117), i.b.i < 0 && i.c > 0 && (i.b.e -= i.c, i.b.e <= 0 && i.b.k > 0 && rn(t, i.b)); - for (s = new M(e.d); s.a < s.c.c.length; ) - i = f(O(s), 117), i.a.i < 0 && i.c > 0 && (i.a.k -= i.c, i.a.k <= 0 && i.a.e > 0 && rn(n, i.a)); - } - function TX(e) { - var t, n, i, s, l; - switch (l = e.d.c + e.e.c, l) { - case 0: - return S7(), q8; - case 1: - return i = f(nA(new Ul(new iu(e).a)), 21), eq(i.yb(), i.zb()); - default: - for (s = (On(), new yd()), n = new Ul(new iu(e).a); n.b; ) - t = Sd(n), gg(s, vt(t.yb()), vt(t.zb())); - return new J5(s); - } - } - function LX(e, t, n) { - var i, s, l; - for (s = new M(e.b.a.b); s.a < s.c.c.length; ) - i = f(O(s), 25), t.D(i) && (l = ge(Ot(n.B(i))), l > 0 && (!(Nl(e.b.d) && i.q.d) && !(Qw(e.b.d) && i.q.b) && (i.j.e += 0 > l / 2 - 0.5 ? 0 : l / 2 - 0.5), !(Nl(e.b.d) && i.q.a) && !(Qw(e.b.d) && i.q.c) && (i.j.b -= l - 1))); - } - function PX(e, t) { - switch (e.e) { - case 1: - switch (t.e) { - case 1: - return cx; - case 4: - return 0.5; - case 3: - return lx; - case 2: - return L8; - } - break; - case 2: - switch (t.e) { - case 1: - return cx; - case 2: - return 0.5; - case 3: - return lx; - case 4: - return L8; - } - break; - default: - throw new tn(ux); - } - return 0; - } - function f2(e, t) { - var n, i, s, l; - for (l = new fn(e, 0), n = (ut(l.b < l.d.Y()), f(l.d.sb(l.c = l.b++), 48)); l.b < l.d.Y(); ) - i = (ut(l.b < l.d.Y()), f(l.d.sb(l.c = l.b++), 48)), s = new XS(i.c, n.d, t), ut(l.b > 0), l.a.sb(l.c = --l.b), su(l, s), ut(l.b < l.d.Y()), l.d.sb(l.c = l.b++), s.a = !1, n = i; - } - function AA(e) { - var t, n, i, s, l, h; - for (s = f(z(e, (le(), xp)), 7), h = new M(e.f); h.a < h.c.c.length; ) { - for (l = f(O(h), 7), i = new M(l.e); i.a < i.c.c.length; ) - return t = f(O(i), 12), kn(t, s), l; - for (n = new M(l.b); n.a < n.c.c.length; ) - return t = f(O(n), 12), Bn(t, s), l; - } - return null; - } - function RA(e, t, n, i, s) { - var l, h, v, p, m, S; - for (h = t, l = 0, v = !1, S = new Oc(n, i), m = Qc(S); m.G(); ) - p = f(m.H(), 7), v = !0, un(e.k, p, gt(h)), (gi(f(z(n, (Ee(), dt)), 28)) || p.b.c.length + p.e.c.length > 1) && (++l, ++h); - return !gi(f(z(n, (Ee(), dt)), 28)) && v && (++l, ++h), un(s, n, gt(l)), h; - } - function BA(e) { - var t, n, i, s, l, h, v, p, m, S, x, L; - for (h = e.b.mb(), v = f(h.H(), 92), S = v.a.a, m = S > al, p = S < V0; h.G(); ) { - if (n = v, l = S, s = m, i = p, v = f(h.H(), 92), S = v.a.a, m = S > al, p = S < V0, !(m || p)) - return sg(v.b); - if (s && p || i && m) - return t = l / (l - S), x = sg(n.b), L = sg(v.b), t * x + (1 - t) * L; - } - return 0; - } - function zA(e) { - var t, n, i, s, l, h, v, p, m, S, x, L; - for (h = e.b.mb(), v = f(h.H(), 92), S = v.a.b, m = S > al, p = S < V0; h.G(); ) { - if (n = v, l = S, s = m, i = p, v = f(h.H(), 92), S = v.a.b, m = S > al, p = S < V0, !(m || p)) - return sg(v.b); - if (s && p || i && m) - return t = l / (l - S), x = sg(n.b), L = sg(v.b), t * x + (1 - t) * L; - } - return 0; - } - function HA(e, t, n) { - var i, s; - return i = 0, Xm(t) ? Pc(e.g, t) ? (uC(e.i, gt(Mc(e, t.c)), 1) > 0, uC(e.i, gt(Mc(e, t.d)), 1) > 0, Cm(e.g, t), i += xK(e, t, e.i)) : (vn(e.g, t), N0(e.i, gt(Mc(e, t.c)), 1), N0(e.i, gt(Mc(e, t.d)), 1)) : (s = T0(e.i, gt(f(Kt(e.k, n), 24).a)), i += e.g.a.Y() - s), i; - } - function DX(e) { - switch (e.e) { - case 0: - return mH; - case 1: - return bH; - case 2: - return gH; - case 3: - return EH; - case 4: - return kH; - case 5: - return LH; - case 6: - return TH; - case 7: - return yH; - case 8: - return pH; - case 9: - return wH; - case 11: - return CH; - case 10: - return SH; - default: - return xH; - } - } - function M0(e) { - switch (e.e) { - case 0: - return No; - case 1: - return Ds; - case 2: - return lc; - case 3: - return Eu; - case 4: - return Su; - case 5: - return is; - case 6: - return dc; - case 7: - return hc; - case 8: - return fc; - case 9: - return rs; - case 10: - return gl; - case 11: - return Cu; - default: - return ff; - } - } - function Cg(e) { - switch (e.e) { - case 0: - return is; - case 1: - return dc; - case 2: - return hc; - case 3: - return No; - case 4: - return Ds; - case 5: - return lc; - case 6: - return Eu; - case 7: - return Su; - case 8: - return fc; - case 9: - return rs; - case 10: - return gl; - case 11: - return Cu; - default: - return ff; - } - } - function dC(e) { - switch (e.e) { - case 0: - return lc; - case 1: - return Eu; - case 2: - return Su; - case 3: - return is; - case 4: - return dc; - case 5: - return hc; - case 6: - return No; - case 7: - return Ds; - case 8: - return fc; - case 9: - return rs; - case 10: - return gl; - case 11: - return Cu; - default: - return ff; - } - } - function jX(e) { - var t, n, i, s, l, h, v, p; - for (n = (On(), new yd()), v = new $m(($o(), new ro(e.f))), h = (s = new Wt(v.a).a.bb().mb(), new Zt(s)); h.a.G(); ) { - if (l = (i = f(h.a.H(), 21), f(i.yb(), 9)), !l) { - Rl(); - break; - } - p = e.i[l.k], t = f(wy(n, p), 20), t || (t = new Se(), gg(n, p, t)), t.ib(l); - } - return n; - } - function NX(e, t, n) { - var i, s, l; - for (s = new M(e.b.a.b); s.a < s.c.c.length; ) - i = f(O(s), 25), t.D(i) && (l = ge(Ot(n.B(i))), l > 0 && (!(Nl(e.b.d) && i.q.d) && !(Qw(e.b.d) && i.q.b) && (i.j.e -= 0 > l / 2 - 0.5 ? 0 : l / 2 - 0.5), !(Nl(e.b.d) && i.q.a) && !(Qw(e.b.d) && i.q.c) && (i.j.b += 0 > l - 1 ? 0 : l - 1))); - } - function Qc(e) { - var t, n, i; - switch (i = e.a.f, e.b) { - case 0: - return new M(e.a.f); - case 1: - return zl((n = new I4(i), n), Y3(e)); - case 2: - switch (e.c.e) { - case 2: - case 1: - return zl(new M(i), Y3(e)); - case 3: - case 4: - return zl((t = new I4(i), t), Y3(e)); - } - } - throw new jf("PortOrder not implemented."); - } - function IX(e, t) { - var n; - e.d && (t.c != e.e.c || VW(e.e.b, t.b)) && (Le(e.f, e.d), e.a = e.d.d + e.d.c, e.d = null, e.e = null), xF(t.b) ? e.c = t : e.b = t, (t.b == (ug(), uc) && !t.a || t.b == hl && t.a || t.b == lf && t.a || t.b == dl && !t.a) && e.c && e.b && (n = new $a(e.a, e.c.d, t.c - e.a, e.b.d - e.c.d), e.d = n, e.e = t); - } - function Jc(e, t, n, i) { - this.e = e, this.j = f(z(e, (le(), ml)), 134), this.f = ve(kr, Ni, 9, t, 0, 1), this.b = ve(bb, Dr, 184, t, 6, 1), this.a = ve(kr, Ni, 9, t, 0, 1), this.d = ve(bb, Dr, 184, t, 6, 1), this.i = ve(kr, Ni, 9, t, 0, 1), this.g = ve(bb, Dr, 184, t, 6, 1), this.n = ve(bb, Dr, 184, t, 6, 1), this.k = n, this.c = i; - } - function MX(e, t, n) { - var i, s; - if (t.g == (et(), er) && n.g == er) { - if (!gi(f(z(f(z(t, (le(), lt)), 9), (Ee(), dt)), 28)) || f(z(t, lt), 9) != f(z(n, lt), 9)) - return; - if (kO(t) || kO(n)) { - e.d = 1, e.b = 1; - return; - } - s = f(_e(t.f, 0), 7).g, i = f(_e(n.f, 0), 7).g, vy(t).g == (we(), rt) ? _A(e, t, n, s, i) : _A(e, n, t, i, s); - } - } - function uh(e) { - if (!e.a.c || !e.a.d) - throw new Ou((Al(xz), xz.j + " must have a source and target " + (Al(KT), KT.j) + " specified.")); - if (e.a.c == e.a.d) - throw new Ou("Network simplex does not support self-loops: " + e.a + " " + e.a.c + " " + e.a.d); - return Yu(e.a.c.g, e.a), Yu(e.a.d.c, e.a), e.a; - } - function _A(e, t, n, i, s) { - i == (we(), Be) && s == Be ? Xf(e, t) > Xf(e, n) ? e.d = ih(e, n) : e.b = ih(e, t) : i == qe && s == qe ? Xf(e, t) < Xf(e, n) ? e.d = ih(e, n) : e.b = ih(e, t) : i == qe && s == Be ? Xf(e, t) > Xf(e, n) && (e.d = ih(e, n), e.b = ih(e, t)) : Xf(e, t) < Xf(e, n) && (e.d = ih(e, n), e.b = ih(e, t)); - } - function OX(e) { - var t, n, i, s, l, h, v, p; - for (p = e.f.c.length, n = 0, t = p, s = 2 * p, v = new M(e.f); v.a < v.c.c.length; ) - switch (h = f(O(v), 7), h.g.e) { - case 2: - case 4: - h.k = -1; - break; - case 1: - case 3: - i = h.b.c.length, l = h.e.c.length, i > 0 && l > 0 ? h.k = t++ : i > 0 ? h.k = n++ : l > 0 ? h.k = s++ : h.k = n++; - } - Ya(e.f, new Vh()); - } - function AX(e, t, n, i) { - var s, l, h, v, p; - n.d.f != t.f && (s = new qa(e), Ha(s, (et(), hn)), ce(s, (le(), lt), n), ce(s, (Ee(), dt), (zn(), ni)), i.c[i.c.length] = s, h = new Yn(), cn(h, s), Bt(h, (we(), qe)), v = new Yn(), cn(v, s), Bt(v, Be), p = n.d, kn(n, h), l = new bs(), hu(l, n), ce(l, Un, null), Bn(l, v), kn(l, p), pA(s, h, v)); - } - function RX(e) { - var t, n, i, s, l, h, v, p, m; - for (h = Zo, p = Zo, v = null, n = new Jm(new Ow(e.e)); n.b != n.c.a.b; ) - if (t = F4(n), f(t.d, 60).c == 1 && (i = f(t.e, 116).a, m = f(t.e, 116).b, s = h - i > nc, l = i - h < nc && p - m > nc, (s || l) && (p = f(t.e, 116).b, h = f(t.e, 116).a, v = f(t.d, 60), p == 0 && h == 0))) - return v; - return v; - } - function GA(e, t) { - var n, i, s, l, h, v; - return l = e.d, v = f(z(e, (Ee(), Jo)), 15).a, v < 0 && (v = 0, ce(e, Jo, new Ut(v))), t.j.b = v, h = Math.floor(v / 2), i = new Yn(), Bt(i, (we(), qe)), cn(i, t), i.i.b = h, s = new Yn(), Bt(s, Be), cn(s, t), s.i.b = h, kn(e, i), n = new bs(), hu(n, e), ce(n, Un, null), Bn(n, s), kn(n, l), FK(t, e, n), fZ(e, n), n; - } - function BX(e) { - var t, n; - n = f(z(e, (zt(), Er)), 85), t = f(z(e, (le(), Zs)), 140), n == ($i(), gc) ? (ce(e, Er, pf), ce(e, Zs, (ms(), gf))) : n == Tu ? (ce(e, Er, pf), ce(e, Zs, (ms(), Lh))) : t == (ms(), gf) ? (ce(e, Er, gc), ce(e, Zs, Cp)) : t == Lh && (ce(e, Er, Tu), ce(e, Zs, Cp)); - } - function zX(e) { - var t, n, i, s, l; - for (i = new M(bg(e.e)); i.a < i.c.c.length; ) - n = f(O(i), 129), l = new qn(n.e.i), s = D3()[n.e.k], t = f(Zf(e.c, s), 283), l.b = t.e + t.a, s.b == (hy(), oc) ? l.a = t.d : s.b == xh ? l.a = t.d + (t.c - n.e.j.a) / 2 : s.b == sc && (l.a = t.d + t.c - n.e.j.a), n.e.i.a = l.a, n.e.i.b = l.b, t.a += n.e.j.b + e.d; - } - function HX(e) { - var t, n, i; - for (n = new M(Xu(e)); n.a < n.c.c.length; ) { - switch (t = f(O(n), 161), i = new qn(t.e.i), f(t.e, 7).g.e) { - case 4: - i.a = 0, i.b = e.e.j.b / 2; - break; - case 2: - i.a = e.e.j.a, i.b = e.e.j.b / 2; - break; - case 1: - i.a = e.e.j.a / 2, i.b = 0; - break; - case 3: - i.a = e.e.j.a / 2, i.b = e.e.j.b; - } - t.e.i.a = i.a, t.e.i.b = i.b; - } - } - function $A() { - this.c = ve(Zi, mi, 26, (we(), re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe])).length, 12, 1), this.b = ve(Zi, mi, 26, re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]).length, 12, 1), this.a = ve(Zi, mi, 26, re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]).length, 12, 1), pm(this.c, ki), pm(this.b, Hr), pm(this.a, Hr); - } - function YA(e, t, n) { - var i, s, l, h, v, p, m, S; - for (l = ge(Ot(e.b.mb().H())), m = ge(Ot(AI(t.b))), i = Yo(_a(e.a), m - n), s = Yo(_a(t.a), n - l), S = dn(i, s), Yo(S, 1 / (m - l)), this.a = S, this.b = new Se(), v = !0, h = e.b.mb(), h.H(); h.G(); ) - p = ge(Ot(h.H())), v && p - n > al && (this.b.ib(n), v = !1), this.b.ib(p); - v && this.b.ib(n); - } - function _X(e) { - var t, n, i, s; - if (vQ(e, e.n), e.d.c.length > 0) { - for (Nv(e.c); iC(e, f(O(new M(e.e.a)), 61)) < e.e.a.c.length; ) { - for (t = ZK(e), s = t.d.e - t.c.e - t.a, t.d.j && (s = -s), i = new M(e.e.a); i.a < i.c.c.length; ) - n = f(O(i), 61), n.j && (n.e += s); - Nv(e.c); - } - Nv(e.c), X3(e, f(O(new M(e.e.a)), 61)), jR(e); - } - } - function GX(e, t) { - var n, i, s, l, h, v, p; - for (n = Hr, v = (et(), Hn), s = new M(t.a); s.a < s.c.c.length; ) - i = f(O(s), 9), l = i.g, l != Hn && (h = Ot(z(i, (le(), TL))), h == null ? (n = n > 0 ? n : 0, i.i.b = n + Om(e.a, l, v)) : i.i.b = (or(h), h)), p = Om(e.a, l, v), i.i.b < n + p + i.e.d && (i.i.b = n + p + i.e.d), n = i.i.b + i.j.b + i.e.a, v = l; - } - function FA(e, t, n) { - var i, s, l; - for (n.db(t, e), Le(e.g, t), l = e.o.d.Lc(t), W7(e.k) ? e.k = l : e.k = Xt(e.k, l), W7(e.a) ? e.a = l : e.a = je(e.a, l), t.g == e.o.d.Mc() ? WM(e.j, l) : WM(e.n, l), s = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [new Zh(t), new Lf(t)])))))); xt(s); ) - i = f(Et(s), 7), n.R(i) || FA(e, i, n); - } - function $X(e) { - var t, n, i, s, l; - for (i = (mn(), e.length), s = i > 0 && (e.charCodeAt(0) == 45 || e.charCodeAt(0) == 43) ? 1 : 0, t = s; t < i; t++) - if (OU(e.charCodeAt(t)) == -1) - throw new i1(k2 + e + '"'); - if (l = parseInt(e, 10), n = l < Ys, isNaN(l)) - throw new i1(k2 + e + '"'); - if (n || l > yr) - throw new i1(k2 + e + '"'); - return l; - } - function YX(e, t, n, i) { - var s, l, h, v; - for (s = f(Jn(t, (we(), qe)).mb().H(), 7), l = f(Jn(t, Be).mb().H(), 7), v = new M(e.f); v.a < v.c.c.length; ) { - for (h = f(O(v), 7); h.b.c.length != 0; ) - kn(f(_e(h.b, 0), 12), s); - for (; h.e.c.length != 0; ) - Bn(f(_e(h.e, 0), 12), l); - } - n || ce(t, (le(), Mi), null), i || ce(t, (le(), Si), null); - } - function FX(e) { - var t, n, i, s, l, h, v; - for (v = new FN(), h = new M(e.b); h.a < h.c.c.length; ) - if (l = f(O(h), 9), l.g != (et(), Cn)) { - for (eX(v, l, new Yr()), s = Dt(En(l)); xt(s); ) - if (i = f(Et(s), 12), !(i.c.f.g == Cn || i.d.f.g == Cn)) - for (n = Jt(i.a, 0); n.b != n.d.c; ) - t = f(Ft(n), 10), xd(v, new zf(t.a, t.b)); - } - return v; - } - function xg(e, t, n, i) { - var s, l, h; - if (this.e = new Ci(), this.a = e, this.b = t, e.b < t.b ? (this.j = e.a, this.k = e.b, this.n = t.b) : (this.j = t.a, this.k = t.b, this.n = e.b), s = f(z(i, (Ee(), Un)), 44), s) - for (h = Jt(s, 0); h.b != h.d.c; ) - l = f(Ft(h), 10), V4(l.a, e.a) && rn(this.e, l); - this.g = n, this.g && (this.i = this.j - n.j.d), this.f = i; - } - function el(e) { - Ea(); - var t, n, i, s, l, h; - for (h = new _i(), lg(h, e), n = (l = new Wt(h.a).a.bb().mb(), new Zt(l)); n.a.G(); ) - t = (i = f(n.a.H(), 21), i.yb()), vt(t); - switch (h.a.Y()) { - case 0: - return Kf(), Gd; - case 1: - return new Bu((s = new Wt(h.a).a.bb().mb(), i = f(new Zt(s).a.H(), 21), i.yb())); - default: - return new um(h); - } - } - function O0(e, t, n, i) { - var s, l, h; - Fa(e, n, "x", t.i.a + i.a), Fa(e, n, "y", t.i.b + i.b), Fa(e, n, P2, t.j.a), Fa(e, n, D2, t.j.b), xe(t, 9) && f(z(t, (Ee(), Zg)), 86).kb((sh(), lk)) && (s = f(t, 9).b, h = Mn(n, j2), h || (h = new Dl(), Ta(n, j2, h)), l = h.kc(), Fa(e, l, "left", s.b), Fa(e, l, "top", s.d), Fa(e, l, "right", s.c), Fa(e, l, tx, s.a)); - } - function qA(e, t) { - var n, i, s, l, h, v, p, m, S, x; - for (h = t == 1 ? bk : gk, l = (p = new Wt(h.a).a.bb().mb(), new Zt(p)); l.a.G(); ) - for (s = (v = f(l.a.H(), 21), f(v.yb(), 59)), S = f(Pa(e.f.c, s), 18).mb(); S.G(); ) - switch (m = f(S.H(), 27), i = f(m.b, 25), x = f(m.a, 78), n = x.c, s.e) { - case 2: - case 1: - i.j.e += n; - break; - case 4: - case 3: - i.j.d += n; - } - } - function qX(e, t) { - var n, i, s; - t.a ? (g4(e.b, t.b), e.a[t.b.k] = f(L9(e.b, t.b), 25), n = f(T9(e.b, t.b), 25), n && (e.a[n.k] = t.b)) : (i = f(L9(e.b, t.b), 25), i && i == e.a[t.b.k] && i.f && i.f != t.b.f && i.i.ib(t.b), s = f(T9(e.b, t.b), 25), s && e.a[s.k] == t.b && s.f && s.f != t.b.f && t.b.i.ib(s), V9(e.b, t.b)); - } - function VX(e, t) { - var n, i, s, l, h, v, p; - for (s = new Se(), n = 0; n <= e.i; n++) - i = new Hc(t), i.k = e.i - n, s.c[s.c.length] = i; - for (v = new M(e.o); v.a < v.c.c.length; ) - h = f(O(v), 9), Ar(h, f(_e(s, e.i - e.f[h.k]), 16)); - for (l = new M(s); l.a < l.c.c.length; ) - p = f(O(l), 16), p.a.c.length == 0 && bd(l); - t.c.c = ve(Ze, Me, 1, 0, 4, 1), Tn(t.c, s); - } - function WX(e) { - var t, n, i, s; - for (e.a.a.c = ve(Ze, Me, 1, 0, 4, 1), i = new M(e.a.b); i.a < i.c.c.length; ) - t = f(O(i), 25), t.f = null; - for (s = new M(e.a.b); s.a < s.c.c.length; ) - t = f(O(s), 25), !t.o && Le(e.a.a, new m0(re(ie(op, 1), Me, 25, 0, [t]))); - for (n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 25), t.o && f0(t.o.f, t); - } - function Tg(e, t) { - var n, i, s, l; - for (e = (mn(), e ?? $s), n = (e.length + 16 * t.length, new qw()), l = 0, i = 0; i < t.length && (s = e.indexOf("%s", l), s != -1); ) - tI(n, e, l, s), Hu(n, t[i++]), l = s + 2; - if (nq(n, e, l, e.length), i < t.length) { - for (n.a += " [", Hu(n, t[i++]); i < t.length; ) - n.a += ", ", Hu(n, t[i++]); - n.a += "]"; - } - return n.a; - } - function VA(e, t, n, i) { - var s, l; - if (t) { - if (s = e.a.$b(n.d, t.d), s == 0) - return i.d = QS(t, n.e), i.b = !0, t; - l = s < 0 ? 0 : 1, t.a[l] = VA(e, t.a[l], n, i), Ru(t.a[l]) && (Ru(t.a[1 - l]) ? (t.b = !0, t.a[0].b = !1, t.a[1].b = !1) : Ru(t.a[l].a[l]) ? t = c0(t, 1 - l) : Ru(t.a[l].a[1 - l]) && (t = MN(t, 1 - l))); - } else - return n; - return t; - } - function UX(e, t) { - var n, i, s, l, h, v, p, m, S, x; - for (p = $v(t.a), v = Xn(v1(p / e.a)), x = t.a, h = 0, m = v, l = 0; l < e.a; ++l) - S = (mn(), x.substr((0 > h ? 0 : h) < p ? 0 > h ? 0 : h : p, (0 > (m < p ? m : p) ? 0 : m < p ? m : p) - ((0 > h ? 0 : h) < p ? 0 > h ? 0 : h : p))), h = m, m += v, i = f(_e(e.c, l), 9), n = new LS(S), n.j.b = t.j.b, pt(e.b, t, n), Le(i.c, n); - Cr(e.g.c, t), Le(e.i, (s = new MD(e, t), s)); - } - function WA(e, t, n) { - var i, s, l, h, v, p, m, S, x; - for (t.k = 1, l = t.d, x = ks(t, (sr(), ri)).mb(); x.G(); ) - for (S = f(x.H(), 7), s = new M(S.e); s.a < s.c.c.length; ) - i = f(O(s), 12), m = i.d.f, t != m && (h = m.d, h.k <= l.k && (v = l.k + 1, v == n.c.c.length ? (p = new Hc(n), p.k = v, Le(n.c, p), Ar(m, p)) : (p = f(_e(n.c, v), 16), Ar(m, p)), WA(e, m, n))); - } - function KX(e) { - var t, n, i, s, l; - for (t = e.e.j, i = new M(Xu(e)); i.a < i.c.c.length; ) { - switch (n = f(O(i), 161), s = f(nr(n, (Ee(), ul)), 15), !s && (s = new Ut(0)), l = new qn(n.e.i), f(n.e, 7).g.e) { - case 4: - l.a = -n.e.j.a - s.a; - break; - case 2: - l.a = t.a + s.a; - break; - case 1: - l.b = -n.e.j.b - s.a; - break; - case 3: - l.b = t.b + s.a; - } - n.e.i.a = l.a, n.e.i.b = l.b; - } - } - function ZX(e) { - var t, n, i; - i = f(z(e, (Ee(), ia)), 18), !i.V() && (n = (t = f(Hi(Ln), 11), new ti(t, f(xi(t, t.length), 11), 0)), i.kb((gu(), Ei)) ? hi(n, Ei) : hi(n, Ui), i.kb(Vi) || hi(n, Vi), i.kb(qi) ? hi(n, ba) : i.kb(Ua) ? hi(n, ga) : i.kb(Wi) && hi(n, va), i.kb(ba) ? hi(n, qi) : i.kb(ga) ? hi(n, Ua) : i.kb(va) && hi(n, Wi), ce(e, ia, n)); - } - function UA(e, t, n, i, s) { - var l, h, v, p, m, S, x, L, j, I; - for (L = KM(e, n), p = 0; p < t; p++) { - for (s.J(n), j = new Se(), I = f(i.H(), 92), S = L + p; S < e.c; S++) - v = I, I = f(i.H(), 92), Le(j, new YA(v, I, n)); - for (x = L + p; x < e.c; x++) - i.M(), x > L + p && i.I(); - for (h = new M(j); h.a < h.c.c.length; ) - l = f(O(h), 92), i.J(l); - if (p < t - 1) - for (m = L + p; m < e.c; m++) - i.M(); - } - } - function XX(e) { - var t, n, i, s; - if (e.d && f(e.e, 7).f.g == (et(), er)) - return Qt(), Qt(), bc; - if (!e.a) { - for (e.a = new Se(), i = new M(f(e.e, 7).b); i.a < i.c.c.length; ) - t = f(O(i), 12), Le(e.a, new Zb(t)); - if (e.d && (s = f(z(f(e.e, 7), (le(), js)), 9), s)) - for (n = Dt(Lr(s)); xt(n); ) - t = f(Et(n), 12), Le(e.a, new Zb(t)); - } - return e.a; - } - function QX(e) { - var t, n, i, s; - if (e.d && f(e.e, 7).f.g == (et(), er)) - return Qt(), Qt(), bc; - if (!e.c) { - for (e.c = new Se(), i = new M(f(e.e, 7).e); i.a < i.c.c.length; ) - t = f(O(i), 12), Le(e.c, new Zb(t)); - if (e.d && (s = f(z(f(e.e, 7), (le(), js)), 9), s)) - for (n = Dt(En(s)); xt(n); ) - t = f(Et(n), 12), Le(e.c, new Zb(t)); - } - return e.c; - } - function JX(e, t) { - var n, i, s, l, h, v, p, m; - for (v = f(z(e, (le(), lt)), 7), p = ln(re(ie(_t, 1), Ht, 10, 0, [v.f.i, v.i, v.a])).a, m = e.f.i.b, n = f(Vn(e.b, ve(Ki, Yi, 12, e.b.c.length, 0, 1)), 47), s = 0, l = n.length; s < l; ++s) - i = n[s], kn(i, v), Jw(i.a, new ot(p, m)), t && (h = f(z(i, (Ee(), Un)), 44), h || (h = new Ci(), ce(i, Un, h)), rn(h, new ot(p, m))); - } - function eQ(e, t) { - var n, i, s, l, h, v, p, m; - for (s = f(z(e, (le(), lt)), 7), p = ln(re(ie(_t, 1), Ht, 10, 0, [s.f.i, s.i, s.a])).a, m = e.f.i.b, n = f(Vn(e.e, ve(Ki, Yi, 12, e.e.c.length, 0, 1)), 47), h = 0, v = n.length; h < v; ++h) - l = n[h], Bn(l, s), DD(l.a, new ot(p, m)), t && (i = f(z(l, (Ee(), Un)), 44), i || (i = new Ci(), ce(l, Un, i)), rn(i, new ot(p, m))); - } - function tQ(e) { - var t, n, i, s, l, h, v, p, m; - for (h = Zo, p = Zo, v = null, n = new Jm(new Ow(e.e)); n.b != n.c.a.b; ) - if (t = F4(n), (He(t.d) === He((wi(), rs)) || He(t.d) === He(fc)) && (i = f(t.e, 116).a, m = f(t.e, 116).b, s = h - i > nc, l = i - h < nc && p - m > nc, (s || l) && (p = f(t.e, 116).b, h = f(t.e, 116).a, v = f(t.d, 60), p == 0 && h == 0))) - return v; - return v; - } - function nQ(e, t) { - var n, i, s, l, h; - e.d = t, so(e.b), e.c = !1; - e: - for (i = new M(e.d.c); i.a < i.c.c.length; ) - for (n = f(O(i), 16), l = new M(n.a); l.a < l.c.c.length; ) - if (s = f(O(l), 9), !eg(yg(s))) { - e.c = !0; - break e; - } - return h = Yt(($n(), Po), re(ie(Gg, 1), De, 59, 0, [ja, Fi])), e.c || (hi(h, Ws), hi(h, Ts)), e.a = new v4(h), qee(e), e.a; - } - function KA() { - var e, t, n, i, s; - for (this.e = (On(), new yd()), this.b = (n = f(Hi(Wd), 11), new ti(n, f(xi(n, n.length), 11), 0)), this.c = (i = f(Hi(Wd), 11), new ti(i, f(xi(i, i.length), 11), 0)), this.a = (s = f(Hi(Wd), 11), new ti(s, f(xi(s, s.length), 11), 0)), t = (wi(), wi(), hH).mb(); t.G(); ) - e = f(t.H(), 60), gg(this.e, e, new X7()); - } - function rQ(e, t, n) { - var i, s, l, h, v, p; - ei(e.k - e.a) < pu || ei(t.k - t.a) < pu || (i = DA(e.n, t.j, n), s = DA(t.n, e.j, n), l = Ay(e.n, t.k, t.a) + Ay(t.j, e.k, e.a), h = Ay(t.n, e.k, e.a) + Ay(e.j, t.k, t.a), v = 16 * i + l, p = 16 * s + h, v < p ? new u0(e, t, p - v) : v > p ? new u0(t, e, v - p) : v > 0 && p > 0 && (new u0(e, t, 0), new u0(t, e, 0))); - } - function tl(e, t) { - var n, i, s, l, h, v, p, m, S; - for (m = new Se(), S = null, i = f(Zf(vl, e), 20).mb(); i.G(); ) { - for (n = f(i.H(), 75), p = (l = new Wt(n.c.a).a.bb().mb(), new Zt(l)); p.a.G(); ) - h = (s = f(p.a.H(), 21), f(s.yb(), 7)), su(t, h), I0(h, e.b); - Tn(m, n.b), S = e.a; - } - for (D0(m), my(m, S), v = new M(m); v.a < v.c.c.length; ) - h = f(O(v), 7), su(t, h); - } - function iQ() { - var e = { layout: function(t) { - Ap(WJ(t)); - } }; - typeof document !== Og && (r.$klay = e), a.exports && (a.exports = e), typeof document === Og && typeof self !== Og && self.addEventListener("message", function(t) { - e.layout(t.data); - }, !1); - } - function Lg(e, t, n, i, s) { - var l, h, v; - v = s ? i.b : i.a, (v > n.k && v < n.a || n.j.b != 0 && n.n.b != 0 && (ei(v - ge(Ot(Lm(n.j)))) < pu && ei(v - ge(Ot(Lm(n.n)))) < pu || ei(v - ge(Ot(x1(n.j)))) < pu && ei(v - ge(Ot(x1(n.n)))) < pu)) && (Pc(e.b, i) || (h = f(z(t, (Ee(), Un)), 44), h || (h = new Ci(), ce(t, Un, h)), l = new qn(i), wr(h, l, h.c.b, h.c), vn(e.b, l))); - } - function aQ(e, t, n) { - var i, s, l, h, v, p, m, S, x; - for (i = n.c, s = n.d, v = Pi(t.c), p = Pi(t.d), i == t.c ? (v = tC(e, v, s), p = qO(t.d)) : (v = qO(t.c), p = tC(e, p, s)), m = new Nm(t.a), wr(m, v, m.a, m.a.a), wr(m, p, m.c.b, m.c), h = t.c == i, x = new f7(), l = 0; l < m.b - 1; ++l) - S = new pr(f(Td(m, l), 10), f(Td(m, l + 1), 10)), h && l == 0 || !h && l == m.b - 2 ? x.b = S : Le(x.a, S); - return x; - } - function oQ(e, t) { - var n, i, s, l; - if (l = e.g.e - t.g.e, l != 0) - return l; - if (n = f(z(e, (Ee(), mu)), 24), i = f(z(t, mu), 24), n && i && (s = n.a - i.a, s != 0)) - return s; - switch (e.g.e) { - case 1: - return mr(e.i.a, t.i.a); - case 2: - return mr(e.i.b, t.i.b); - case 3: - return mr(t.i.a, e.i.a); - case 4: - return mr(t.i.b, e.i.b); - default: - throw new Ou(m8); - } - } - function sQ(e, t) { - var n, i, s, l, h; - for (h = new Yr(), l = new M(Xu(e)); l.a < l.c.c.length; ) - switch (s = f(O(l), 161), f(s.e, 7).g.e) { - case 4: - case 2: - h.b = je(h.b, s.e.i.b + s.e.j.b + (t ? (i = f(s.e, 7).d, new qo(i.d, i.b, i.a, i.c)).a : 0)); - break; - case 1: - case 3: - h.a = je(h.a, s.e.i.a + s.e.j.a + (t ? (n = f(s.e, 7).d, new qo(n.d, n.b, n.a, n.c)).c : 0)); - } - return h; - } - function h2(e, t) { - var n, i, s, l, h, v, p; - for (s = new Se(), p = new Se(), n = f(Zf(vl, e), 20).mb(); n.G(); ) - i = f(n.H(), 75), lO(s, i.b), lO(s, tO(i)), n.G() && (i = f(n.H(), 75), Tn(p, tO(i)), Tn(p, i.b)); - for (my(s, e.b), my(p, e.a), v = new M(s); v.a < v.c.c.length; ) - l = f(O(v), 7), su(t, l); - for (h = new M(p); h.a < h.c.c.length; ) - l = f(O(h), 7), su(t, l); - } - function vr() { - vr = c, eE = new zu("COMMENTS", 0), as = new zu("EXTERNAL_PORTS", 1), Ep = new zu("HYPEREDGES", 2), tE = new zu("HYPERNODES", 3), df = new zu("NON_FREE_PORTS", 4), vf = new zu("NORTH_SOUTH_PORTS", 5), Sp = new zu("SELF_LOOPS", 6), Ud = new zu("CENTER_LABELS", 7), Kd = new zu("END_LABELS", 8), cL = new zu("PARTITIONS", 9); - } - function uQ(e, t) { - var n, i, s, l; - for (e = (mn(), e ?? $s), n = (e.length + 16 * t.length, new qw()), l = 0, i = 0; i < t.length && (s = e.indexOf("%s", l), s != -1); ) - io(n, e.substr(l, s - l)), Hu(n, t[i++]), l = s + 2; - if (io(n, gd(e, l, e.length - l)), i < t.length) { - for (n.a += " [", Hu(n, t[i++]); i < t.length; ) - n.a += ", ", Hu(n, t[i++]); - n.a += "]"; - } - return n.a; - } - function vC(e, t, n) { - var i, s; - switch (s = null, t.e) { - case 1: - s = (fa(), oT); - break; - case 2: - s = (fa(), sT); - } - switch (i = null, n.e) { - case 1: - i = (fa(), mk); - break; - case 2: - i = (fa(), wk); - break; - case 3: - i = (fa(), yk); - break; - case 4: - i = (fa(), kk); - } - return s && i ? Eo(e.f, (d1(), new pP(new ro(re(ie(Zee, 1), Me, 68, 0, [f(vt(s), 68), f(vt(i), 68)]))))) : (Qt(), Qt(), bc); - } - function gC(e, t, n) { - var i, s, l, h, v, p, m; - for (p = ca(En(t)), s = Jt(p, 0); s.b != s.d.c; ) - i = f(Ft(s), 12), m = i.d.f, !(Pt(ge(jt(z(m, (le(), vc))))) && z(m, lt) != null) && m.g == (et(), Ii) && !Pt(ge(jt(z(i, Xs)))) && i.d.g == (we(), qe) && (l = ea(m.d) - ea(t.d), l > 1 && (n ? h = ea(t.d) + 1 : h = ea(m.d) - 1, v = f(_e(e.a.c, h), 16), Ar(m, v)), gC(e, m, n)); - return t; - } - function ZA(e, t) { - var n, i, s, l; - for (t.d ? s = e.a.c == (Co(), cc) ? Lr(t.b) : En(t.b) : s = e.a.c == (Co(), Ps) ? Lr(t.b) : En(t.b), l = !1, i = (_n(), new _o(Go(vs(s.a, new T())))); xt(i); ) - if (n = f(Et(i), 12), e.c.a[n.c.f.d.k] !== e.c.a[n.d.f.d.k] && (l = !0, Pc(e.b, e.a.f[HK(n, t.b).k]))) - return t.c = !0, t.a = n, t; - return t.c = l, t.a = null, t; - } - function cQ(e, t, n) { - var i, s, l, h; - for (i = f(z(e.d, (Ee(), Ax)), 15).a, l = new M(e.a.b); l.a < l.c.c.length; ) - if (s = f(O(l), 25), xe(s, 93) && (h = f(s, 93).b, h.g == (et(), Cn))) - switch (f(z(h, (le(), _r)), 32).e) { - case 4: - h.i.a = t.a - i; - break; - case 2: - h.i.a = n.a + i - (h.j.a + h.e.c); - break; - case 1: - h.i.b = t.b - i; - break; - case 3: - h.i.b = n.b + i - (h.j.b + h.e.a); - } - } - function lQ() { - if (!Object.create || !Object.getOwnPropertyNames) - return !1; - var e = "__proto__", t = /* @__PURE__ */ Object.create(null); - if (t[e] !== void 0) - return !1; - var n = Object.getOwnPropertyNames(t); - return !(n.length != 0 || (t[e] = 42, t[e] !== 42) || Object.getOwnPropertyNames(t).length == 0); - } - function XA(e) { - var t, n, i, s, l, h, v, p, m; - for (h = new M(e.a.a); h.a < h.c.c.length; ) - s = f(O(h), 78), s.f = 0, s.e.a.Q(); - for (l = new M(e.a.a); l.a < l.c.c.length; ) - for (s = f(O(l), 78), n = (m = new Wt(s.a.a).a.bb().mb(), new Zt(m)); n.a.G(); ) - for (t = (i = f(n.a.H(), 21), f(i.yb(), 25)), p = t.i.mb(); p.G(); ) - v = f(p.H(), 25), v.f != s && (vn(s.e, v), ++v.f.f); - } - function bC(e, t, n, i) { - var s, l, h, v; - if (t.g == (et(), Ii)) { - for (l = Dt(Lr(t)); xt(l); ) - if (s = f(Et(l), 12), h = s.c.f, (h.g == Ii || Pt(ge(jt(z(h, (le(), vc)))))) && e.d.a[s.c.f.d.k] == i && e.d.a[t.d.k] == n) - return !0; - } - if (t.g == hn) { - for (l = Dt(Lr(t)); xt(l); ) - if (s = f(Et(l), 12), v = s.c.f.g, v == hn && e.d.a[s.c.f.d.k] == i && e.d.a[t.d.k] == n) - return !0; - } - return !1; - } - function fQ(e) { - var t, n, i, s, l, h; - if (s = e.g.tb(), i = e.b.tb(), e.e) - for (n = 0; n < e.c; n++) - s.H(); - else - for (n = 0; n < e.c - 1; n++) - s.H(), s.I(); - for (t = ge(Ot(s.H())); e.i - t > al; ) { - for (l = t, h = 0; (t - l <= 0 ? 0 - (t - l) : t - l) < al; ) - ++h, t = ge(Ot(s.H())), i.H(); - h < e.c && (s.M(), UA(e, e.c - h, l, i, s), s.H()), i.M(); - } - if (!e.e) - for (n = 0; n < e.c - 1; n++) - s.H(), s.I(); - e.e = !0, e.d = !0; - } - function hQ(e) { - var t, n, i, s; - switch (ym(e.a).c) { - case 4: - return wi(), is; - case 3: - return f($V(e.a).mb().H(), 60); - case 2: - return i = ym(e.a), n = new Hf(i), t = f(Yc(n), 60), s = f(Yc(n), 60), Cg(t) == s ? Fo(i, (wi(), is)) ? Eu : is : M0(M0(t)) == s ? M0(t) : dC(t); - case 1: - return i = ym(e.a), Cg(f(Yc(new Hf(i)), 60)); - case 0: - return wi(), Su; - default: - return null; - } - } - function QA(e, t) { - var n; - z4.call(this), this.a = f(z(t, (le(), Oi)), 15).a, this.c = this.a * f(z(t, (zt(), tv)), 15).a, this.b = e, this.j = new $a(e.i.a - e.e.b, e.i.b - e.e.d, e.j.a + e.e.b + e.e.c, e.j.b + e.e.d + e.e.a), Rs(this.g), n = _l(Lr(e)) - _l(En(e)), n < 0 ? fg(this.n, !0, ($n(), ja)) : n > 0 && fg(this.n, !0, ($n(), Fi)), e.g == (et(), Cn) && Sa(this.n, !1, !1, !1, !1); - } - function Pg(e, t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (l = new ot(t, n), S = new M(e.b); S.a < S.c.c.length; ) - for (m = f(O(S), 9), dn(m.i, l), L = new M(m.f); L.a < L.c.c.length; ) - for (x = f(O(L), 7), s = new M(x.e); s.a < s.c.c.length; ) - for (i = f(O(s), 12), Vu(i.a, l), h = f(z(i, (Ee(), Un)), 44), h && Vu(h, l), p = new M(i.b); p.a < p.c.c.length; ) - v = f(O(p), 33), dn(v.i, l); - } - function dQ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (l = new ot(t, n), S = new M(e.b); S.a < S.c.c.length; ) - for (m = f(O(S), 9), dn(m.i, l), L = new M(m.f); L.a < L.c.c.length; ) - for (x = f(O(L), 7), s = new M(x.e); s.a < s.c.c.length; ) - for (i = f(O(s), 12), Vu(i.a, l), h = f(z(i, (Ee(), Un)), 44), h && Vu(h, l), p = new M(i.b); p.a < p.c.c.length; ) - v = f(O(p), 33), dn(v.i, l); - } - function JA(e, t) { - var n, i, s, l, h; - for (h = new M(e.f); h.a < h.c.c.length; ) - if (l = f(O(h), 7), t) { - if (l.b.c.length != 0) - throw new t1((s = n0(e), ax + (s ?? o1(e.k)) + S8 + C8 + ox)); - } else - for (i = new M(l.b); i.a < i.c.c.length; ) - if (n = f(O(i), 12), He(z(n.c.f, (zt(), Er))) !== He(($i(), gc))) - throw new t1((s = n0(e), ax + (s ?? o1(e.k)) + S8 + C8 + ox)); - } - function eR(e, t, n) { - var i, s, l, h, v, p, m; - for (i = 0, m = Jn(t, n), p = m.mb(); p.G(); ) - v = f(p.H(), 7), f(z(v, (le(), js)), 9) && (h = f(z(v, js), 9), Jn(h, (we(), Be)).mb().G() && (i += (l = e.k ? 1 : Ij(f(_e(h.f, 0), 7)), l * Au(IM(e, t, n).a - 1 - f(Kt(e.i, v), 24).a, yM(e, t, h)))), Jn(h, qe).mb().G() && (i += (s = e.k ? 1 : Ij(f(_e(h.f, 0), 7)), s * Au(f(Kt(e.i, v), 24).a, yM(e, t, h))))); - return i; - } - function vQ(e, t) { - var n, i, s, l, h, v, p; - for (s = ve(Kn, Wn, 26, e.e.a.c.length, 12, 1), h = new M(e.e.a); h.a < h.c.c.length; ) - l = f(O(h), 61), s[l.b] += l.c.c.length; - for (v = ca(t); v.b != 0; ) - for (l = f(v.b == 0 ? null : (ut(v.b != 0), zs(v, v.a.a)), 61), i = new M(l.g); i.a < i.c.c.length; ) - n = f(O(i), 89), p = n.d, p.e = Jr(p.e, l.e + n.a), --s[p.b], s[p.b] == 0 && wr(v, p, v.c.b, v.c); - } - function tR(e, t, n, i, s, l, h) { - if (e.d = i.e.i.a, e.e = i.e.i.b, s && (e.d += s.e.i.a, e.e += s.e.i.b), e.c = t.e.j.a, e.b = t.e.j.b, !s) - n ? e.d -= h + t.e.j.a : e.d += i.e.j.a + h; - else - switch (f(s.e, 7).g.e) { - case 0: - case 2: - e.d += s.e.j.a + h + l.a + h; - break; - case 4: - e.d -= h + l.a + h + t.e.j.a; - break; - case 1: - e.d += s.e.j.a + h, e.e -= h + l.b + h + t.e.j.b; - break; - case 3: - e.d += s.e.j.a + h, e.e += s.e.j.b + h + l.b + h; - } - } - function gQ(e, t) { - var n, i, s, l, h, v, p, m, S; - for (s = new Se(), p = new M(t); p.a < p.c.c.length; ) - l = f(O(p), 9), Le(s, e.b[l.d.k][l.k]); - for (iJ(e, s); S = ZJ(s); ) - qQ(e, f(S.a, 102), f(S.b, 102), s); - for (t.c = ve(Ze, Me, 1, 0, 4, 1), i = new M(s); i.a < i.c.c.length; ) - for (n = f(O(i), 102), h = n.d, v = 0, m = h.length; v < m; ++v) - l = h[v], t.c[t.c.length] = l, e.a[l.d.k][l.k].a = ka(n.g, n.d[0]).a; - } - function d2(e) { - var t, n, i, s, l, h, v; - for (v = (On(), new $t()), i = new M(e.a.b); i.a < i.c.c.length; ) - t = f(O(i), 25), un(v, t, new Se()); - for (s = new M(e.a.b); s.a < s.c.c.length; ) - for (t = f(O(s), 25), t.r = Hr, h = t.i.mb(); h.G(); ) - l = f(h.H(), 25), f(ci(li(v.d, l)), 20).ib(t); - for (n = new M(e.a.b); n.a < n.c.c.length; ) - t = f(O(n), 25), t.i.Q(), t.i = f(ci(li(v.d, t)), 20); - XA(e); - } - function bQ(e) { - var t, n, i, s, l; - switch (s = f(_e(e.b, 0), 9), t = new qa(e), Le(e.b, t), t.j.a = je(1, s.j.a), t.j.b = je(1, s.j.b), t.i.a = s.i.a, t.i.b = s.i.b, f(z(s, (le(), _r)), 32).e) { - case 4: - t.i.a += 2; - break; - case 1: - t.i.b += 2; - break; - case 2: - t.i.a -= 2; - break; - case 3: - t.i.b -= 2; - } - return i = new Yn(), cn(i, t), n = new bs(), l = f(_e(s.f, 0), 7), Bn(n, l), kn(n, i), dn(Rs(i.i), l.i), dn(Rs(i.a), l.a), t; - } - function pQ(e) { - var t, n, i, s, l, h, v, p, m; - for (m = (On(), new $t()), t = 0, n = new Bw(), v = e.mb(); v.G(); ) - l = f(v.H(), 9), p = Fv(fD(iS(new Jh(), t++), l), n), ra(m.d, l, p); - for (h = e.mb(); h.G(); ) - for (l = f(h.H(), 9), s = Dt(En(l)); xt(s); ) - i = f(Et(s), 12), !Fc(i) && uh(Of(Rf(Af(Bf(new Pl(), Jr(1, f(z(i, (le(), Xa)), 24).a)), 1), f(Kt(m, i.c.f), 61)), f(Kt(m, i.d.f), 61))); - return n; - } - function wQ(e) { - var t, n; - if (!e.V()) { - for (n = f(e.sb(0), 75).f, new yC(e), t = new fn(n.f, 0), Kc((wi(), No), t), Zc(gl, t), dg((we(), rt), t), h2(Ds, t), Zc(Cu, t), tl(lc, t), Kc(rs, t), dg(Be, t), h2(Eu, t), Kc(fc, t), tl(Su, t), Kc(Cu, t), dg(ct, t), h2(is, t), Kc(gl, t), tl(dc, t), Zc(fc, t); t.b < t.d.Y(); ) - ut(t.b < t.d.Y()), t.d.sb(t.c = t.b++); - h2(hc, t), Zc(rs, t), Zc(No, t); - } - } - function mQ(e) { - var t, n; - if (!e.V()) { - for (n = f(e.sb(0), 75).f, new yC(e), t = new fn(n.f, 0), Kc((wi(), No), t), Zc(gl, t), dg((we(), rt), t), tl(Ds, t), Zc(Cu, t), tl(lc, t), Kc(rs, t), dg(Be, t), tl(Eu, t), Kc(fc, t), tl(Su, t), Kc(Cu, t), dg(ct, t), tl(is, t), Kc(gl, t), tl(dc, t), Zc(fc, t); t.b < t.d.Y(); ) - ut(t.b < t.d.Y()), t.d.sb(t.c = t.b++); - tl(hc, t), Zc(rs, t), Zc(No, t); - } - } - function nR(e) { - var t, n, i, s, l, h, v, p, m; - for (s = Ys, h = yr, m = new M(e.e.a); m.a < m.c.c.length; ) - v = f(O(m), 61), h = Au(h, v.e), s = Jr(s, v.e); - for (l = 0, i = ve(Kn, Wn, 26, s - h + 1, 12, 1), p = new M(e.e.a); p.a < p.c.c.length; ) - v = f(O(p), 61), v.e -= h, ++i[v.e]; - if (e.k) - for (n = new M(e.k.c); n.a < n.c.c.length && (t = f(O(n), 16), i[l++] += t.a.c.length, i.length != l); ) - ; - return i; - } - function yQ(e) { - var t, n, i, s; - for (QW(e), sZ(e), s = new ot(ki, ki), t = new ot(Hr, Hr), i = new M(e.a.b); i.a < i.c.c.length; ) - n = f(O(i), 25), s.a = Xt(s.a, n.j.d), s.b = Xt(s.b, n.j.e), t.a = je(t.a, n.j.d + n.j.c), t.b = je(t.b, n.j.e + n.j.b); - dn(Rs(e.d.d), Tm(new ot(s.a, s.b))), dn(Rs(e.d.e), ou(new ot(t.a, t.b), s)), cQ(e, s, t), e.a.a.c = ve(Ze, Me, 1, 0, 4, 1), e.a.b.c = ve(Ze, Me, 1, 0, 4, 1); - } - function kQ(e, t) { - var n, i, s, l, h, v, p, m, S, x; - if (h = e.e, S = f(z(e, (le(), Jd)), 20), x = 0, S) { - for (p = 0, l = S.mb(); l.G(); ) - s = f(l.H(), 9), p = je(p, s.j.b), x += s.j.a; - x += t / 2 * (S.Y() - 1), h.d += p + t; - } - if (n = f(z(e, Zd), 20), i = 0, n) { - for (p = 0, l = n.mb(); l.G(); ) - s = f(l.H(), 9), p = je(p, s.j.b), i += s.j.a; - i += t / 2 * (n.Y() - 1), h.a += p + t; - } - v = x > i ? x : i, v > e.j.a && (m = (v - e.j.a) / 2, h.b = je(h.b, m), h.c = je(h.c, m)); - } - function rR(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j; - for (h = ua(t.d, n, i), x = new M(t.b); x.a < x.c.c.length; ) { - for (S = f(O(x), 9), dn(S.i, h), j = new M(S.f); j.a < j.c.c.length; ) - for (L = f(O(j), 7), l = new M(L.e); l.a < l.c.c.length; ) - for (s = f(O(l), 12), Vu(s.a, h), v = f(z(s, (Ee(), Un)), 44), v && Vu(v, h), m = new M(s.b); m.a < m.c.c.length; ) - p = f(O(m), 33), dn(p.i, h); - Le(e.b, S), S.a = e; - } - } - function EQ(e, t) { - var n, i, s, l, h; - for (e.c == null || e.c.length < t.c.length ? e.c = ve(pb, Bg, 26, t.c.length, 13, 1) : Nv(e.c), e.a = new Se(), i = 0, h = new M(t); h.a < h.c.c.length; ) - s = f(O(h), 9), s.k = i++; - for (n = new Wr(), l = new M(t); l.a < l.c.c.length; ) - s = f(O(l), 9), e.c[s.k] || (bA(e, s), n.b == 0 || (ut(n.b != 0), f(n.a.a.c, 20)).Y() < e.a.c.length ? DD(n, e.a) : Jw(n, e.a), e.a = new Se()); - return n; - } - function SQ(e, t, n) { - var i, s, l, h, v, p, m, S, x; - return i = Ld(e.g), m = dn(_a(e.i), e.a), S = dn(_a(t.i), t.a), s = dn(new qn(m), Yo(new zc(i), n)), x = dn(new qn(S), Yo(new zc(i), n)), h = Yo(ou(new qn(s), x), 0.5), p = dn(dn(new qn(x), h), Yo(new zc(i), VD(h.a * h.a + h.b * h.b))), v = new ey(re(ie(_t, 1), Ht, 10, 0, [m, s, p, x, S])), l = Zl(v, 0.5, !1), v.a = l, B5(v, new t2(re(ie(_t, 1), Ht, 10, 0, [l, m, S]))), v; - } - function pC(e, t) { - var n, i, s, l, h; - if (Nt(t, "Network simplex", 1), e.e.a.c.length < 1) { - Ct(t); - return; - } - for (l = new M(e.e.a); l.a < l.c.c.length; ) - s = f(O(l), 61), s.e = 0; - for (h = e.e.a.c.length >= 40, h && zQ(e), vJ(e), _X(e), n = IO(e), i = 0; n && i < e.f; ) - CQ(e, n, aX(e, n)), n = IO(e), ++i; - h && mZ(e), e.a ? rX(e, nR(e)) : nR(e), e.b = null, e.d = null, e.p = null, e.c = null, e.g = null, e.i = null, e.n = null, e.o = null, Ct(t); - } - function ch(e) { - var t, n, i, s, l, h, v, p, m, S; - for (m = new $r(), s = (On(), new $t()), v = 0, p = e.length; v < p; ++v) - h = e[v], t = h.mc(), m.a.db(t, m), t == null ? ra(s.d, null, h) : zy(s.e, t, h), S = zm(t, (mn(), t.lastIndexOf(".") + 1), t.length), Pc(nT, S) || (m.a.db(S, m), S == null ? ra(s.d, null, h) : zy(s.e, S, h), vn(nT, S)); - return i = (Ea(), jO((l = new Wt(m.a).a.bb().mb(), new Zt(l)))), n = TX(s), new pr(i, n); - } - function CQ(e, t, n) { - var i, s, l; - if (!t.e) - throw new tn("Given leave edge is no tree edge."); - if (n.e) - throw new tn("Given enter edge is a tree edge already."); - for (t.e = !1, Cm(e.p, t), n.e = !0, vn(e.p, n), i = n.d.e - n.c.e - n.a, a2(e, n.d, t) || (i = -i), l = new M(e.e.a); l.a < l.c.c.length; ) - s = f(O(l), 61), a2(e, s, t) || (s.e += i); - e.j = 1, Nv(e.c), X3(e, f(O(new M(e.e.a)), 61)), jR(e); - } - function xQ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j; - if (e.V()) - return new Yr(); - for (m = 0, x = 0, s = e.mb(); s.G(); ) - i = f(s.H(), 55), l = i.e, m = je(m, l.a), x += l.a * l.b; - for (m = je(m, Math.sqrt(x) * f(z(f(e.mb().H(), 55), (le(), Ph)), 15).a), L = 0, j = 0, p = 0, n = t, v = e.mb(); v.G(); ) - h = f(v.H(), 55), S = h.e, L + S.a > m && (L = 0, j += p + t, p = 0), Pg(h, L, j), n = je(n, L + S.a), p = je(p, S.b), L += S.a + t; - return new ot(n + t, j + p + t); - } - function v2(e, t, n, i) { - var s, l, h; - return h = new mD(t, n), e.a ? i ? (s = f(Kt(e.b, t), 126), ++s.a, h.d = i.d, h.e = i.e, h.b = i, h.c = i, i.e ? i.e.c = h : f(Kt(e.b, t), 126).b = h, i.d ? i.d.b = h : e.a = h, i.d = h, i.e = h) : (e.e.b = h, h.d = e.e, e.e = h, s = f(Kt(e.b, t), 126), s ? (++s.a, l = s.c, l.c = h, h.e = l, s.c = h) : (un(e.b, t, new T4(h)), ++e.c)) : (e.a = e.e = h, un(e.b, t, new T4(h)), ++e.c), ++e.d, h; - } - function _s(e) { - var t, n, i, s, l, h, v, p; - if (e.e) - throw new Ou((Al(pk), "The " + pk.j + p8)); - for (e.d == ($n(), Po) && Ss(e, ja), n = new M(e.a.a); n.a < n.c.c.length; ) - t = f(O(n), 78), t.f = 0; - for (h = new M(e.a.b); h.a < h.c.c.length; ) - for (l = f(O(h), 25), l.r = Hr, s = l.i.mb(); s.G(); ) - i = f(s.H(), 25), ++i.f.f; - for (e.b.Cc(e), p = new M(e.a.b); p.a < p.c.c.length; ) - v = f(O(p), 25), v.p = !0; - return e; - } - function TQ(e, t, n, i, s) { - var l, h, v, p; - l = new qa(e), Ha(l, (et(), er)), ce(l, (Ee(), dt), (zn(), ni)), ce(l, (le(), lt), t.c.f), h = new Yn(), ce(h, lt, t.c), Bt(h, s), cn(h, l), ce(t.c, js, l), v = new qa(e), Ha(v, er), ce(v, dt, ni), ce(v, lt, t.d.f), p = new Yn(), ce(p, lt, t.d), Bt(p, s), cn(p, v), ce(t.d, js, v), Bn(t, h), kn(t, p), qc(0, n.c.length), _v(n.c, 0, l), i.c[i.c.length] = v, ce(l, Xd, gt(1)), ce(v, Xd, gt(1)); - } - function LQ(e, t) { - var n, i, s, l, h; - if (h = f(z(e.f, (Ee(), dt)), 28), l = e.g.e - t.g.e, l != 0 || h == (zn(), Xg)) - return l; - if (h == (zn(), yh) && (n = f(z(e, mu), 24), i = f(z(t, mu), 24), n && i && (s = n.a - i.a, s != 0))) - return s; - switch (e.g.e) { - case 1: - return mr(e.i.a, t.i.a); - case 2: - return mr(e.i.b, t.i.b); - case 3: - return mr(t.i.a, e.i.a); - case 4: - return mr(t.i.b, e.i.b); - default: - throw new Ou(m8); - } - } - function iR(e) { - var t, n, i, s, l, h, v, p, m, S, x; - for (v = new Se(), l = ge(Ot(e.g.sb(e.g.Y() - 1))), x = e.g.mb(); x.G(); ) - S = Ot(x.H()), Ac(v, 0, l - (or(S), S)); - for (h = Dy(Sy(e)), m = new Se(), s = new M(v), p = new Se(), t = 0; t < e.c - 1; t++) - Le(m, Ot(O(s))); - for (i = Jt(h, 0); i.b != i.d.c; ) - n = f(Ft(i), 10), Le(m, Ot(O(s))), Le(p, new iy(n, m)), Sn(0, m.c.length), m.c.splice(0, 1); - return new I3(e.e, e.f, e.d, e.c, v, p); - } - function wC(e, t, n, i, s) { - var l, h, v, p, m; - return l = t.$b(n, e.b), l < 0 ? (v = e.e, v ? (h = v.d, e.e = wC(v, t, n, i, s), s[0] == 0 && ++e.a, e.j = Tr(e.j, i), e.e.d == h ? e : vu(e)) : (s[0] = 0, o3(e, n, i))) : l > 0 ? (p = e.g, p ? (h = p.d, e.g = wC(p, t, n, i, s), s[0] == 0 && ++e.a, e.j = Tr(e.j, i), e.g.d == h ? e : vu(e)) : (s[0] = 0, a3(e, n, i))) : (s[0] = e.c, m = Tr(e.c, i), _f(Iy(m, yr) <= 0), e.c += i, e.j = Tr(e.j, i), e); - } - function PQ(e, t) { - var n, i, s, l, h, v; - s = R0(t, `,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | -`), Bs(e); - try { - for (i = 0, h = 0, l = 0, v = 0; i < s.length; ) - s[i] != null && $v(Wc(s[i])) > 0 && (h % 2 == 0 ? l = L0(s[i]) : v = L0(s[i]), h > 0 && h % 2 != 0 && rn(e, new ot(l, v)), ++h), ++i; - } catch (p) { - throw p = Ur(p), xe(p, 130) ? (n = p, new tn("The given string does not match the expected format for vectors." + n)) : Kr(p); - } - } - function aR(e, t, n) { - var i, s, l, h, v, p, m, S; - for (s = !0, h = new M(t.c); h.a < h.c.c.length; ) { - for (l = f(O(h), 16), m = Hr, p = new M(l.a); p.a < p.c.c.length; ) - if (v = f(O(p), 9), S = ge(n.n[v.k]) + ge(n.d[v.k]) - v.e.d, i = ge(n.n[v.k]) + ge(n.d[v.k]) + v.j.b + v.e.a, S > m && i > m) - m = ge(n.n[v.k]) + ge(n.d[v.k]) + v.j.b + v.e.a; - else { - s = !1, e.a && Rl(); - break; - } - if (!s) - break; - } - return e.a && Rl(), s; - } - function DQ(e) { - var t, n, i, s, l, h, v, p; - return isNaN(e) ? (o0(), Cx) : e < -9223372036854776e3 ? (o0(), X8) : e >= 9223372036854776e3 ? (o0(), Z8) : (s = !1, e < 0 && (s = !0, e = -e), i = 0, e >= tc && (i = Xn(e / tc), e -= i * tc), n = 0, e >= Jl && (n = Xn(e / Jl), e -= n * Jl), t = Xn(e), l = Gu(t, n, i), s && (h = ~l.l + 1 & Va, v = ~l.m + (h == 0 ? 1 : 0) & Va, p = ~l.h + (h == 0 && v == 0 ? 1 : 0) & ec, l.l = h, l.m = v, l.h = p), l); - } - function jQ(e) { - var t, n, i, s, l, h, v; - if (s = pg(e), Nc(new M(s))) { - for (v = new $a(0, 0, e.e.j.a, e.e.j.b), n = new M(s); n.a < n.c.c.length; ) - t = f(O(n), 129), i = new $a(t.e.i.a, t.e.i.b, t.e.j.a, t.e.j.b), wg(v, i); - h = new WS((l = f(e.e, 7).d, new qo(l.d, l.b, l.a, l.c))), h.d = -v.e, h.a = v.e + v.b - e.e.j.b, h.b = -v.d, h.c = v.d + v.c - e.e.j.a, f(e.e, 7).d.b = h.b, f(e.e, 7).d.d = h.d, f(e.e, 7).d.c = h.c, f(e.e, 7).d.a = h.a; - } - } - function oR(e) { - var t, n, i, s, l; - for (l = new M(e.f); l.a < l.c.c.length; ) - for (s = f(O(l), 7), i = new M(s.e); i.a < i.c.c.length; ) - if (n = f(O(i), 12), He(z(n.d.f, (zt(), Er))) !== He(($i(), Tu))) - throw new t1((t = n0(e), ax + (t ?? o1(e.k)) + "' has its layer constraint set to LAST or LAST_SEPARATE, but has at least one outgoing edge. Connections between nodes with these " + ox)); - } - function NQ(e, t, n, i) { - var s, l, h, v, p, m; - for (l = new M(e); l.a < l.c.c.length; ) { - if (s = f(O(l), 12), h = s.c, t.a.R(h)) - v = (_c(), Ks); - else if (n.a.R(h)) - v = (_c(), hf); - else - throw new tn("Source port must be in one of the port sets."); - if (p = s.d, t.a.R(p)) - m = (_c(), Ks); - else if (n.a.R(p)) - m = (_c(), hf); - else - throw new tn("Target port must be in one of the port sets."); - Le(i, new sA(s, v, m)); - } - } - function sR(e, t) { - var n, i, s, l, h, v; - if ("edges" in t.a) { - if (v = Mn(t, "edges"), !v.hc()) - throw new gs("The 'edges' property of a node has to be an array.", v, t); - for (l = v.hc(), h = 0; h < l.a.length; ++h) { - if (s = Fu(l, h), !s.kc()) - throw new gs("All elements of the 'edges' property must be objects.", s, t); - Vee(e, s.kc()); - } - } - if (zd in t.a) - for (i = Mn(t, zd).hc(), h = 0; h < i.a.length; ++h) - n = Fu(i, h).kc(), sR(e, n); - } - function A0(e) { - var t, n, i, s, l, h, v, p; - for (i = new M(e.a.a); i.a < i.c.c.length; ) { - for (n = f(O(i), 78), n.g = null, h = (p = new Wt(n.a.a).a.bb().mb(), new Zt(p)); h.a.G(); ) - s = (t = f(h.a.H(), 21), f(t.yb(), 25)), Rs(s.g), (!n.g || s.j.d < n.g.j.d) && (n.g = s); - for (l = (v = new Wt(n.a.a).a.bb().mb(), new Zt(v)); l.a.G(); ) - s = (t = f(l.a.H(), 21), f(t.yb(), 25)), s.g.a = s.j.d - n.g.j.d, s.g.b = s.j.e - n.g.j.e; - } - return e; - } - function IQ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I; - for (n = !1, j = Mg * e.b.f * e.b.d, s = new M(t.c); s.a < s.c.c.length; ) - for (i = f(O(s), 16), m = new M(i.a), l = f(O(m), 9), S = h4(e.a[l.k]); m.a < m.c.c.length; ) - v = f(O(m), 9), x = h4(e.a[v.k]), S != x && (L = Kv(e.b, l, v), h = l.i.b + l.j.b + l.e.a + S.a + L, p = v.i.b - v.e.d + x.a, h > p + j && (I = S.i + x.i, x.a = (x.i * x.a + S.i * S.a) / I, x.i = I, S.g = x, n = !0)), l = v, S = x; - return n; - } - function MQ(e) { - var t, n, i, s, l, h; - if (He(z(e, (Ee(), dt))) === He((zn(), es)) || He(z(e, dt)) === He(ni)) { - for (h = new M(e.f); h.a < h.c.c.length; ) - if (l = f(O(h), 7), l.g == (we(), rt) || l.g == ct) - return !1; - } - if (ds(f(z(e, dt), 28))) { - for (s = Jn(e, (we(), Be)).mb(); s.G(); ) - if (i = f(s.H(), 7), i.b.c.length != 0) - return !1; - } - for (n = Dt(En(e)); xt(n); ) - if (t = f(Et(n), 12), t.c.f == t.d.f) - return !1; - return !0; - } - function uR(e, t) { - var n, i, s, l, h, v, p, m, S; - if (s = e.f, h = s.j.a, l = s.j.b, h <= 0 && l <= 0) - return we(), cr; - switch (m = e.i.a, S = e.i.b, v = e.j.a, n = e.j.b, t.e) { - case 2: - case 1: - if (m < 0) - return we(), qe; - if (m + v > h) - return we(), Be; - break; - case 4: - case 3: - if (S < 0) - return we(), rt; - if (S + n > l) - return we(), ct; - } - return p = (m + v / 2) / h, i = (S + n / 2) / l, p + i <= 1 && p - i <= 0 ? (we(), qe) : p + i >= 1 && p - i >= 0 ? (we(), Be) : i < 0.5 ? (we(), rt) : (we(), ct); - } - function cR(e, t, n, i, s, l, h) { - var v, p, m, S, x, L; - for (L = new lm(), m = t.mb(); m.G(); ) - for (v = f(m.H(), 627), x = new M(yO(v)); x.a < x.c.c.length; ) - S = f(O(x), 129), He(nr(S, (Ee(), da))) === He((ys(), ph)) && (tR(L, S, !1, i, s, l, h), wg(e, L)); - for (p = n.mb(); p.G(); ) - for (v = f(p.H(), 627), x = new M(yO(v)); x.a < x.c.c.length; ) - S = f(O(x), 129), He(nr(S, (Ee(), da))) === He((ys(), sl)) && (tR(L, S, !0, i, s, l, h), wg(e, L)); - } - function mC(e, t) { - var n, i, s, l, h, v, p, m; - for (p = new M(t.f); p.a < p.c.c.length; ) - for (v = f(O(p), 7), s = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [v.b, v.e])))))); xt(s); ) - i = f(Et(s), 12), n = i.c == v ? i.d : i.c, l = n.f, t != l && (m = f(z(i, (le(), Xa)), 24).a, m < 0 && (m = 0), h = l.k, e.b[h] == 0 && (i.d == n ? (e.a[h] -= m + 1, e.a[h] <= 0 && e.c[h] > 0 && rn(e.e, l)) : (e.c[h] -= m + 1, e.c[h] <= 0 && e.a[h] > 0 && rn(e.d, l)))); - } - function OQ(e, t) { - var n, i, s, l, h, v, p, m, S; - for (h = new M(t.c); h.a < h.c.c.length; ) - for (l = f(O(h), 16), m = new M(l.a); m.a < m.c.c.length; ) { - for (p = f(O(m), 9), S = new Se(), v = 0, s = Dt(Lr(p)); xt(s); ) - n = f(Et(s), 12), f(z(n, (le(), Xa)), 24).a > v && (v = f(z(n, Xa), 24).a); - for (i = Dt(Lr(p)); xt(i); ) - n = f(Et(i), 12), p.d != n.c.f.d && f(z(n, (le(), Xa)), 24).a == v && Le(S, new pr(n.c.f, n)); - Ya(S, e.c), Ac(e.b, p.k, S); - } - } - function AQ(e, t) { - var n, i, s, l, h, v, p, m, S; - for (h = new M(t.c); h.a < h.c.c.length; ) - for (l = f(O(h), 16), m = new M(l.a); m.a < m.c.c.length; ) { - for (p = f(O(m), 9), S = new Se(), v = 0, s = Dt(En(p)); xt(s); ) - n = f(Et(s), 12), f(z(n, (le(), Xa)), 24).a > v && (v = f(z(n, Xa), 24).a); - for (i = Dt(En(p)); xt(i); ) - n = f(Et(i), 12), p.d != n.d.f.d && f(z(n, (le(), Xa)), 24).a == v && Le(S, new pr(n.d.f, n)); - Ya(S, e.c), Ac(e.f, p.k, S); - } - } - function yC(e) { - kM(); - var t, n, i, s, l, h, v, p, m, S; - for (this.b = new Tf(), this.c = new Se(), this.a = new Se(), p = b3(), m = 0, S = p.length; m < S; ++m) - v = p[m], ZS(vl, v, new Se()); - for (n = e.mb(); n.G(); ) - t = f(n.H(), 75), Tn(this.a, ay(t)), t.g.a.Y() == 0 ? f(Zf(vl, t.e), 20).ib(t) : Le(this.c, t); - for (l = (h = new Ev(vl).a.bb().mb(), new Sv(h)); l.a.G(); ) - s = (i = f(l.a.H(), 21), f(i.zb(), 20)), Ya(s, this.b); - D0(f(Zf(vl, (wi(), No)), 20)); - } - function lR(e, t) { - var n, i, s, l, h, v, p; - if (p = f(z(t, (Ee(), dt)), 28), p == (zn(), es) || p == ni) - for (l = (n = f(z(t, (le(), os)), 15).a, new ot(t.e.a + t.a.b + t.a.c + 2 * n, t.e.b + t.a.d + t.a.a + 2 * n)).b, v = new M(e.a); v.a < v.c.c.length; ) - h = f(O(v), 9), h.g == (et(), Cn) && (i = f(z(h, _r), 32), !(i != (we(), Be) && i != qe) && (s = ge(Ot(z(h, xu))), p == es && (s *= l), h.i.b = s - f(z(h, wu), 10).b, w0(h, !1, !0))); - } - function fR(e, t) { - var n, i, s, l, h, v, p, m; - for (n = new qa(e.d.c), Ha(n, (et(), Ii)), ce(n, (Ee(), dt), f(z(t, dt), 28)), ce(n, ia, f(z(t, ia), 86)), n.k = e.d.b++, Le(e.b, n), n.j.b = t.j.b, n.j.a = 0, m = (we(), Be), l = Gc(Jn(t, m)), p = new M(l); p.a < p.c.c.length; ) - v = f(O(p), 7), cn(v, n); - return h = new Yn(), Bt(h, m), cn(h, t), h.i.a = n.j.a, h.i.b = n.j.b / 2, s = new Yn(), Bt(s, Oy(m)), cn(s, n), s.i.b = n.j.b / 2, s.i.a = -s.j.a, i = new bs(), Bn(i, h), kn(i, s), n; - } - function RQ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I; - for (p = new Im(), lK(e, p), s = new GM(t), j = new Se(), Le(j, (I = e.j, f(zD(Vj(I || (e.j = new LP(e)))), 7))), L = new Se(); j.c.length != 0; ) { - for (v = f(O(new M(j)), 7), L.c[L.c.length] = v, i = B4(e, v), h = new Qh(i.b.mb()); h.b.G(); ) - if (l = f(h.b.H(), 12), gZ(s, l, n)) - for (x = f(o2(p, l), 20), S = x.mb(); S.G(); ) - m = f(S.H(), 7), Di(L, m, 0) != -1 || (j.c[j.c.length] = m); - Cr(j, v); - } - return s; - } - function R0(e, t) { - var n, i, s, l, h, v, p; - for (n = RegExp(t, "g"), v = ve(_2, Dr, 2, 0, 5, 1), i = 0, p = e, l = null; ; ) - if (h = n.exec(p), h == null || p == "") { - v[i] = p; - break; - } else - v[i] = zm(p, 0, h.index), p = zm(p, h.index + h[0].length, (mn(), p.length)), n.lastIndex = 0, l == p && (v[i] = p.substr(0, 1), p = gd(p, 1, p.length - 1)), l = p, ++i; - if (mn(), e.length > 0) { - for (s = v.length; s > 0 && v[s - 1] == ""; ) - --s; - s < v.length && (v.length = s); - } - return v; - } - function BQ(e) { - var t, n, i, s, l, h; - for (h = new M(Xu(e.e)); h.a < h.c.c.length; ) - switch (l = f(O(h), 161), f(l.e, 7).g.e) { - case 4: - e.q.b = je(e.q.b, (n = f(l.e, 7).d, new qo(n.d, n.b, n.a, n.c)).c); - break; - case 2: - e.q.c = je(e.q.c, (i = f(l.e, 7).d, new qo(i.d, i.b, i.a, i.c)).b); - break; - case 1: - e.q.d = je(e.q.d, (s = f(l.e, 7).d, new qo(s.d, s.b, s.a, s.c)).a); - break; - case 3: - e.q.a = je(e.q.a, (t = f(l.e, 7).d, new qo(t.d, t.b, t.a, t.c)).d); - } - } - function kC(e, t, n, i, s) { - var l, h, v; - return l = t.$b(n, e.b), l < 0 ? (h = e.e, h ? (e.e = kC(h, t, n, i, s), i == 0 && s[0] != 0 ? --e.a : i > 0 && s[0] == 0 && ++e.a, e.j = Tr(e.j, i - s[0]), vu(e)) : (s[0] = 0, i > 0 ? o3(e, n, i) : e)) : l > 0 ? (v = e.g, v ? (e.g = kC(v, t, n, i, s), i == 0 && s[0] != 0 ? --e.a : i > 0 && s[0] == 0 && ++e.a, e.j = Tr(e.j, i - s[0]), vu(e)) : (s[0] = 0, i > 0 ? a3(e, n, i) : e)) : (s[0] = e.c, i == 0 ? sC(e) : (e.j = Tr(e.j, i - e.c), e.c = i, e)); - } - function zQ(e) { - var t, n, i, s, l, h, v; - for (e.o = new Y5(), i = new Wr(), h = new M(e.e.a); h.a < h.c.c.length; ) - l = f(O(h), 61), Kl(l).c.length == 1 && wr(i, l, i.c.b, i.c); - for (; i.b != 0; ) - l = f(i.b == 0 ? null : (ut(i.b != 0), zs(i, i.a.a)), 61), Kl(l).c.length != 0 && (t = f(_e(Kl(l), 0), 89), n = l.g.c.length > 0, v = _y(t, l), PS(n ? v.c : v.g, t), Kl(v).c.length == 1 && wr(i, v, i.c.b, i.c), s = new pr(l, t), t9(e.o, s), Cr(e.e.a, l)); - } - function EC(e, t, n, i, s) { - var l, h, v; - return l = t.$b(n, e.b), l < 0 ? (h = e.e, h ? (e.e = EC(h, t, n, i, s), s[0] > 0 && (i >= s[0] ? (--e.a, e.j = Ku(e.j, s[0])) : e.j = Ku(e.j, i)), s[0] == 0 ? e : vu(e)) : (s[0] = 0, e)) : l > 0 ? (v = e.g, v ? (e.g = EC(v, t, n, i, s), s[0] > 0 && (i >= s[0] ? (--e.a, e.j = Ku(e.j, s[0])) : e.j = Ku(e.j, i)), vu(e)) : (s[0] = 0, e)) : (s[0] = e.c, i >= e.c ? sC(e) : (e.c -= i, e.j = Ku(e.j, i), e)); - } - function hR(e, t, n) { - var i, s, l, h, v, p, m, S; - for (p = new M(n.b); p.a < p.c.c.length; ) - v = f(O(p), 9), h = f(z(v, (le(), pl)), 55), h && (S = hR(e, t, h), v.j.a = (l = f(z(S, os), 15).a, new ot(S.e.a + S.a.b + S.a.c + 2 * l, S.e.b + S.a.d + S.a.a + 2 * l)).a, v.j.b = (s = f(z(S, os), 15).a, new ot(S.e.a + S.a.b + S.a.c + 2 * s, S.e.b + S.a.d + S.a.a + 2 * s)).b); - return m = new j1(), i = qf(z(n, (Ee(), Ox))), i != null && zo(i, "de.cau.cs.kieler.fixed") ? Yee(n, m) : IZ(t, n, m), n; - } - function dR(e) { - var t, n, i, s, l, h, v, p; - v = f(z(e, (Ee(), ic)), 18), p = f(z(e, Zg), 18), i = f(z(e, (le(), os)), 15).a, e.d.a += i, e.d.b += i, e.e.a += 2 * i, e.e.b += 2 * i, ce(e, os, new Ut(0)), s = (n = f(z(e, os), 15).a, new ot(e.e.a + e.a.b + e.a.c + 2 * n, e.e.b + e.a.d + e.a.a + 2 * n)), t = new qn(s), v.kb((du(), Jg)) && (h = f(z(e, Fd), 15).a, l = f(z(e, Yd), 15).a, p.kb((sh(), tb)) && (h <= 0 && (h = 20), l <= 0 && (l = 20)), t.a = je(s.a, h), t.b = je(s.b, l)), rJ(e, s, t); - } - function vR(e, t, n) { - var i, s, l, h, v, p, m, S; - if (t.k == 0) { - for (t.k = 1, h = n, n || (s = new Se(), l = (i = f(Hi(Nr), 11), new ti(i, f(xi(i, i.length), 11), 0)), h = new pr(s, l)), f(h.a, 20).ib(t), t.g == (et(), Cn) && f(h.b, 18).ib(f(z(t, (le(), _r)), 32)), p = new M(t.f); p.a < p.c.c.length; ) - for (v = f(O(p), 7), S = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [new Zh(v), new Lf(v)])))))); xt(S); ) - m = f(Et(S), 7), vR(e, m.f, h); - return h; - } - return null; - } - function HQ(e, t, n, i) { - var s, l, h, v, p; - switch (p = new qn(t.i), p.a += t.j.a / 2, p.b += t.j.b / 2, v = f(z(t, (le(), Qd)), 15).a, l = e.e, h = e.a, s = e.d, f(z(t, _r), 32).e) { - case 1: - p.a += h.b + s.a - n / 2, p.b = -i - v, t.i.b = -(h.d + v + s.b); - break; - case 2: - p.a = l.a + h.b + h.c + v, p.b += h.d + s.b - i / 2, t.i.a = l.a + h.c + v - s.a; - break; - case 3: - p.a += h.b + s.a - n / 2, p.b = l.b + h.d + h.a + v, t.i.b = l.b + h.a + v - s.b; - break; - case 4: - p.a = -n - v, p.b += h.d + s.b - i / 2, t.i.a = -(h.b + v + s.a); - } - return p; - } - function _Q(e, t) { - var n, i, s, l, h, v, p; - for (l = new M(t.b); l.a < l.c.c.length; ) - s = f(O(l), 9), h = z(s, (le(), lt)), xe(h, 7) && (v = f(h, 7), p = HQ(t, s, v.j.a, v.j.b), v.i.a = p.a, v.i.b = p.b, Bt(v, f(z(s, _r), 32))); - n = (i = f(z(t, (le(), os)), 15).a, new ot(t.e.a + t.a.b + t.a.c + 2 * i, t.e.b + t.a.d + t.a.a + 2 * i)), f(z(t, qr), 18).kb((vr(), as)) ? (ce(e, (Ee(), dt), (zn(), ni)), f(z(Ti(e), qr), 18).ib(df), OC(e, n, !1)) : OC(e, n, !0); - } - function SC(e, t, n) { - var i, s, l, h, v; - switch (v = null, t.e) { - case 1: - for (s = new M(e.f); s.a < s.c.c.length; ) - if (i = f(O(s), 7), Pt(ge(jt(z(i, (le(), sE)))))) - return i; - v = new Yn(), ce(v, (le(), sE), (yn(), yn(), ii)); - break; - case 2: - for (h = new M(e.f); h.a < h.c.c.length; ) - if (l = f(O(h), 7), Pt(ge(jt(z(l, (le(), uE)))))) - return l; - v = new Yn(), ce(v, (le(), uE), (yn(), yn(), ii)); - } - return v && (cn(v, e), Bt(v, n), IK(v.i, e.j, n)), v; - } - function gR(e, t) { - var n, i, s, l, h, v, p; - return vt(t), _f(e.a.t(t.a)), i = e.b, l = e.e, h = e.d, e.b ? t.b && (n = e.a.$b(e.e, t.e), (n < 0 || n == 0 && t.d == (yo(), Wa)) && (l = t.e, h = t.d)) : (i = t.b, l = t.e, h = t.d), s = e.c, v = e.g, p = e.f, e.c ? t.c && (n = e.a.$b(e.g, t.g), (n > 0 || n == 0 && t.f == (yo(), Wa)) && (v = t.g, p = t.f)) : (s = t.c, v = t.g, p = t.f), i && s && (n = e.a.$b(l, v), (n > 0 || n == 0 && h == (yo(), Wa) && p == (yo(), Wa)) && (l = v, h = (yo(), Wa), p = Z0)), new j0(e.a, i, l, h, s, v, p); - } - function GQ(e, t, n, i) { - var s, l, h, v, p, m, S; - if (n.c.f != t.f) - for (s = new qa(e), Ha(s, (et(), hn)), ce(s, (le(), lt), n), ce(s, (Ee(), dt), (zn(), ni)), i.c[i.c.length] = s, h = new Yn(), cn(h, s), Bt(h, (we(), qe)), v = new Yn(), cn(v, s), Bt(v, Be), kn(n, h), l = new bs(), hu(l, n), ce(l, Un, null), Bn(l, v), kn(l, t), pA(s, h, v), m = new fn(n.b, 0); m.b < m.d.Y(); ) - p = (ut(m.b < m.d.Y()), f(m.d.sb(m.c = m.b++), 33)), S = f(z(p, da), 107), S == (ys(), sl) && (So(m), Le(l.b, p)); - } - function $Q(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (l = n + (t.n + 1) * e.a, h = t.b, s = new ot(l, h), p = (S = new Wt(t.c.a).a.bb().mb(), new Zt(S)); p.a.G(); ) - v = (m = f(p.a.H(), 21), f(m.yb(), 12)), I = Pi(v.d), x = Pi(v.c), j = new ot(l, x.b), Y = new ot(l, I.b), L = new ot(n - 10, x.b), R = new ot(i, I.b), I.a >= i && x.a >= i && (L.a = i), I.a <= n && x.a <= n && (R.a = n - 10), t.c.a.Y() == 1 ? U4(v.a, re(ie(_t, 1), Ht, 10, 0, [L, j, Y, R])) : U4(v.a, re(ie(_t, 1), Ht, 10, 0, [L, j, s, Y, R])); - } - function bu(e, t) { - var n, i, s, l, h, v; - for (l = e.c, h = e.d, Bn(e, null), kn(e, null), t && Pt(ge(jt(z(h, (le(), sE))))) ? Bn(e, SC(h.f, (sr(), ri), (we(), Be))) : Bn(e, h), t && Pt(ge(jt(z(l, (le(), uE))))) ? kn(e, SC(l.f, (sr(), Ai), (we(), qe))) : kn(e, l), i = new M(e.b); i.a < i.c.c.length; ) - n = f(O(i), 33), s = f(z(n, (Ee(), da)), 107), s == (ys(), ph) ? ce(n, da, sl) : s == sl && ce(n, da, ph); - v = Pt(ge(jt(z(e, (le(), Xs))))), ce(e, Xs, (yn(), v ? Rn : ii)), e.a = Dy(e.a); - } - function CC(e) { - var t, n, i, s, l, h; - for (DS(this), n = e.Y() - 1; n < 3; n++) - e.rb(0, f(e.sb(0), 10)); - if (e.Y() < 4) - throw new tn("At (least dimension + 1) control points are necessary!"); - for (this.c = 3, this.e = !0, this.f = !0, this.d = !1, dX(this, e.Y() + this.c - 1), h = new Se(), l = this.g.mb(), t = 0; t < this.c - 1; t++) - Le(h, Ot(l.H())); - for (s = e.mb(); s.G(); ) - i = f(s.H(), 10), Le(h, Ot(l.H())), this.b.ib(new iy(i, h)), Sn(0, h.c.length), h.c.splice(0, 1); - } - function YQ(e) { - var t, n, i, s, l, h, v, p, m, S, x; - for (x = new Cw(), x.d = 0, h = new M(e.c); h.a < h.c.c.length; ) - l = f(O(h), 16), x.d += l.a.c.length; - for (i = 0, s = 0, x.a = ve(Kn, Wn, 26, e.c.c.length, 12, 1), m = 0, x.e = ve(Kn, Wn, 26, x.d, 12, 1), n = new M(e.c); n.a < n.c.c.length; ) - for (t = f(O(n), 16), t.k = i++, x.a[t.k] = s++, S = 0, p = new M(t.a); p.a < p.c.c.length; ) - v = f(O(p), 9), v.k = m++, x.e[v.k] = S++; - return x.c = new XP(x), x.b = Ic(x.d), OQ(x, e), x.f = Ic(x.d), AQ(x, e), x; - } - function FQ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R; - for (v = ve(Kn, Wn, 26, t.c.c.length, 12, 1), m = ve(aT, De, 132, t.c.c.length, 0, 1), x = e.a, L = 0, j = x.length; L < j; ++L) { - for (S = x[L], R = 0, h = new M(S.f); h.a < h.c.c.length; ) - s = f(O(h), 9), p = s.g, i = ea(s.d), ++v[i], I = e.b.a * e.b.d, v[i] > 0 && m[i] && (I = Om(e.b, m[i], p)), R = je(R, s.d.c.b + I); - for (l = new M(S.f); l.a < l.c.c.length; ) - s = f(O(l), 9), s.i.b = R + s.e.d, n = s.d, n.c.b = R + s.e.d + s.j.b + s.e.a, m[Di(n.b.c, n, 0)] = s.g; - } - } - function bR(e) { - var t, n, i, s, l, h, v, p, m, S; - for (p = new M(e.a); p.a < p.c.c.length; ) - if (v = f(O(p), 9), v.g == (et(), Cn) && (s = f(z(v, (le(), _r)), 32), s == (we(), Be) || s == qe)) - for (i = Dt(yg(v)); xt(i); ) - n = f(Et(i), 12), t = n.a, t.b != 0 && (m = n.c, m.f == v && (l = (ut(t.b != 0), f(t.a.a.c, 10)), l.b = ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])).b), S = n.d, S.f == v && (h = (ut(t.b != 0), f(t.c.b.c, 10)), h.b = ln(re(ie(_t, 1), Ht, 10, 0, [S.f.i, S.i, S.a])).b)); - } - function qQ(e, t, n, i) { - var s, l, h, v, p, m; - for (h = new LR(e, t, n), p = new fn(i, 0), s = !1; p.b < p.d.Y(); ) - v = (ut(p.b < p.d.Y()), f(p.d.sb(p.c = p.b++), 102)), v == t || v == n ? So(p) : !s && ge(ka(v.g, v.d[0]).a) > ge(ka(h.g, h.d[0]).a) ? (ut(p.b > 0), p.a.sb(p.c = --p.b), su(p, h), s = !0) : v.e && v.e.Y() > 0 && (l = (!v.e && (v.e = new Se()), v.e).nb(t), m = (!v.e && (v.e = new Se()), v.e).nb(n), (l || m) && ((!v.e && (v.e = new Se()), v.e).ib(h), ++h.c)); - s || (i.c[i.c.length] = h); - } - function VQ(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I; - n.d.f != t.f && (s = new qa(e), Ha(s, (et(), hn)), ce(s, (le(), lt), n), ce(s, (Ee(), dt), (zn(), ni)), i.c[i.c.length] = s, h = new Yn(), cn(h, s), Bt(h, (we(), qe)), v = new Yn(), cn(v, s), Bt(v, Be), p = n.d, kn(n, h), l = new bs(), hu(l, n), ce(l, Un, null), Bn(l, v), kn(l, p), m = f(_e(h.b, 0), 12).c, S = m.f, x = S.g, L = f(_e(v.e, 0), 12).d, j = L.f, I = j.g, x == hn ? ce(s, Mi, f(z(S, Mi), 7)) : ce(s, Mi, m), I == hn ? ce(s, Si, f(z(j, Si), 7)) : ce(s, Si, L)); - } - function WQ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - return v = e.b[t], p = e.b[n], m = f(z(v, (le(), Dh)), 20), !!m && m.Y() != 0 && m.kb(p) || (S = v.g != (et(), hn) && p.g != hn, x = f(z(v, bl), 9), L = f(z(p, bl), 9), j = !!x && x != v || !!L && L != p, I = x != L, R = UO(v, (we(), rt)), Y = UO(p, ct), q = j && I || R || Y, S && q) || v.g == (et(), er) && p.g == Hn || p.g == (et(), er) && v.g == Hn ? !1 : (h = e.b[t], i = e.b[n], QK(e.c, h, i), rZ(e.d, h, i), l = MM(e.a, h, i) + e.c.d + e.d.d, s = MM(e.a, i, h) + e.c.b + e.d.b, l > s); - } - function UQ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R; - for (h = t, L = t.d, S = t.c.f, j = t.d.f, x = ea(S.d), I = ea(j.d), v = x; v < I; v++) - s = new qa(e), Ha(s, (et(), hn)), ce(s, (le(), lt), h), ce(s, (Ee(), dt), (zn(), ni)), p = f(_e(e.c, v + 1), 16), Ar(s, p), R = f(z(h, Jo), 15).a, R < 0 && (R = 0, ce(h, Jo, new Ut(R))), s.j.b = R, m = Math.floor(R / 2), i = new Yn(), Bt(i, (we(), qe)), cn(i, s), i.i.b = m, l = new Yn(), Bt(l, Be), cn(l, s), l.i.b = m, kn(h, i), n = new bs(), hu(n, h), ce(n, Un, null), Bn(n, l), kn(n, L), qK(s, h, n), h = n; - } - function KQ(e, t) { - if (wi(), e == t) - return $y(e); - switch (e.e) { - case 1: - switch (t.e) { - case 4: - return No; - case 1: - return Ds; - case 2: - return lc; - case 3: - return Cu; - } - case 2: - switch (t.e) { - case 1: - return lc; - case 2: - return Eu; - case 3: - return Su; - case 4: - return rs; - } - case 3: - switch (t.e) { - case 2: - return Su; - case 3: - return is; - case 4: - return dc; - case 1: - return Cu; - } - case 4: - switch (t.e) { - case 3: - return dc; - case 4: - return hc; - case 1: - return No; - case 2: - return rs; - } - } - return ff; - } - function ZQ(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R; - for (x = new _i(), s = null, h = new M(e.c); h.a < h.c.c.length; ) { - for (l = f(O(h), 16), p = new M(l.a); p.a < p.c.c.length; ) - v = f(O(p), 9), v.g == (et(), Cn) && (S = f(z(v, (le(), Tp)), 9), S && (OK(S, x), L = new Yn(), cn(L, v), j = f(z(v, _r), 32), Bt(L, j), I = f(_e(S.f, 0), 7), R = new bs(), Bn(R, L), kn(R, I))); - s = l; - } - for (n = (m = new Wt(x.a).a.bb().mb(), new Zt(m)); n.a.G(); ) - t = (i = f(n.a.H(), 21), f(i.yb(), 9)), Ar(t, s); - return x; - } - function pR(e, t, n) { - var i, s, l, h, v, p, m, S, x; - for (s = new Se(), m = new M(t.b); m.a < m.c.c.length; ) - if (p = f(O(m), 9), v = f(z(p, (le(), pl)), 55), v && (i = pR(e, v, p), Tn(s, i), GJ(e, v, p), f(z(v, qr), 18).kb((vr(), as)))) - for (x = new M(p.f); x.a < x.c.c.length; ) - S = f(O(x), 7), Kt(e.b, S) == null && (l = B0(S, (zn(), jo), S.g, -(S.b.c.length - S.e.c.length), S.j, f(z(v, (Ee(), Do)), 59), v), ce(l, lt, S), un(e.b, S, l), Le(v.b, l)); - return h = new Se(), FJ(e, t, n, s, h), n && BJ(e, t, n, h), h; - } - function XQ(e) { - var t, n, i, s, l, h, v, p, m, S, x, L; - for (t = CA(e), S = (v = new Wt(t).a.bb().mb(), new Zt(v)); S.a.G(); ) { - for (m = (s = f(S.a.H(), 21), f(s.yb(), 9)), x = m.e.d, L = m.j.b + m.e.a, e.d[m.k] = 0, n = m; (l = e.a[n.k]) != m; ) - i = $U(n, l), e.c == (Co(), Ps) ? p = i.d.i.b + i.d.a.b - i.c.i.b - i.c.a.b : p = i.c.i.b + i.c.a.b - i.d.i.b - i.d.a.b, h = ge(e.d[n.k]) + p, e.d[l.k] = h, x = je(x, l.e.d - h), L = je(L, h + l.j.b + l.e.a), n = l; - n = m; - do - e.d[n.k] = ge(e.d[n.k]) + x, n = e.a[n.k]; - while (n != m); - e.b[m.k] = x + L; - } - } - function g2(e, t, n) { - var i, s, l, h, v, p, m, S; - return i = e.a.k == (oo(), Za) ? ki : Hr, v = ZA(e, new FD(t, n)), !v.a && v.c ? (rn(e.d, v), i) : v.a ? (s = v.a.c, p = v.a.d, n ? (m = e.a.c == (Co(), cc) ? p : s, l = e.a.c == cc ? s : p, h = e.a.f[l.f.k], S = ge(e.a.n[h.k]) + ge(e.a.d[l.f.k]) + l.i.b + l.a.b - ge(e.a.d[m.f.k]) - m.i.b - m.a.b) : (m = e.a.c == (Co(), Ps) ? p : s, l = e.a.c == Ps ? s : p, S = ge(e.a.n[e.a.f[l.f.k].k]) + ge(e.a.d[l.f.k]) + l.i.b + l.a.b - ge(e.a.d[m.f.k]) - m.i.b - m.a.b), S) : i; - } - function QQ(e) { - var t, n, i, s, l; - for (ce(e.g, (le(), mL), ca(e.g.c)), t = 1; t < e.c.c.length - 1; ++t) - ce(f(_e(e.c, t), 9), (Ee(), ia), (gu(), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, Ua])))); - for (i = Jt(ca(e.g.c), 0); i.b != i.d.c; ) - n = f(Ft(i), 33), s = f(z(e.g, (Ee(), ia)), 86), Wu(s, Yt((gu(), Ui), re(ie(Ln, 1), De, 41, 0, [qi, ga]))) || (Wu(s, Yt(Ui, re(ie(Ln, 1), De, 41, 0, [Wi, ga]))) ? (Le(e.e.c, n), Cr(e.g.c, n), l = new ID(e, n), ce(e.g, aE, l)) : (UX(e, n), Le(e.i, e.d), ce(e.g, aE, LK(e.i)))); - } - function wR(e, t, n, i) { - var s, l, h, v, p, m, S; - if (l = By(i), v = Pt(ge(jt(z(i, (zt(), ML))))), (v || Pt(ge(jt(z(e, (Ee(), qg)))))) && !ds(f(z(e, (Ee(), dt)), 28))) - s = g0(l), p = SC(e, n, n == (sr(), ri) ? s : Oy(s)); - else - switch (p = new Yn(), cn(p, e), S = p.i, S.a = t.a - e.i.a, S.b = t.b - e.i.b, MZ(S, e.j.a, e.j.b), Bt(p, uR(p, l)), h = f(z(i, (le(), qr)), 18), m = p.g, l.e) { - case 2: - case 1: - (m == (we(), rt) || m == ct) && h.ib((vr(), vf)); - break; - case 4: - case 3: - (m == (we(), Be) || m == qe) && h.ib((vr(), vf)); - } - return p; - } - function JQ(e) { - var t, n, i, s, l, h, v, p; - for (i = _S(Gc(e.a)), s = (t = f(Hi(Wd), 11), new ti(t, f(xi(t, t.length), 11), 0)); i.a.G() || i.b.mb().G(); ) - n = f(J4(i), 12), v = n.c.g, p = n.d.g, v == (we(), cr) ? p != cr && (h = $y(p), ce(n, (le(), hb), h), Bt(n.c, p), hi(s, h), i.a.I()) : p == cr ? (h = $y(v), ce(n, (le(), hb), h), Bt(n.d, v), hi(s, h), i.a.I()) : (h = KQ(v, p), ce(n, (le(), hb), h), hi(s, h), i.a.I()); - return s.c == 1 ? l = f(Yc(new Hf(s)), 60) : l = (wi(), ff), Dd(e, l, !1), l; - } - function eJ(e, t) { - var n, i, s, l; - for (s = 0; s < (mn(), t.length) && pM(t.charCodeAt(s), t8); ) - ++s; - for (n = t.length; n > 0 && pM(t.charCodeAt(n - 1), n8); ) - --n; - if (s >= n) - throw new tn("The given string does not contain any numbers."); - if (l = R0(t.substr(s, n - s), `,|;|\r| -`), l.length != 2) - throw new tn("Exactly two numbers are expected, " + l.length + " were found."); - try { - e.a = L0(Wc(l[0])), e.b = L0(Wc(l[1])); - } catch (h) { - throw h = Ur(h), xe(h, 130) ? (i = h, new tn(r8 + i)) : Kr(h); - } - } - function tJ(e, t, n) { - var i, s, l, h, v, p, m, S, x; - for (p = n + t.d.c.a, x = new M(t.f); x.a < x.c.c.length; ) { - if (S = f(O(x), 7), i = ln(re(ie(_t, 1), Ht, 10, 0, [S.f.i, S.i, S.a])), l = new ot(0, i.b), S.g == (we(), Be)) - l.a = p; - else if (S.g == qe) - l.a = n; - else - continue; - if (i.a != l.a) - for (s = S.e.c.length + S.b.c.length > 1, v = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [S.b, S.e])))))); xt(v); ) - h = f(Et(v), 12), m = h.c == S ? h.d : h.c, ei(ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])).b - l.b) > 1 && oX(e, h, l, s, S); - } - } - function mR(e, t) { - var n, i, s, l, h, v; - for (h = new Ul(new iu(e.f.b).a); h.b; ) { - if (l = Sd(h), s = f(l.yb(), 251), t == 1) { - if (s.yc() != ($n(), Ws) && s.yc() != Ts) - continue; - } else if (s.yc() != ($n(), ja) && s.yc() != Fi) - continue; - switch (i = f(f(l.zb(), 27).b, 25), v = f(f(l.zb(), 27).a, 78), n = v.c, s.yc().e) { - case 2: - i.j.d = e.e.a, i.j.c = je(1, i.j.c + n); - break; - case 1: - i.j.d = i.j.d + n, i.j.c = je(1, i.j.c - n); - break; - case 4: - i.j.e = e.e.b, i.j.b = je(1, i.j.b + n); - break; - case 3: - i.j.e = i.j.e + n, i.j.b = je(1, i.j.b - n); - } - } - } - function xC(e, t, n, i, s) { - var l, h, v, p, m, S, x, L, j; - for (L = (On(), new $t()), v = new Se(), aA(e, n, e.d.Mc(), v, L), aA(e, i, e.d.Nc(), v, L), p = new fn(v, 0); p.b < p.d.Y(); ) - for (l = (ut(p.b < p.d.Y()), f(p.d.sb(p.c = p.b++), 80)), m = new fn(v, p.b); m.b < m.d.Y(); ) - h = (ut(m.b < m.d.Y()), f(m.d.sb(m.c = m.b++), 80)), rQ(l, h, e.a); - for (zee(v, f(z(t, (le(), jh)), 154)), _J(v), j = -1, x = new M(v); x.a < x.c.c.length; ) - S = f(O(x), 80), !(ei(S.k - S.a) < pu) && (j = Jr(j, S.i), e.d.Kc(S, s)); - return e.b.a.Q(), j + 1; - } - function yR(e, t, n) { - var i, s; - switch (s = new qn(t), i = new qn(e.j), n.e) { - case 1: - case 8: - case 7: - ua(s, -i.a / 2, -i.b), ua(t, 0, -(0.5 + i.b)); - break; - case 3: - case 4: - case 5: - ua(s, -i.a / 2, 0), ua(t, 0, 0.5 + i.b); - break; - case 0: - ua(s, -i.a / 2, -i.b), ua(t, 0, -(0.5 + -i.b)); - break; - case 10: - case 2: - ua(s, 0, -i.b / 2), ua(t, 0, -(0.5 + i.b)); - break; - case 6: - ua(s, -i.a, i.b / 2), ua(t, 0, -(0.5 + i.b)); - break; - case 9: - ua(s, -i.a / 2, 0), ua(t, 0, -(0.5 + i.b)); - break; - case 11: - ua(s, -i.a, -i.b / 2), ua(t, 0, -(0.5 + i.b)); - } - return dn(Rs(e.i), s), new TO(e); - } - function nJ(e, t, n, i, s) { - Rl(); - var l, h, v, p, m, S, x; - if (Jj(e, "src"), Jj(n, "dest"), S = kd(e), v = kd(n), u4((S.g & 4) != 0, "srcType is not an array"), u4((v.g & 4) != 0, "destType is not an array"), m = S.c, l = v.c, u4(m.g & 1 ? m == l : (l.g & 1) == 0, "Array types don't match"), x = e.length, p = n.length, t < 0 || i < 0 || s < 0 || t + s > x || i + s > p) - throw new G5(); - if ((!(m.g & 1) || m.g & 4) && S != v) - if (e === n && t < i) - for (t += s, h = i + s; h-- > i; ) - n[h] = e[--t]; - else - for (h = i + s; i < h; ) - n[i++] = e[t++]; - else - s > 0 && Xy(e, t, n, i, s, !0); - } - function rJ(e, t, n) { - var i, s, l, h, v; - if (i = f(z(e, (zt(), bE)), 18), n.a > t.a && (i.kb((Pd(), Gk)) ? e.d.a += (n.a - t.a) / 2 : i.kb(Yk) && (e.d.a += n.a - t.a)), n.b > t.b && (i.kb((Pd(), qk)) ? e.d.b += (n.b - t.b) / 2 : i.kb(Fk) && (e.d.b += n.b - t.b)), f(z(e, (le(), qr)), 18).kb((vr(), as)) && (n.a > t.a || n.b > t.b)) - for (v = new M(e.b); v.a < v.c.c.length; ) - h = f(O(v), 9), h.g == (et(), Cn) && (s = f(z(h, _r), 32), s == (we(), Be) ? h.i.a += n.a - t.a : s == ct && (h.i.b += n.b - t.b)); - l = e.a, e.e.a = n.a - l.b - l.c, e.e.b = n.b - l.d - l.a; - } - function TC(e, t, n, i, s, l) { - var h, v, p; - if (h = t.$b(n, e.b), h < 0) - return v = e.e, v ? (e.e = TC(v, t, n, i, s, l), l[0] == i && (s == 0 && l[0] != 0 ? --e.a : s > 0 && l[0] == 0 && ++e.a, e.j = Tr(e.j, s - l[0])), vu(e)) : (l[0] = 0, i == 0 && s > 0 ? o3(e, n, s) : e); - if (h > 0) - return p = e.g, p ? (e.g = TC(p, t, n, i, s, l), l[0] == i && (s == 0 && l[0] != 0 ? --e.a : s > 0 && l[0] == 0 && ++e.a, e.j = Tr(e.j, s - l[0])), vu(e)) : (l[0] = 0, i == 0 && s > 0 ? a3(e, n, s) : e); - if (l[0] = e.c, i == e.c) { - if (s == 0) - return sC(e); - e.j = Tr(e.j, s - e.c), e.c = s; - } - return e; - } - function b2(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (p = e.e, j = e.f, h = e.d, I = e.c, S = I - 1, R = e.g, x = ca(e.g.xb(1, e.g.Y() - 1)), m = new Se(), n = 0; n < e.b.Y() - 1; n++) - v = Yo(ou(_a(f(e.b.sb(n + 1), 92).a), f(e.b.sb(n), 92).a), I / (ge(Ot(R.sb(n + I))) - ge(Ot(R.sb(n))))), m.c[m.c.length] = v; - for (Y = new Se(), l = Jt(x, 0), L = new Se(), t = 0; t < S - 1; t++) - Le(Y, Ot(Ft(l))); - for (s = new M(m); s.a < s.c.c.length; ) - i = f(O(s), 10), Le(Y, Ot(Ft(l))), Le(L, new iy(i, Y)), Sn(0, Y.c.length), Y.c.splice(0, 1); - return new I3(p, j, h, S, x, L); - } - function kR(e) { - this.q = new H5(), this.p = new H5(), this.o = ve(Kn, Wn, 26, (we(), re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe])).length, 12, 1), this.i = ve(Kn, Wn, 26, re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]).length, 12, 1), this.j = ve(Zi, mi, 26, re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]).length, 12, 1), this.n = ve(Zi, mi, 26, re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]).length, 12, 1), this.g = ve(Wx, De, 100, re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]).length, 0, 1), this.c = new P3(UB), this.e = e, nD(this.o), nD(this.i), pm(this.n, 0); - } - function LC(e, t) { - var n, i, s, l, h, v, p, m, S; - if (h = t.i != null && !t.b, h || Nt(t, "Component Layout", 1), n = f(z(e, (le(), PL)), 20), l = 1 / n.Y(), Pt(ge(jt(z(e, (Ee(), Fg)))))) - for (S = n.mb(); S.G(); ) - m = f(S.H(), 31), iD(kd(m)), m.sc(e, Vl(t, l)); - else - for (S = n.mb(); S.G(); ) - m = f(S.H(), 31), m.sc(e, Vl(t, l)); - for (s = new M(e.c); s.a < s.c.c.length; ) - i = f(O(s), 16), Tn(e.b, i.a), i.a.c = ve(Ze, Me, 1, 0, 4, 1); - for (p = new M(e.b); p.a < p.c.c.length; ) - v = f(O(p), 9), Ar(v, null); - e.c.c = ve(Ze, Me, 1, 0, 4, 1), h || Ct(t); - } - function iJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L; - for (h = new M(t); h.a < h.c.c.length; ) - s = f(O(h), 102), s.e = null, s.c = 0; - for (v = null, l = new M(t); l.a < l.c.c.length; ) { - for (s = f(O(l), 102), S = s.d[0], L = f(z(S, (le(), Dh)), 20).mb(); L.G(); ) - x = f(L.H(), 9), (!s.e && (s.e = new Se()), s.e).ib(e.b[x.d.k][x.k]), ++e.b[x.d.k][x.k].c; - if (S.g == (et(), Hn)) { - if (v) - for (m = AS(new Zw(e.c, v), 0); m.c; ) - for (p = f(sy(m), 9), i = AS(new Zw(e.c, S), 0); i.c; ) - n = f(sy(i), 9), aq(e.b[p.d.k][p.k]).ib(e.b[n.d.k][n.k]), ++e.b[n.d.k][n.k].c; - v = S; - } - } - } - function aJ(e, t, n, i) { - var s, l, h, v, p, m; - if (Q3(t), l = f(z(i, (le(), qr)), 18), v = (Ee(), Wg).b, !(v in t.a && Mn(t, v).ic().a)) - switch (p = new Yn(), ce(p, lt, t), cn(p, n), h = f(Mn(t, "id"), 97), Z1(e.k, h.a, p), un(e.n, p, t), i2(t, p), x0(t, p), nC(e, t, p, i), Bt(p, f(z(p, Kg), 32)), m = f(z(n, dt), 28), m == (zn(), ac) && (m = jo), s = f(z(i, Do), 59), s == ($n(), Po) && (s = Fi), mJ(p, m, s, f(z(p, wu), 10)), s.e) { - case 2: - case 1: - (p.g == (we(), rt) || p.g == ct) && l.ib((vr(), vf)); - break; - case 4: - case 3: - (p.g == (we(), Be) || p.g == qe) && l.ib((vr(), vf)); - } - } - function oJ(e, t) { - var n, i, s, l, h, v, p, m; - for (e.f = t, s = t.c.c.length, e.a = ve(kr, Dr, 51, s, 0, 2), e.d = ve(kr, Dr, 51, s, 0, 2), e.g = ve(kr, Dr, 51, s, 0, 2), h = new fn(t.c, 0); h.b < h.d.Y(); ) - for (i = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 16)), v = i.a.c.length, l = h.b - 1, e.a[l] = ve(kr, Ni, 9, v, 0, 1), e.d[l] = ve(kr, Ni, 9, v, 0, 1), e.g[l] = ve(kr, Ni, 9, v, 0, 1), m = new fn(i.a, 0), n = 0; m.b < m.d.Y(); ) - p = (ut(m.b < m.d.Y()), f(m.d.sb(m.c = m.b++), 9)), p.k = n++, e.d[l][m.b - 1] = p, e.a[l][m.b - 1] = p, e.g[l][m.b - 1] = p; - e.b = new r9(e.d), e.e.c && (e.b.e = !0); - } - function sJ(e) { - var t, n, i, s, l, h; - for (s = new Se(), h = new M(e.c.f); h.a < h.c.c.length; ) - l = f(O(h), 7), l.g == (we(), Be) && (s.c[s.c.length] = l); - if (e.d.a == ($n(), Fi) && !ds(f(z(e.c, (Ee(), dt)), 28))) - for (i = Dt(En(e.c)); xt(i); ) - n = f(Et(i), 12), Le(s, n.c); - ce(e.c, (le(), fb), new Ut(e.c.j.a)), ce(e.c, vc, (yn(), yn(), ii)), Le(e.b, e.c), t = null, e.e == 1 ? t = CJ(e, e.c, ea(e.c.d), e.c.j.a) : e.e == 0 ? t = xJ(e, e.c, ea(e.c.d), e.c.j.a) : e.e == 3 ? t = fX(e, e.c, e.c.j.a) : e.e == 2 && (t = lX(e, e.c, e.c.j.a)), t && new G3(e.c, e.b, ge(Ot(t.b))); - } - function PC(e, t, n) { - var i, s, l, h, v, p, m, S; - if (s = t.g, Pt(ge(jt(z(t, (le(), vc))))) && (s = (et(), Ii)), t.k >= 0) - return !1; - if (n.e && s == (et(), Ii) && s != n.e) - return !1; - if (t.k = n.b, Le(n.f, t), n.e = s, s == (et(), hn) || s == er || s == Ii) { - for (h = new M(t.f); h.a < h.c.c.length; ) - for (l = f(O(h), 7), S = (i = new M(new Lf(l).a.e), new P5(i)); Nc(S.a); ) - if (m = f(O(S.a), 12).d, v = m.f, p = v.g, t.d != v.d) { - if (s == Ii) { - if (p == Ii && PC(e, v, n)) - return !0; - } else if ((p == hn || p == er) && PC(e, v, n)) - return !0; - } - } - return !0; - } - function ER(e, t) { - var n, i, s, l, h, v, p, m, S; - for (U4(e.a, re(ie(_t, 1), Ht, 10, 0, [t.a, t.b])), na(e.c, t.e), e.q.d = e.q.d | t.d, e.q.a = e.q.a | t.c, v = Xt(e.j.e, t.k), p = je(e.j.e + e.j.b, t.n), dj(e.j, t.j, v, 0, p - v), vn(e.d, t.f), t.f.c.f == t.f.d.f && Sa(e.n, !0, !0, !0, !0), h = new $r(), m = new $r(), s = (S = new Wt(e.d.a).a.bb().mb(), new Zt(S)); s.a.G(); ) - i = (l = f(s.a.H(), 21), f(l.yb(), 12)), vn(h, i.c), vn(m, i.d); - n = h.a.Y() - m.a.Y(), n < 0 ? (fg(e.n, !0, ($n(), ja)), fg(e.n, !1, Fi)) : n > 0 && (fg(e.n, !1, ($n(), ja)), fg(e.n, !0, Fi)); - } - function uJ(e, t) { - var n, i, s, l, h, v, p, m, S, x; - for (h = 0; h < (mn(), t.length) && wM(t.charCodeAt(h), t8); ) - ++h; - for (n = t.length; n > 0 && wM(t.charCodeAt(n - 1), n8); ) - --n; - if (h < n) { - S = R0(t.substr(h, n - h), ",|;"); - try { - for (p = 0, m = S.length; p < m; ++p) { - if (v = S[p], l = R0(v, "="), l.length != 2) - throw new tn("Expecting a list of key-value pairs."); - s = Wc(l[0]), x = L0(Wc(l[1])), zo(s, "top") ? e.d = x : zo(s, "left") ? e.b = x : zo(s, tx) ? e.a = x : zo(s, "right") && (e.c = x); - } - } catch (L) { - throw L = Ur(L), xe(L, 130) ? (i = L, new tn(r8 + i)) : Kr(L); - } - } - } - function cJ(e, t) { - var n, i, s, l, h, v, p, m, S; - for (S = new Wr(), v = (m = new Ev(e.c).a.bb().mb(), new Sv(m)); v.a.G(); ) - l = (s = f(v.a.H(), 21), f(s.zb(), 200)), l.b == 0 && wr(S, l, S.c.b, S.c); - for (; S.b != 0; ) - for (l = f(S.b == 0 ? null : (ut(S.b != 0), zs(S, S.a.a)), 200), i = new M(l.d); i.a < i.c.c.length; ) - n = f(O(i), 279), t.k == (oo(), ku) ? n.b.a = Xt(n.b.a, l.a + n.a) : n.b.a = je(n.b.a, l.a + n.a), --n.b.b, n.b.b == 0 && rn(S, n.b); - for (h = (p = new Ev(e.c).a.bb().mb(), new Sv(p)); h.a.G(); ) - l = (s = f(h.a.H(), 21), f(s.zb(), 200)), t.g[l.c.k] = l.a; - } - function lJ(e, t, n) { - var i, s, l, h; - switch (l = e.i, s = ln(re(ie(_t, 1), Ht, 10, 0, [t.i, t.f.i])), i = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])), h = t.d, t.g.e) { - case 4: - l.a = Xt(s.a, i.a) - h.b - e.j.a - n, l.b = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).b + n; - break; - case 2: - l.a = je(s.a + t.j.a, i.a) + h.c + n, l.b = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).b + n; - break; - case 1: - l.a = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).a + n, l.b = Xt(s.b, i.b) - h.d - e.j.b - n; - break; - case 3: - l.a = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).a + n, l.b = je(s.b + t.j.b, i.b) + h.a + n; - } - } - function fJ(e, t, n) { - var i, s, l, h; - switch (l = e.i, s = ln(re(ie(_t, 1), Ht, 10, 0, [t.i, t.f.i])), i = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])), h = t.d, t.g.e) { - case 4: - l.a = Xt(s.a, i.a) - h.b - e.j.a - n, l.b = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).b - e.j.b - n; - break; - case 2: - l.a = je(s.a + t.j.a, i.a) + h.c + n, l.b = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).b - e.j.b - n; - break; - case 1: - l.a = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).a + n, l.b = Xt(s.b, i.b) - h.d - e.j.b - n; - break; - case 3: - l.a = ln(re(ie(_t, 1), Ht, 10, 0, [t.f.i, t.i, t.a])).a + n, l.b = je(s.b + t.j.b, i.b) + h.a + n; - } - } - function hJ(e) { - var t, n; - switch (n = f(z(e, (le(), qr)), 18), t = O1(QB), Pt(ge(jt(z(e, (zt(), vb))))) ? $u(t, (Pr(), Nk)) : pi(t, (Pr(), Nk)), z(e, (Y4(), xx)) != null && xr(t, JB), f(z(e, (Ee(), Do)), 59).e) { - case 2: - bi($u(t, (Pr(), TT)), xT); - break; - case 3: - bi($u(t, (Pr(), vT)), dT); - break; - case 4: - bi($u(t, (Pr(), zT)), BT); - } - return n.kb((vr(), eE)) && bi($u(t, (Pr(), hT)), fT), He(z(e, jp)) !== He((Xc(), gp)) && pi(t, (Pr(), PT)), He(z(e, Np)) !== He((jd(), sb)) && He(z(e, SL)) === He((fu(), af)) && bi(t, (Pr(), mT)), n.kb(cL) && ($u(t, (Pr(), jT)), pi(t, DT)), t; - } - function Dg() { - Dg = c, fL = new Yl("ONE_SIDED", 0, !0, !1, !1), rE = new Yl("TWO_SIDED", 1, !1, !1, !1), hL = new Yl("ONE_SIDED_BEST_OF_UP_OR_DOWN", 2, !0, !0, !1), gL = new Yl("TWO_SIDED_BEST_OF_UP_OR_DOWN", 3, !1, !0, !1), dL = new Yl("ONE_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES", 4, !0, !0, !0), bL = new Yl("TWO_SIDED_BEST_OF_UP_OR_DOWN_ORTHOGONAL_HYPEREDGES", 5, !1, !0, !0), vL = new Yl("ONE_SIDED_ORTHOGONAL_HYPEREDGES", 6, !0, !1, !0), nE = new Yl("OFF", 7, !1, !1, !1); - } - function p2(e, t, n, i, s, l, h) { - var v, p, m, S, x, L, j; - return x = Pt(ge(jt(z(t, (zt(), OL))))), L = null, l == (sr(), Ai) && i.c.f == n ? L = i.c : l == ri && i.d.f == n && (L = i.d), m = h, !h || !x || L ? (S = (we(), cr), L ? S = L.g : ds(f(z(n, (Ee(), dt)), 28)) && (S = l == Ai ? qe : Be), p = pJ(e, t, n, l, S, i), v = ly((Ti(n), i)), l == Ai ? (Bn(v, f(_e(p.f, 0), 7)), kn(v, s)) : (Bn(v, s), kn(v, f(_e(p.f, 0), 7))), m = new $M(i, v, p, f(z(p, (le(), lt)), 7), l, !L)) : (Le(h.e, i), j = tD(f(z(h.d, (Ee(), Jo)), 15).a, f(z(i, Jo), 15).a), ce(h.d, Jo, new Ut(j))), pt(e.a, i, new N1(m.d, t, l)), m; - } - function DC(e, t, n, i) { - var s, l, h, v, p, m, S, x; - if (l = new qa(e), Ha(l, (et(), er)), ce(l, (Ee(), dt), (zn(), ni)), s = 0, t) { - for (h = new Yn(), ce(h, (le(), lt), t), ce(l, lt, t.f), Bt(h, (we(), qe)), cn(h, l), x = f(Vn(t.b, ve(Ki, Yi, 12, t.b.c.length, 0, 1)), 47), m = 0, S = x.length; m < S; ++m) - p = x[m], kn(p, h); - ce(t, js, l), ++s; - } - if (n) { - for (v = new Yn(), ce(l, (le(), lt), n.f), ce(v, lt, n), Bt(v, (we(), Be)), cn(v, l), x = f(Vn(n.e, ve(Ki, Yi, 12, n.e.c.length, 0, 1)), 47), m = 0, S = x.length; m < S; ++m) - p = x[m], Bn(p, v); - ce(n, js, l), ++s; - } - return ce(l, (le(), Xd), gt(s)), i.c[i.c.length] = l, l; - } - function dJ(e, t) { - var n, i, s, l, h, v, p; - for (h = qm(e.a).mb(); h.G(); ) { - if (l = f(h.H(), 12), l.b.c.length > 0) - for (i = new _u(f(Pa(e.a, l), 18)), Ya(i, new L5(t)), s = new fn(l.b, 0); s.b < s.d.Y(); ) { - switch (n = (ut(s.b < s.d.Y()), f(s.d.sb(s.c = s.b++), 33)), v = -1, f(z(n, (Ee(), da)), 107).e) { - case 2: - v = i.c.length - 1; - break; - case 1: - v = i.c.length / 2 | 0; - break; - case 3: - v = 0; - } - v != -1 && (p = (Sn(v, i.c.length), f(i.c[v], 114)), Le(p.b.b, n), f(z(Ti(p.b.c.f), (le(), qr)), 18).ib((vr(), Kd)), f(z(Ti(p.b.c.f), qr), 18).ib(Ud), So(s), ce(n, LL, l)); - } - Bn(l, null), kn(l, null); - } - } - function vJ(e) { - var t, n, i, s, l, h, v, p, m, S, x; - for (S = e.e.a.c.length, h = new M(e.e.a); h.a < h.c.c.length; ) - l = f(O(h), 61), l.j = !1; - for (e.i = ve(Kn, Wn, 26, S, 12, 1), e.g = ve(Kn, Wn, 26, S, 12, 1), e.n = new Se(), s = 0, x = new Se(), p = new M(e.e.a); p.a < p.c.c.length; ) - v = f(O(p), 61), v.b = s++, v.c.c.length == 0 && Le(e.n, v), Tn(x, v.g); - for (t = 0, i = new M(x); i.a < i.c.c.length; ) - n = f(O(i), 89), n.b = t++, n.e = !1; - m = x.c.length, e.b == null || e.b.length < m ? (e.b = ve(Zi, mi, 26, m, 12, 1), e.c = ve(pb, Bg, 26, m, 13, 1)) : Nv(e.c), e.d = x, e.p = new H9(Ty(e.d.c.length)), e.j = 1; - } - function gJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - for (R = e.d, Y = t.d, j = f(ks(e, (sr(), Ai)).mb().H(), 7), U = f(ks(e, ri).mb().H(), 7), I = f(ks(t, Ai).mb().H(), 7), te = f(ks(t, ri).mb().H(), 7), x = f(Vn(j.b, ve(Ki, Yi, 12, 1, 0, 1)), 47), q = f(Vn(U.e, ve(Ki, Yi, 12, 1, 0, 1)), 47), L = f(Vn(I.b, ve(Ki, Yi, 12, 1, 0, 1)), 47), V = f(Vn(te.e, ve(Ki, Yi, 12, 1, 0, 1)), 47), Ar(e, Y), s = 0, p = L.length; s < p; ++s) - n = L[s], kn(n, j); - for (l = 0, m = V.length; l < m; ++l) - n = V[l], Bn(n, U); - for (Ar(t, R), h = 0, S = x.length; h < S; ++h) - n = x[h], kn(n, I); - for (i = 0, v = q.length; i < v; ++i) - n = q[i], Bn(n, te); - } - function bJ(e) { - var t, n, i, s, l, h, v, p; - for (l = new M(e.a.b); l.a < l.c.c.length; ) - s = f(O(l), 25), s.vc(); - for (p = new ot(ki, ki), t = new ot(Hr, Hr), i = new M(e.a.b); i.a < i.c.c.length; ) - n = f(O(i), 25), p.a = Xt(p.a, n.j.d), p.b = Xt(p.b, n.j.e), t.a = je(t.a, n.j.d + n.j.c), t.b = je(t.b, n.j.e + n.j.b); - for (v = w4(e.c).mb(); v.G(); ) - h = f(v.H(), 27), n = f(h.b, 25), p.a = Xt(p.a, n.j.d), p.b = Xt(p.b, n.j.e), t.a = je(t.a, n.j.d + n.j.c), t.b = je(t.b, n.j.e + n.j.b); - e.d = Tm(new ot(p.a, p.b)), e.e = ou(new ot(t.a, t.b), p), e.a.a.c = ve(Ze, Me, 1, 0, 4, 1), e.a.b.c = ve(Ze, Me, 1, 0, 4, 1); - } - function SR(e) { - var t, n, i, s, l, h, v; - if (v = f(_e(e.f, 0), 7), v.e.c.length != 0 && v.b.c.length != 0) - throw new Ou("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."); - if (v.e.c.length != 0) { - for (l = ki, n = new M(v.e); n.a < n.c.c.length; ) - t = f(O(n), 12), h = t.d.f, i = f(z(h, (Ee(), Vg)), 65), l = Xt(l, h.i.a - i.b); - return new Kb(vt(l)); - } - if (v.b.c.length != 0) { - for (s = Hr, n = new M(v.b); n.a < n.c.c.length; ) - t = f(O(n), 12), h = t.c.f, i = f(z(h, (Ee(), Vg)), 65), s = je(s, h.i.a + h.j.a + i.c); - return new Kb(vt(s)); - } - return Pv(), Pv(), G2; - } - function pJ(e, t, n, i, s, l) { - var h, v, p, m, S, x, L; - return m = i == (sr(), Ai) ? l.c : l.d, p = By(t), m.f == n ? (h = f(Kt(e.b, m), 9), h || (h = B0(m, f(z(n, (Ee(), dt)), 28), s, i == Ai ? -1 : 1, m.j, p, t), ce(h, (le(), lt), m), un(e.b, m, h))) : (S = f(z(l, (Ee(), Jo)), 15).a, h = B0((x = new H(), L = f(z(t, (le(), Oi)), 15).a * f(z(t, (zt(), Qs)), 15).a / 2, ce(x, Qd, new Ut(L)), x), f(z(n, dt), 28), s, i == Ai ? -1 : 1, new ot(S, S), p, t), v = BZ(e, h, n, i), ce(h, lt, v), un(e.b, v, h)), f(z(t, (le(), qr)), 18).ib((vr(), as)), ds(f(z(t, (Ee(), dt)), 28)) ? ce(t, dt, (zn(), Xg)) : ce(t, dt, (zn(), jo)), h; - } - function wJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce; - i = f(z(t, (zt(), IL)), 15).a, ue = f(z(t, nv), 24).a, L = 4, s = 3, ye = 20 / ue, j = !1, p = 0, h = yr; - do { - for (l = p != 1, x = p != 0, Ce = 0, Y = e.a, V = 0, te = Y.length; V < te; ++V) - I = Y[V], I.g = null, iee(e, I, l, x, i), Ce += ei(I.a); - do - v = IQ(e, t); - while (v); - for (R = e.a, q = 0, U = R.length; q < U; ++q) - if (I = R[q], n = h4(I).a, n != 0) - for (S = new M(I.f); S.a < S.c.c.length; ) - m = f(O(S), 9), m.i.b += n; - p == 0 || p == 1 ? (--L, L <= 0 && (Ce < h || -L > ue) ? (p = 2, h = yr) : p == 0 ? (p = 1, h = Ce) : (p = 0, h = Ce)) : (j = Ce >= h || h - Ce < ye, h = Ce, j && --s); - } while (!(j && s <= 0)); - } - function jC(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j; - for (x = f(Vn(e.f, ve(fz, E8, 7, e.f.c.length, 0, 1)), 346), m = 0, S = x.length; m < S; ++m) { - if (p = x[m], n != (sr(), Ai)) - for (v = f(Vn(p.e, ve(Ki, Yi, 12, p.e.c.length, 0, 1)), 47), s = 0, l = v.length; s < l; ++s) - i = v[s], j = f(z(i.d.f, (zt(), Er)), 85), !Pt(ge(jt(z(i, (le(), Xs))))) && !(t == ($i(), ev) && j == Tu) && bu(i, !0); - if (n != ri) - for (h = f(Vn(p.b, ve(Ki, Yi, 12, p.b.c.length, 0, 1)), 47), s = 0, l = h.length; s < l; ++s) - i = h[s], L = f(z(i.c.f, (zt(), Er)), 85), !Pt(ge(jt(z(i, (le(), Xs))))) && !(t == ($i(), db) && L == gc) && bu(i, !0); - } - } - function mJ(e, t, n, i) { - var s, l, h, v, p; - if (h = e.g, h == (we(), cr) && t != (zn(), jo) && t != (zn(), ac) && (h = uR(e, n), Bt(e, h), z(e, (Ee(), ul)) == null && h != cr && (e.i.a != 0 || e.i.b != 0) && ce(e, ul, new Ut(eZ(e, h)))), t == (zn(), es)) { - switch (p = 0, h.e) { - case 1: - case 3: - l = e.f.j.a, l > 0 && (p = e.i.a / l); - break; - case 2: - case 4: - s = e.f.j.b, s > 0 && (p = e.i.b / s); - } - ce(e, (le(), xu), p); - } - if (v = e.j, i) - e.a.a = i.a, e.a.b = i.b; - else if (t != jo && t != ac && h != cr) - switch (h.e) { - case 1: - e.a.a = v.a / 2; - break; - case 2: - e.a.a = v.a, e.a.b = v.b / 2; - break; - case 3: - e.a.a = v.a / 2, e.a.b = v.b; - break; - case 4: - e.a.b = v.b / 2; - } - else - e.a.a = v.a / 2, e.a.b = v.b / 2; - } - function yJ(e) { - var t, n, i, s; - if (xe(e.a, 10)) - return _a(f(e.a, 10)); - if (xe(e.a, 66)) - return NW(f(e.a, 86)); - if (xe(e.a, 50)) - return f(e.a, 50).Wc(); - if (xe(e.a, 191)) { - for (t = new tS(), s = (i = new Uv(new Vv(new Xb(f(e.a, 191).a).a).b), new Qb(i)); om(s.a.a); ) - g4(t, (n = jm(s.a), n.yb())); - return t; - } else { - if (xe(e.a, 13)) - return new _u(f(e.a, 13)); - if (xe(e.a, 44)) { - for (t = new Ci(), s = Jt(f(e.a, 44), 0); s.b != s.d.c; ) - rn(t, f(Ft(s), 10)); - return t; - } else if (xe(e.a, 58)) { - for (t = new Wr(), s = Jt(f(e.a, 58), 0); s.b != s.d.c; ) - rn(t, Ft(s)); - return t; - } else - return e.a; - } - } - function lh(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I; - v = 0, I = 0, p = d3(e.f, e.f.length), l = e.d, h = e.i, i = e.a, s = e.b; - do { - for (j = 0, S = new M(e.p); S.a < S.c.c.length; ) - m = f(O(S), 9), L = DR(e, m), n = !0, (e.q == (Xc(), ab) || e.q == ob) && (n = Pt(ge(jt(L.b)))), f(L.a, 24).a < 0 && n ? (++j, p = d3(e.f, e.f.length), e.d = e.d + f(L.a, 24).a, I += l - e.d, l = e.d + f(L.a, 24).a, h = e.i, i = Gc(e.a), s = Gc(e.b)) : (e.f = d3(p, p.length), e.d = l, e.a = (vt(i), i ? new _u(($o(), i)) : M1(new M(null))), e.b = (vt(s), s ? new _u(($o(), s)) : M1(new M(null))), e.i = h); - ++v, x = j != 0 && Pt(ge(jt(t.B(new pr(gt(I), gt(v)))))); - } while (x); - } - function kJ(e, t, n, i) { - var s, l, h, v, p, m, S; - if (!Nc(new M(bg(e)))) - return i; - for (S = PM(f(nr(e, (Ee(), ia)), 86)), p = new M(bg(e)); p.a < p.c.c.length; ) - v = f(O(p), 129), m = PM(f(nr(v, ia), 86)), m == (m2(), dk) && (m = S), EY(v, m.e), s = iK(n, m), s.c = je(s.c, v.e.j.a), s.b += v.e.j.b + t; - for (h = new G1(new Jb(n).a); S1(h.a); ) - switch (l = (h.b = Yc(h.a), new b1(h.c, h.b)), s = f(l.b.b[l.a.e], 62), s.b -= t, f(l.a, 67).e) { - case 12: - case 13: - case 14: - i.d = je(i.d, s.b + t); - break; - case 15: - i.b = je(i.b, s.c + t); - break; - case 17: - i.c = je(i.c, s.c + t); - break; - case 18: - case 19: - case 20: - i.a = je(i.a, s.b + t); - } - return i; - } - function NC(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - for (fI(this), n == (_c(), Ks) ? vn(this.g, e) : vn(this.o, e), j = Zo, L = 5e-324, m = (h = new Wt(t.a).a.bb().mb(), new Zt(h)); m.a.G(); ) - v = (s = f(m.a.H(), 21), f(s.yb(), 27)), S = f(v.a, 223), i = f(v.b, 12), x = i.c, x == e && (x = i.d), S == Ks ? vn(this.g, x) : vn(this.o, x), R = ln(re(ie(_t, 1), Ht, 10, 0, [x.f.i, x.i, x.a])).b, j = j < R ? j : R, L = L > R ? L : R; - for (I = ln(re(ie(_t, 1), Ht, 10, 0, [e.f.i, e.i, e.a])).b, vO(this, I, j, L), p = (l = new Wt(t.a).a.bb().mb(), new Zt(l)); p.a.G(); ) - v = (s = f(p.a.H(), 21), f(s.yb(), 27)), vn(this.c, f(v.b, 12)); - this.f = !1; - } - function EJ(e, t, n, i) { - var s, l, h, v, p, m; - if (v = (Ee(), Wg).b, !(v in t.a && Mn(t, v).ic().a)) { - if (m = Mn(t, x2), m) { - if (!m.lc()) - throw new gs("A label's 'text' property must be a string.", m, t); - } else - throw new gs("Labels must have a property 'text'.", null, t); - if (p = m.lc().a, l = new LS(p), ce(l, (le(), lt), t), un(e.f, l, t), i2(t, l), x0(t, l), xe(n, 9) ? Le(f(n, 9).c, l) : xe(n, 12) ? Le(f(n, 12).b, l) : xe(n, 7) && Le(f(n, 7).c, l), xe(n, 12)) - switch (h = f(z(l, da), 107), i2(t, l), ce(l, da, h), s = f(z(i, qr), 18), h.e) { - case 2: - case 3: - s.ib((vr(), Kd)); - case 1: - case 0: - s.ib((vr(), Ud)), ce(l, da, (ys(), $g)); - } - } - } - function IC(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - for (l = 0, h = 0, m = new M(e.a); m.a < m.c.c.length; ) - v = f(O(m), 9), l = je(l, v.e.b), h = je(h, v.e.c); - for (p = new M(e.a); p.a < p.c.c.length; ) { - switch (v = f(O(p), 9), n = f(z(v, (Ee(), co)), 103), n.e) { - case 1: - I = 0; - break; - case 2: - I = 1; - break; - case 5: - I = 0.5; - break; - default: - for (i = 0, x = 0, j = new M(v.f); j.a < j.c.c.length; ) - L = f(O(j), 7), L.b.c.length == 0 || ++i, L.e.c.length == 0 || ++x; - i + x == 0 ? I = 0.5 : I = x / (i + x); - } - Y = e.c, S = v.j.a, q = (Y.a - S) * I, I > 0.5 ? q -= h * 2 * (I - 0.5) : I < 0.5 && (q += l * 2 * (0.5 - I)), s = v.e.b, q < s && (q = s), R = v.e.c, q > Y.a - R - S && (q = Y.a - R - S), v.i.a = t + q; - } - } - function SJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it; - return n = e.l & 8191, i = e.l >> 13 | (e.m & 15) << 9, s = e.m >> 4 & 8191, l = e.m >> 17 | (e.h & 255) << 5, h = (e.h & 1048320) >> 8, v = t.l & 8191, p = t.l >> 13 | (t.m & 15) << 9, m = t.m >> 4 & 8191, S = t.m >> 17 | (t.h & 255) << 5, x = (t.h & 1048320) >> 8, be = n * v, Ne = i * v, Ue = s * v, Xe = l * v, it = h * v, p != 0 && (Ne += n * p, Ue += i * p, Xe += s * p, it += l * p), m != 0 && (Ue += n * m, Xe += i * m, it += s * m), S != 0 && (Xe += n * S, it += i * S), x != 0 && (it += n * x), j = be & Va, I = (Ne & 511) << 13, L = j + I, Y = be >> 22, q = Ne >> 9, V = (Ue & 262143) << 4, U = (Xe & 31) << 17, R = Y + q + V + U, ue = Ue >> 18, ye = Xe >> 5, Ce = (it & 4095) << 8, te = ue + ye + Ce, R += L >> 22, L &= Va, te += R >> 22, R &= Va, te &= ec, Gu(L, R, te); - } - function CJ(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye; - if (Y = e.d.c.c.c.length, n >= Y - 1) - return null; - for (s = new Se(), s.c[s.c.length] = t, te = t, h = n, I = -1, v = f(_e(e.d.c.c, n), 16), j = 0; j < v.a.c.length; ++j) - if (q = f(_e(v.a, j), 9), q == t) { - I = j; - break; - } - if (R = RC(e, 1, I, n, Y, e.a), !R) - return null; - for (ue = e.a, L = 0, l = 0; te && ue > 1 && h < Y - 1; ) - S = fR(e, te), x = f(_e(e.d.c.c, h + 1), 16), ye = f(R.sb(L++), 24).a, V = Au(ye, x.a.c.length), oh(S, V, x), te && (s.c[s.c.length] = te), te = S, --ue, ++l, ++h; - for (U = (i - (s.c.length - 1) * e.d.d) / s.c.length, m = new M(s); m.a < m.c.c.length; ) - p = f(O(m), 9), p.j.a = U; - return new pr(gt(l), U); - } - function xJ(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye; - if (n <= 0) - return null; - for (s = new Se(), s.c[s.c.length] = t, te = t, h = n, I = -1, v = f(_e(e.d.c.c, n), 16), j = 0; j < v.a.c.length; ++j) - if (Y = f(_e(v.a, j), 9), Y == t) { - I = j; - break; - } - if (R = RC(e, 0, I, n, e.d.c.c.c.length, e.a), !R) - return null; - for (ue = e.a, L = 0, l = 0, U = I; te && ue > 1 && h > 1; ) - S = fR(e, te), v = f(_e(e.d.c.c, h), 16), x = f(_e(e.d.c.c, h - 1), 16), ye = f(R.sb(L++), 24).a, q = Au(ye, x.a.c.length), oh(te, q, x), oh(S, U, v), U = q, te && (s.c[s.c.length] = te), te = S, --ue, ++l, --h; - for (V = (i - (s.c.length - 1) * e.d.d) / s.c.length, m = new M(s); m.a < m.c.c.length; ) - p = f(O(m), 9), p.j.a = V; - return new pr(gt(l), V); - } - function TJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I; - if (e.b = e.c, I = jt(z(t, (Ee(), $x))), j = I == null || Pt((or(I), I)), l = f(z(t, (le(), qr)), 18).kb((vr(), as)), s = f(z(t, dt), 28), n = !(s == (zn(), yh) || s == es || s == ni), j && (n || !l)) { - for (x = new M(t.b); x.a < x.c.c.length; ) - m = f(O(x), 9), m.k = 0; - for (L = new Se(), S = new M(t.b); S.a < S.c.c.length; ) - if (m = f(O(S), 9), i = vR(e, m, null), i) { - for (p = new t3(), hu(p, t), ce(p, bf, f(i.b, 18)), Nj(p.a, t.a), v = f(i.a, 20).mb(); v.G(); ) - h = f(v.H(), 9), Le(p.b, h), h.a = p; - L.ib(p); - } - l && (e.b = e.a); - } else - L = new ro(re(ie(rte, 1), { 38: 1, 39: 1, 42: 1, 3: 1, 8: 1, 5: 1, 6: 1 }, 55, 0, [t])); - return L; - } - function LJ(e) { - var t, n, i, s, l, h, v, p, m; - for (n = new M(e.a.a.b); n.a < n.c.c.length; ) - for (t = f(O(n), 25), h = t.i.mb(); h.G(); ) - l = f(h.H(), 25), t.f != l.f && (Nl(e.a.d) ? p = e.a.g.tc(t, l) : p = e.a.g.uc(t, l), i = t.g.a + t.j.c + p - l.g.a, i = Math.ceil(i), i = 0 > i ? 0 : i, t.o && l.o && xe(t, 82) && xe(l, 82) && !ky(r3(f(t, 82).d, f(l, 82).d)) ? (s = Fv(new Jh(), e.d), v = Xn(v1(l.g.a - t.g.a)), uh(Of(Rf(Bf(Af(new Pl(), 0 > v ? 0 : v), 1), s), e.c[t.f.d])), uh(Of(Rf(Bf(Af(new Pl(), 0 > -v ? 0 : -v), 1), s), e.c[l.f.d]))) : (m = 1, (xe(t, 82) && xe(l, 93) || xe(l, 82) && xe(t, 93)) && (m = 2), uh(Of(Rf(Bf(Af(new Pl(), Xn(i)), m), e.c[t.f.d]), e.c[l.f.d])))); - } - function CR() { - CR = c, nT = new $r(), tT = ch(re(ie(rf, 1), Me, 79, 0, [(Ee(), Ox), vB])), eT = ch(re(ie(rf, 1), Me, 79, 0, [Hx, mu, (zt(), RL), gB, (le(), Xa), nv, AL])), Zx = ch(re(ie(rf, 1), Me, 79, 0, [fB, $d, Wg, dB, bB, zx, pB, ik, $x, qg, dE, NL, wE, ML, vb, OL, BL, SE, gE])), Jx = ch(re(ie(rf, 1), Me, 79, 0, [Fd, Yd, wh, Jo, ul, cE, os, Ph, Oi, tv, Qs, IL])), Qx = ch(re(ie(rf, 1), Me, 79, 0, [Kg, co, Do, of, da, Rx, Bx, J2, ek, tk, nk, rk, dt, Ug, vE, pE, kE, Nh, Pp, EE, jp, Dp, mE, Er, Np, CE, xE, rv, yE])), Xx = ch(re(ie(rf, 1), Me, 79, 0, [ia, ic, Zg, bE])), ap = ch(re(ie(rf, 1), Me, 79, 0, [Yg, Q2, Un, Vg, wu, mh])), ZB = ch(re(ie(rf, 1), Me, 79, 0, [(g3(), Ux)])); - } - function xR(e) { - var t, n, i, s, l, h, v; - for (t = 0, l = new M(e.b.a); l.a < l.c.c.length; ) - i = f(O(l), 78), i.b = 0, i.c = 0; - for (SA(e, 0), Gy(e, e.g), A0(e.c), W5(e.c), n = ($n(), ja), _s(Iv(Ss(_s(Iv(Ss(_s(Ss(e.c, n)), BM(n)))), n))), Ss(e.c, ja), Ry(e, e.g), kA(e, 0), mR(e, 0), qA(e, 1), SA(e, 1), Gy(e, e.d), A0(e.c), h = new M(e.b.a); h.a < h.c.c.length; ) - i = f(O(h), 78), t += ei(i.c); - for (v = new M(e.b.a); v.a < v.c.c.length; ) - i = f(O(v), 78), i.b = 0, i.c = 0; - for (n = Ws, _s(Iv(Ss(_s(Iv(Ss(_s(W5(Ss(e.c, n))), BM(n)))), n))), Ss(e.c, ja), Ry(e, e.d), kA(e, 1), mR(e, 1), qA(e, 0), W5(e.c), s = new M(e.b.a); s.a < s.c.c.length; ) - i = f(O(s), 78), t += ei(i.c); - return t; - } - function PJ(e) { - var t, n, i, s, l, h, v; - for (t = new Se(), e.g = new Se(), e.d = new Se(), h = new Ul(new iu(e.f.b).a); h.b; ) - l = Sd(h), Le(t, f(f(l.zb(), 27).b, 25)), Nl(f(l.yb(), 251).yc()) ? Le(e.d, f(l.zb(), 27)) : Le(e.g, f(l.zb(), 27)); - for (Gy(e, e.d), Gy(e, e.g), e.c = new rC(e.b), F7(e.c, (V5(), ez)), Ry(e, e.d), Ry(e, e.g), Tn(t, e.c.a.b), e.e = new ot(ki, ki), e.a = new ot(Hr, Hr), i = new M(t); i.a < i.c.c.length; ) - n = f(O(i), 25), e.e.a = Xt(e.e.a, n.j.d), e.e.b = Xt(e.e.b, n.j.e), e.a.a = je(e.a.a, n.j.d + n.j.c), e.a.b = je(e.a.b, n.j.e + n.j.b); - $w(e.c, new oe()), v = 0; - do - s = xR(e), ++v; - while ((v < 2 || s > Mg) && v < 10); - $w(e.c, new J()), xR(e), wq(e.c), bJ(e.f); - } - function DJ(e) { - md(); - var t, n, i, s, l, h, v; - for (v = new u7(), n = new M(e); n.a < n.c.c.length; ) - t = f(O(n), 48), (!v.b || t.c >= v.b.c) && (v.b = t), (!v.c || t.c <= v.c.c) && (v.d = v.c, v.c = t), (!v.e || t.d >= v.e.d) && (v.e = t), (!v.f || t.d <= v.f.d) && (v.f = t); - return i = new y0((ug(), uc)), ng(e, uz, new ro(re(ie(rb, 1), Me, 160, 0, [i]))), h = new y0(dl), ng(e, sz, new ro(re(ie(rb, 1), Me, 160, 0, [h]))), s = new y0(hl), ng(e, oz, new ro(re(ie(rb, 1), Me, 160, 0, [s]))), l = new y0(lf), ng(e, az, new ro(re(ie(rb, 1), Me, 160, 0, [l]))), f2(i.c, uc), f2(s.c, hl), f2(l.c, lf), f2(h.c, dl), v.a.c = ve(Ze, Me, 1, 0, 4, 1), Tn(v.a, i.c), Tn(v.a, Cy(s.c)), Tn(v.a, l.c), Tn(v.a, Cy(h.c)), v; - } - function jJ(e) { - var t, n, i, s, l, h, v, p, m, S; - for (s = f(oD(e, (Ee(), wh)), 15).a, v = new M(KO(e)); v.a < v.c.c.length; ) { - for (h = f(O(v), 626), n = new kR(h), n.d = s, n.k = f(nr(h, _x), 15).a, i = f(nr(h, Ug), 149), t = Pt(ge(jt(z(f(h.e, 9), (le(), yL))))), S = new M(Xu(h)); S.a < S.c.c.length; ) - m = f(O(S), 161), i == (th(), ok) ? NJ(m, t, s) : i == Qg && see(m, s), jQ(m); - pee(n, f(nr(h, ic), 86).kb((du(), eb))), BQ(n), kJ(n.e, n.d, n.c, n.p), JJ(n), CZ(n), uV(n), p = new tj((l = f(h.e, 9).b, new X9(l.d, l.b, l.a, l.c))), p.b = n.p.b + n.q.b, p.c = n.p.c + n.q.c, p.d = n.p.d + n.q.d, p.a = n.p.a + n.q.a, f(h.e, 9).b.b = p.b, f(h.e, 9).b.d = p.d, f(h.e, 9).b.c = p.c, f(h.e, 9).b.a = p.a; - } - } - function TR(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (p = f(Jn(e, (we(), qe)).mb().H(), 7).b, j = f(Jn(e, Be).mb().H(), 7).e, v = p.c.length, U = Pi(f(_e(e.f, 0), 7)); v-- > 0; ) { - for (R = (Sn(0, p.c.length), f(p.c[0], 12)), s = (Sn(0, j.c.length), f(j.c[0], 12)), V = s.d.b, l = Di(V, s, 0), _V(R, s.d, l), Bn(s, null), kn(s, null), I = R.a, t && rn(I, new qn(U)), i = Jt(s.a, 0); i.b != i.d.c; ) - n = f(Ft(i), 10), rn(I, new qn(n)); - for (q = R.b, L = new M(s.b); L.a < L.c.c.length; ) - x = f(O(L), 33), q.c[q.c.length] = x; - if (Y = f(z(R, (Ee(), Un)), 44), h = f(z(s, Un), 44), h) - for (Y || (Y = new Ci(), ce(R, Un, Y)), S = Jt(h, 0); S.b != S.d.c; ) - m = f(Ft(S), 10), rn(Y, new qn(m)); - } - } - function NJ(e, t, n) { - var i, s, l, h, v; - if (l = SN(pg(e)), !l.Nb().V()) { - switch (v = 0, f(e.e, 7).g.e) { - case 4: - case 2: - v = t && Pt(ge(jt(z(f(e.e, 7), (le(), YH))))) ? e.e.j.b : (e.e.j.b - f(l.Nb().sb(0), 129).pc().b) / 2 - n; - break; - case 1: - v = e.e.j.b; - break; - case 3: - v = 0; - } - for (f(e.e, 7).g == (we(), ct) && wd(l), s = new M(pg(e)); s.a < s.c.c.length; ) { - switch (i = f(O(s), 129), h = new qn(e.e.i), f(e.e, 7).g.e) { - case 4: - h.a = e.e.j.a + n, h.b = v + n, v += n + i.e.j.b; - break; - case 2: - h.a = -i.e.j.a - n, h.b = v + n, v += n + i.e.j.b; - break; - case 1: - h.a = (e.e.j.a - i.e.j.a) / 2, h.b = v + n, v += n + i.e.j.b; - break; - case 3: - h.a = (e.e.j.a - i.e.j.a) / 2, h.b = v - n - i.e.j.b, v -= n + i.e.j.b; - } - i.e.i.a = h.a, i.e.i.b = h.b; - } - } - } - function IJ(e, t) { - var n, i, s, l, h, v, p, m, S, x; - for (e.a = new v4(gU(Gg)), i = new M(t.a); i.a < i.c.c.length; ) { - for (n = f(O(i), 347), v = new m0(re(ie(op, 1), Me, 25, 0, [])), Le(e.a.a, v), m = new M(n.d); m.a < m.c.c.length; ) - p = f(O(m), 62), S = new NS(e, p), MC(S, f(z(n.c, (le(), bf)), 18)), Qf(e.g, n) || (un(e.g, n, new ot(p.d, p.e)), un(e.f, n, S)), Le(e.a.b, S), f0(v, S); - for (h = new M(n.b); h.a < h.c.c.length; ) - l = f(O(h), 251), S = new NS(e, l.Bc()), un(e.b, l, new pr(v, S)), MC(S, f(z(n.c, (le(), bf)), 18)), l.zc() && (x = new i3(e, l.zc(), 1), MC(x, f(z(n.c, bf), 18)), s = new m0(re(ie(op, 1), Me, 25, 0, [])), f0(s, x), pt(e.c, l.yc(), new pr(v, x))); - } - return e.a; - } - function MJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - if (R = t.c.c.length, !(R < 3)) { - for (j = ve(Kn, Wn, 26, R, 12, 1), x = 0, S = new M(t.c); S.a < S.c.c.length; ) - m = f(O(S), 16), j[x++] = m.a.c.length; - for (L = new fn(t.c, 2), i = 1; i < R - 1; i++) - for (n = (ut(L.b < L.d.Y()), f(L.d.sb(L.c = L.b++), 16)), I = new M(n.a), l = 0, v = 0, p = 0; p < j[i + 1]; p++) - if (U = f(O(I), 9), p == j[i + 1] - 1 || bC(e, U, i + 1, i)) { - for (h = j[i] - 1, bC(e, U, i + 1, i) && (h = e.d.e[f(f(f(_e(e.d.b, U.k), 20).sb(0), 27).a, 9).k]); v <= p; ) { - if (V = f(_e(n.a, v), 9), !bC(e, V, i + 1, i)) - for (q = f(_e(e.d.b, V.k), 20).mb(); q.G(); ) - Y = f(q.H(), 27), s = e.d.e[f(Y.a, 9).k], (s < l || s > h) && vn(e.c, f(Y.b, 12)); - ++v; - } - l = h; - } - } - } - function LR(e, t, n) { - var i, s, l, h, v, p; - for (this.g = e, v = t.d.length, p = n.d.length, this.d = ve(kr, Ni, 9, v + p, 0, 1), h = 0; h < v; h++) - this.d[h] = t.d[h]; - for (l = 0; l < p; l++) - this.d[v + l] = n.d[l]; - if (t.e) { - if (this.e = ca(t.e), this.e.nb(n), n.e) - for (s = n.e.mb(); s.G(); ) - i = f(s.H(), 102), i != t && (this.e.kb(i) ? --i.c : this.e.ib(i)); - } else - n.e && (this.e = ca(n.e), this.e.nb(t)); - this.f = t.f + n.f, this.a = t.a + n.a, this.a > 0 ? yy(this, this.f / this.a) : ka(t.g, t.d[0]).a != null && ka(n.g, n.d[0]).a != null ? yy(this, (ge(ka(t.g, t.d[0]).a) + ge(ka(n.g, n.d[0]).a)) / 2) : ka(t.g, t.d[0]).a != null ? yy(this, ka(t.g, t.d[0]).a) : ka(n.g, n.d[0]).a != null && yy(this, ka(n.g, n.d[0]).a); - } - function OJ(e, t) { - var n, i, s, l, h, v, p, m, S, x, L; - switch (e.g.e) { - case 1: - if (i = f(z(e, (le(), lt)), 12), n = f(z(i, xL), 44), n ? Pt(ge(jt(z(i, Xs)))) && (n = Dy(n)) : n = new Ci(), m = f(z(e, Mi), 7), S = ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])), t <= S.a) - return S.b; - if (wr(n, S, n.a, n.a.a), x = f(z(e, Si), 7), L = ln(re(ie(_t, 1), Ht, 10, 0, [x.f.i, x.i, x.a])), L.a <= t) - return L.b; - for (wr(n, L, n.c.b, n.c), p = Jt(n, 0), h = f(Ft(p), 10), v = f(Ft(p), 10); v.a < t && p.b != p.d.c; ) - h = v, v = f(Ft(p), 10); - return h.b + (t - h.a) / (v.a - h.a) * (v.b - h.b); - case 3: - switch (l = f(z(f(_e(e.f, 0), 7), (le(), lt)), 7), s = l.f, l.g.e) { - case 1: - return s.i.b; - case 3: - return s.i.b + s.j.b; - } - } - return $3(e).b; - } - function PR(e) { - var t, n, i, s, l, h, v, p, m, S, x, L; - if (S = He(z(e.c.f, (le(), pl))) === He(z(e.d.f, pl)), h = new Yr(), n = f(z(e, (Ee(), Q2)), 44), n && n.b >= 2) - for (Bs(e.a), i = 0, L = Jt(n, 0); L.b != L.d.c; ) - x = f(Ft(L), 10), i == 0 ? (t = ou(ou(new ot(x.a, x.b), e.c.i), e.c.f.i), e.c.a.a = t.a, e.c.a.b = t.b) : i == n.b - 1 ? (t = ou(ou(new ot(x.a, x.b), e.d.i), e.d.f.i), e.d.a.a = t.a, e.d.a.b = t.b) : rn(e.a, x), ++i; - if (S) - for (p = Jt(e.a, 0); p.b != p.d.c; ) - v = f(Ft(p), 10), h.a = je(h.a, v.a), h.b = je(h.b, v.b); - for (l = new M(e.b); l.a < l.c.c.length; ) - s = f(O(l), 33), m = f(z(s, mh), 10), m && (s.i.a = m.a, s.i.b = m.b), S && (h.a = je(h.a, s.i.a + s.j.a), h.b = je(h.b, s.i.b + s.j.b)); - return h; - } - function AJ(e, t, n) { - var i, s, l, h, v, p, m; - if (Q3(t), i = f(z(n, (le(), qr)), 18), h = new qa(n), ce(h, lt, t), Le(n.b, h), l = f(Mn(t, "id"), 97), Z1(e.i, l.a, h), un(e.j, h, t), i2(t, h), x0(t, h), "ports" in t.a) { - if (m = Mn(t, "ports"), !m.hc()) - throw new gs("The 'ports' property of the node must be an array.", m, t); - for (p = m.hc(), s = 0; s < p.a.length; ++s) - xe(Fu(p, s), 69) && aJ(e, f(Fu(p, s), 69), h, n); - } - return nC(e, t, h, n), zd in t.a && Mn(t, zd).hc().a.length > 0 && ce(h, yL, (yn(), yn(), ii)), v = f(z(h, (Ee(), dt)), 28), v == (zn(), ac) || v != jo && i.ib((vr(), df)), Pt(ge(jt(z(h, $d)))) && i.ib((vr(), eE)), Pt(ge(jt(z(h, qg)))) && (i.ib((vr(), tE)), i.ib(Ep), ce(h, dt, jo)), h; - } - function MC(e, t) { - t.V() && Sa(e.n, !0, !0, !0, !0), t.t((we(), Eh)) && Sa(e.n, !0, !0, !0, !1), t.t(kh) && Sa(e.n, !1, !0, !0, !0), t.t(Sh) && Sa(e.n, !0, !0, !1, !0), t.t(Ch) && Sa(e.n, !0, !1, !0, !0), t.t(ll) && Sa(e.n, !1, !0, !0, !1), t.t(cl) && Sa(e.n, !1, !0, !1, !0), t.t(fl) && Sa(e.n, !0, !1, !1, !0), t.t(uf) && Sa(e.n, !0, !1, !0, !1), t.t(ts) && Sa(e.n, !0, !0, !0, !0), t.t(yu) && Sa(e.n, !0, !0, !0, !0), t.t(ts) && Sa(e.n, !0, !0, !0, !0), t.t(pa) && Sa(e.n, !0, !0, !0, !0), t.t(Ma) && Sa(e.n, !0, !0, !0, !0), t.t(Ia) && Sa(e.n, !0, !0, !0, !0), t.t(Fr) && Sa(e.n, !0, !0, !0, !0); - } - function DR(e, t) { - var n, i, s, l, h, v, p, m, S, x; - for (p = !0, s = 0, m = e.f[t.k], S = t.j.b + e.n, n = e.c[t.k][2], $c(e.a, m, gt(f(_e(e.a, m), 24).a - 1 + n)), $c(e.b, m, ge(Ot(_e(e.b, m))) - S + n * e.e), ++m, m >= e.i ? (++e.i, Le(e.a, gt(1)), Le(e.b, S)) : (i = e.c[t.k][1], $c(e.a, m, gt(f(_e(e.a, m), 24).a + 1 - i)), $c(e.b, m, ge(Ot(_e(e.b, m))) + S - i * e.e)), (e.q == (Xc(), ab) && (f(_e(e.a, m), 24).a > e.j || f(_e(e.a, m - 1), 24).a > e.j) || e.q == ob && (ge(Ot(_e(e.b, m))) > e.k || ge(Ot(_e(e.b, m - 1))) > e.k)) && (p = !1), h = Dt(Lr(t)); xt(h); ) - l = f(Et(h), 12), v = l.c.f, e.f[v.k] == m && (x = DR(e, v), s = s + f(x.a, 24).a, p = p && Pt(ge(jt(x.b)))); - return e.f[t.k] = m, s = s + e.c[t.k][0], new pr(gt(s), (yn(), p ? ii : Rn)); - } - function OC(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - if (L = new qn(e.j), q = t.a / L.a, v = t.b / L.b, R = t.a - L.a, l = t.b - L.b, n) - for (s = He(z(e, (Ee(), dt))) === He((zn(), ni)), I = new M(e.f); I.a < I.c.c.length; ) - switch (j = f(O(I), 7), j.g.e) { - case 1: - s || (j.i.a *= q); - break; - case 2: - j.i.a += R, s || (j.i.b *= v); - break; - case 3: - s || (j.i.a *= q), j.i.b += l; - break; - case 4: - s || (j.i.b *= v); - } - for (m = new M(e.c); m.a < m.c.c.length; ) - p = f(O(m), 33), S = p.i.a + p.j.a / 2, x = p.i.b + p.j.b / 2, Y = S / L.a, h = x / L.b, Y + h >= 1 && (Y - h > 0 && x >= 0 ? (p.i.a += R, p.i.b += l * h) : Y - h < 0 && S >= 0 && (p.i.a += R * Y, p.i.b += l)); - e.j.a = t.a, e.j.b = t.b, ce(e, (Ee(), ic), (du(), i = f(Hi(qd), 11), new ti(i, f(xi(i, i.length), 11), 0))); - } - function jR(e) { - var t, n, i, s, l, h, v, p, m, S; - for (i = new Se(), h = new M(e.e.a); h.a < h.c.c.length; ) { - for (s = f(O(h), 61), S = 0, s.k.c = ve(Ze, Me, 1, 0, 4, 1), n = new M(Kl(s)); n.a < n.c.c.length; ) - t = f(O(n), 89), t.e && (Le(s.k, t), ++S); - S == 1 && (i.c[i.c.length] = s); - } - for (l = new M(i); l.a < l.c.c.length; ) - for (s = f(O(l), 61); s.k.c.length == 1; ) { - for (m = f(O(new M(s.k)), 89), e.b[m.b] = m.f, v = m.c, p = m.d, n = new M(Kl(s)); n.a < n.c.c.length; ) - t = f(O(n), 89), t == m || (t.e ? v == t.c || p == t.d ? e.b[m.b] -= e.b[t.b] - t.f : e.b[m.b] += e.b[t.b] - t.f : s == v ? t.c == s ? e.b[m.b] += t.f : e.b[m.b] -= t.f : t.c == s ? e.b[m.b] -= t.f : e.b[m.b] += t.f); - Cr(v.k, m), Cr(p.k, m), v == s ? s = m.d : s = m.c; - } - } - function RJ(e) { - var t, n, i, s, l, h, v, p, m, S; - for (m = new Wr(), v = new Wr(), l = new M(e); l.a < l.c.c.length; ) - i = f(O(l), 77), i.e = i.d.c.length, i.k = i.j.c.length, i.e == 0 && wr(m, i, m.c.b, m.c), i.k == 0 && i.g.a.Y() == 0 && wr(v, i, v.c.b, v.c); - for (h = -1; m.b != 0; ) - for (i = f(B3(m, 0), 77), n = new M(i.j); n.a < n.c.c.length; ) - t = f(O(n), 117), S = t.b, S.n = Jr(S.n, i.n + 1), h = Jr(h, S.n), --S.e, S.e == 0 && wr(m, S, m.c.b, m.c); - if (h > -1) { - for (s = Jt(v, 0); s.b != s.d.c; ) - i = f(Ft(s), 77), i.n = h; - for (; v.b != 0; ) - for (i = f(B3(v, 0), 77), n = new M(i.d); n.a < n.c.c.length; ) - t = f(O(n), 117), p = t.a, p.g.a.Y() == 0 && (p.n = Au(p.n, i.n - 1), --p.k, p.k == 0 && wr(v, p, v.c.b, v.c)); - } - } - function BJ(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue; - for (p = new Se(), l = new M(t.b); l.a < l.c.c.length; ) - for (s = f(O(l), 9), v = new M(s.f); v.a < v.c.c.length; ) { - for (h = f(O(v), 7), S = null, U = f(Vn(h.e, ve(Ki, Yi, 12, 0, 0, 1)), 47), te = 0, ue = U.length; te < ue; ++te) - V = U[te], rh(V.d.f, n) || (q = p2(e, t, n, V, V.c, (sr(), ri), S), q != S && (p.c[p.c.length] = q), q.c && (S = q)); - for (m = null, I = f(Vn(h.b, ve(Ki, Yi, 12, 0, 0, 1)), 47), R = 0, Y = I.length; R < Y; ++R) - j = I[R], rh(j.c.f, n) || (q = p2(e, t, n, j, j.d, (sr(), Ai), m), q != m && (p.c[p.c.length] = q), q.c && (m = q)); - } - for (L = new M(p); L.a < L.c.c.length; ) - x = f(O(L), 187), Di(t.b, x.a, 0) != -1 || Le(t.b, x.a), x.c && (i.c[i.c.length] = x); - } - function zJ(e) { - var t, n, i, s, l, h, v, p, m; - for (i = e.e.e.j, t = f(nr(e.e, (Ee(), ic)), 86).kb((du(), eb)), _ee(e), l = new M(Xu(e.e)); l.a < l.c.c.length; ) { - switch (s = f(O(l), 161), v = f(nr(s, ul), 15), !v && (v = new Ut(0)), p = s.e.j, h = (n = f(s.e, 7).d, new qo(n.d, n.b, n.a, n.c)), m = new qn(s.e.i), f(s.e, 7).g.e) { - case 4: - m.a = -p.a - v.a, m.b = e.s - p.b - (t ? h.a : 0), e.s -= Fw(e, (we(), qe)) + p.b + (t ? h.d + h.a : 0); - break; - case 2: - m.a = i.a + v.a, m.b = e.a + (t ? h.d : 0), e.a += Fw(e, (we(), Be)) + p.b + (t ? h.d + h.a : 0); - break; - case 1: - m.a = e.f + (t ? h.b : 0), m.b = -s.e.j.b - v.a, e.f += Fw(e, (we(), rt)) + p.a + (t ? h.b + h.c : 0); - break; - case 3: - m.a = e.r - p.a - (t ? h.c : 0), m.b = i.b + v.a, e.r -= Fw(e, (we(), ct)) + p.a + (t ? h.b + h.c : 0); - } - s.e.i.a = m.a, s.e.i.b = m.b; - } - } - function HJ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - for (S = new _i(), x = new _i(), Y = new _i(), q = new _i(), m = f(z(t, (le(), Oi)), 15).a, l = m * f(z(t, (zt(), Qs)), 15).a, Pt(ge(jt(z(t, (Ee(), Fg))))), p = (L = new Wt(n.a).a.bb().mb(), new Zt(L)); p.a.G(); ) - if (v = (h = f(p.a.H(), 21), f(h.yb(), 9)), j = f(z(v, _r), 32), j == (we(), rt)) - for (x.a.db(v, x), s = Dt(Lr(v)); xt(s); ) - i = f(Et(s), 12), vn(S, i.c.f); - else if (j == ct) - for (q.a.db(v, q), s = Dt(Lr(v)); xt(s); ) - i = f(Et(s), 12), vn(Y, i.c.f); - S.a.Y() != 0 && (I = new e2(2, l), R = xC(I, t, S, x, -m - t.d.b), R > 0 && (e.a = m + (R - 1) * l, t.d.b += e.a, t.e.b += e.a)), Y.a.Y() != 0 && (I = new e2(1, l), R = xC(I, t, Y, q, t.e.b + m - t.d.b), R > 0 && (t.e.b += m + (R - 1) * l)); - } - function NR(e, t) { - var n, i, s, l, h, v, p, m, S; - return mn(), t.length == 0 ? e.fc(zC, y2, -1, -1) : (S = Wc(t), zo(S.substr(0, 3), "at ") && (S = gd(S, 3, S.length - 3)), S = S.replace(/\[.*?\]/g, ""), h = S.indexOf("("), h == -1 ? (h = S.indexOf("@"), h == -1 ? (m = S, S = "") : (m = Wc(gd(S, h + 1, S.length - (h + 1))), S = Wc(S.substr(0, h)))) : (n = S.indexOf(")", h), m = S.substr(h + 1, n - (h + 1)), S = Wc(S.substr(0, h))), h = rq(S, Z3(46)), h != -1 && (S = gd(S, h + 1, S.length - (h + 1))), (S.length == 0 || zo(S, "Anonymous function")) && (S = y2), v = vq(m, Z3(58)), s = Cq(m, Z3(58), v - 1), p = -1, i = -1, l = zC, v != -1 && s != -1 && (l = m.substr(0, s), p = q9(m.substr(s + 1, v - (s + 1))), i = q9(gd(m, v + 1, m.length - (v + 1)))), e.fc(l, S, p, i)); - } - function _J(e) { - var t, n, i, s, l, h, v, p, m, S; - for (m = new Se(), v = new Se(), h = new M(e); h.a < h.c.c.length; ) - s = f(O(h), 80), s.c = s.b.c.length, s.f = s.e.c.length, s.c == 0 && (m.c[m.c.length] = s), s.f == 0 && s.j.b == 0 && (v.c[v.c.length] = s); - for (i = -1; m.c.length != 0; ) - for (s = f(Fl(m, 0), 80), n = new M(s.e); n.a < n.c.c.length; ) - t = f(O(n), 118), S = t.b, S.i = Jr(S.i, s.i + 1), i = Jr(i, S.i), --S.c, S.c == 0 && (m.c[m.c.length] = S); - if (i > -1) { - for (l = new M(v); l.a < l.c.c.length; ) - s = f(O(l), 80), s.i = i; - for (; v.c.length != 0; ) - for (s = f(Fl(v, 0), 80), n = new M(s.b); n.a < n.c.c.length; ) - t = f(O(n), 118), p = t.a, !(p.j.b > 0) && (p.i = Au(p.i, s.i - 1), --p.f, p.f == 0 && (v.c[v.c.length] = p)); - } - } - function GJ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - if (Pt(ge(jt(z(n, (Ee(), ik)))))) - for (v = new M(n.f); v.a < v.c.c.length; ) - for (h = f(O(v), 7), x = f(Vn(h.e, ve(Ki, Yi, 12, h.e.c.length, 0, 1)), 47), m = 0, S = x.length; m < S; ++m) - p = x[m], l = p.d.f == n, s = l && Pt(ge(jt(z(p, ik)))), s && (j = p.c, L = f(Kt(e.b, j), 9), L || (L = B0(j, (zn(), jo), j.g, -1, j.j, f(z(t, Do), 59), t), ce(L, (le(), lt), j), un(e.b, j, L), Le(t.b, L)), R = p.d, I = f(Kt(e.b, R), 9), I || (I = B0(R, (zn(), jo), R.g, 1, R.j, f(z(t, Do), 59), t), ce(I, (le(), lt), R), un(e.b, R, I), Le(t.b, I)), i = ly(p), Bn(i, f(_e(L.f, 0), 7)), kn(i, f(_e(I.f, 0), 7)), pt(e.a, p, new N1(i, t, (sr(), ri))), f(z(t, (le(), qr)), 18).ib((vr(), as))); - } - function $J(e, t, n, i, s, l) { - var h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - switch (j = Ld(e.g), R = Ld(n.g), I = dn(_a(e.i), e.a), Y = dn(_a(n.i), n.a), h = dn(new qn(I), Yo(new zc(j), t)), v = dn(new qn(Y), Yo(new zc(R), i)), m = cZ(e, s), s == (we(), ct) || s == Be ? m += l : m -= l, L = new Yr(), q = new Yr(), s.e) { - case 1: - case 3: - L.a = h.a, L.b = I.b + m, q.a = v.a, q.b = L.b; - break; - case 2: - case 4: - L.a = I.a + m, L.b = h.b, q.a = L.a, q.b = v.b; - break; - default: - return null; - } - switch (S = Yo(dn(new ot(L.a, L.b), q), 0.5), x = new ey(re(ie(_t, 1), Ht, 10, 0, [I, h, L, S, q, v, Y])), p = oO(x), U = sO(x), s.e) { - case 1: - case 3: - x.a = p, V = SZ(x); - break; - case 2: - case 4: - x.a = U, V = EZ(x); - break; - default: - return null; - } - return B5(x, new t2(re(ie(_t, 1), Ht, 10, 0, [p, U, V, I, Y]))), x; - } - function YJ(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j; - for (l = new dA(t), x = aQ(e, t, l), j = je(f(z(t, (Ee(), Jo)), 15).a, 1), S = new M(x.a); S.a < S.c.c.length; ) - m = f(O(S), 27), p = dM(f(m.a, 10), f(m.b, 10), j), o = !0, o = o & uu(n, new ot(p.d, p.e)), o = o & uu(n, ua(new ot(p.d, p.e), p.c, 0)), o = o & uu(n, ua(new ot(p.d, p.e), 0, p.b)), o & uu(n, ua(new ot(p.d, p.e), p.c, p.b)); - switch (L = l.d, v = dM(f(x.b.a, 10), f(x.b.b, 10), j), L == (we(), qe) || L == Be ? (i.c[L.e] = Xt(i.c[L.e], v.e), i.b[L.e] = je(i.b[L.e], v.e + v.b)) : (i.c[L.e] = Xt(i.c[L.e], v.d), i.b[L.e] = je(i.b[L.e], v.d + v.c)), s = Hr, h = l.c.f.e, L.e) { - case 4: - s = h.c; - break; - case 2: - s = h.b; - break; - case 1: - s = h.a; - break; - case 3: - s = h.d; - } - return i.a[L.e] = je(i.a[L.e], s), l; - } - function FJ(e, t, n, i, s) { - var l, h, v, p, m, S, x, L, j, I, R, Y; - for (l = new Se(), m = new M(i); m.a < m.c.c.length; ) - if (v = f(O(m), 187), h = null, v.f == (sr(), ri)) - for (I = new M(v.e); I.a < I.c.c.length; ) - j = f(O(I), 12), Y = j.d.f, Ti(Y) == t ? CI(e, t, v, j, v.b, j.d) : !n || rh(Y, n) ? PZ(e, t, v, i, j) : (L = p2(e, t, n, j, v.b, ri, h), L != h && (l.c[l.c.length] = L), L.c && (h = L)); - else - for (x = new M(v.e); x.a < x.c.c.length; ) - if (S = f(O(x), 12), R = S.c.f, Ti(R) == t) - CI(e, t, v, S, S.c, v.b); - else { - if (!n || rh(R, n)) - continue; - L = p2(e, t, n, S, v.b, Ai, h), L != h && (l.c[l.c.length] = L), L.c && (h = L); - } - for (p = new M(l); p.a < p.c.c.length; ) - v = f(O(p), 187), Di(t.b, v.a, 0) != -1 || Le(t.b, v.a), v.c && (s.c[s.c.length] = v); - } - function qJ(e) { - var t, n, i, s; - for (t = e.e.j, i = new M(Xu(e)); i.a < i.c.c.length; ) { - switch (n = f(O(i), 161), s = f(nr(n, (Ee(), ul)), 15), !s && (s = new Ut(0)), f(n.e, 7).g.e) { - case 4: - n.e.i.b = t.b * ge(Ot(nr(n, cf))), n.e.i.a = -n.e.j.a - s.a; - break; - case 2: - n.e.i.b = t.b * ge(Ot(nr(n, cf))), n.e.i.a = t.a + s.a; - break; - case 1: - n.e.i.a = t.a * ge(Ot(nr(n, cf))), n.e.i.b = -n.e.j.b - s.a; - break; - case 3: - n.e.i.a = t.a * ge(Ot(nr(n, cf))), n.e.i.b = t.b + s.a; - } - switch (f(n.e, 7).g.e) { - case 4: - n.e.i.b = t.b * ge(Ot(nr(n, cf))), n.e.i.a = -n.e.j.a - s.a; - break; - case 2: - n.e.i.b = t.b * ge(Ot(nr(n, cf))), n.e.i.a = t.a + s.a; - break; - case 1: - n.e.i.a = t.a * ge(Ot(nr(n, cf))), n.e.i.b = -n.e.j.b - s.a; - break; - case 3: - n.e.i.a = t.a * ge(Ot(nr(n, cf))), n.e.i.b = t.b + s.a; - } - } - } - function VJ(e) { - var t, n, i, s, l, h, v, p, m; - for (l = e.f, s = y4(ay(e)), m = Jt(ca(e.g), 0); m.b != m.d.c; ) - if (p = f(Ft(m), 7), p.e.c.length == 0) { - for (n = new M(p.b); n.a < n.c.c.length; ) - if (t = f(O(n), 12), i = t.c, s.a.R(i)) { - for (h = new fn(l.f, 0), v = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 7)); v != p; ) - v = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 7)); - su(h, i), Xv(m, i), I0(i, p.g), Jv(m), Jv(m), s.a.eb(i) != null; - } - } else - for (n = new M(p.e); n.a < n.c.c.length; ) - if (t = f(O(n), 12), i = t.d, s.a.R(i)) { - for (h = new fn(l.f, 0), v = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 7)); v != p; ) - v = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 7)); - ut(h.b > 0), h.a.sb(h.c = --h.b), su(h, i), Xv(m, i), I0(i, p.g), Jv(m), Jv(m), s.a.eb(i) != null; - } - } - function WJ(e) { - var t, n, i, s, l, h, v, p, m; - l = new Nw(e), s = Mn(l, "graph"), p = Mn(l, "success"), i = Mn(l, "error"), h = Mn(l, "options"); - try { - if (!s || !s.kc()) - throw new t1("Mandatory parameter missing, 'graph' must be specified"); - XU(new aP(), s.kc(), h ? h.kc() : null), v = s.kc().a, p && p.kc() ? kg(p.kc().a, v) : kg(null, v); - } catch (S) { - if (S = Ur(S), xe(S, 73)) - m = S, i && i.kc() ? kg(i.kc().a, wA(m).a) : kg(null, wA(m).a); - else if (xe(S, 54)) - t = S, n = new Dl(), Ta(n, "type", new Rc(a1(t.$c))), t.bc() != null ? Ta(n, x2, new Rc(t.bc())) : Ta(n, x2, new Rc("null (sic)")), Ta(n, d8, new Rc(MS(new n1(` -`), new Pf(new ro((t.g == null && (t.g = a4(t)), t.g)))))), i && i.kc() ? kg(i.kc().a, n.a) : kg(null, n.a), _3(t, (Rl(), e_)); - else - throw Kr(S); - } - } - function UJ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L; - if (n) - for (i = -1, S = new fn(t, 0); S.b < S.d.Y(); ) { - if (v = (ut(S.b < S.d.Y()), f(S.d.sb(S.c = S.b++), 9)), x = e.a[v.d.k][v.k].a, x == null) { - for (h = i + 1, l = new fn(t, S.b); l.b < l.d.Y(); ) - if (L = zF(e, (ut(l.b < l.d.Y()), f(l.d.sb(l.c = l.b++), 9))).a, L != null) { - h = (or(L), L); - break; - } - x = (i + h) / 2, e.a[v.d.k][v.k].a = x, e.a[v.d.k][v.k].d = (or(x), x), e.a[v.d.k][v.k].b = 1; - } - i = (or(x), x); - } - else { - for (s = 0, m = new M(t); m.a < m.c.c.length; ) - v = f(O(m), 9), e.a[v.d.k][v.k].a != null && (s = je(s, ge(e.a[v.d.k][v.k].a))); - for (s += 2, p = new M(t); p.a < p.c.c.length; ) - v = f(O(p), 9), e.a[v.d.k][v.k].a == null && (x = Xl(e.e, 24) * M2 * s - 1, e.a[v.d.k][v.k].a = x, e.a[v.d.k][v.k].d = x, e.a[v.d.k][v.k].b = 1); - } - } - function KJ(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I; - for (p = 0, m = 0, I = 0, j = 0, h = 0, L = 0, x = 0, S = 0, l = new G1(new Jb(e.c).a); S1(l.a); ) - switch (s = (l.b = Yc(l.a), new b1(l.c, l.b)), i = f(s.b.b[s.a.e], 62), f(s.a, 67).e) { - case 12: - case 13: - case 14: - L += i.c + t; - break; - case 15: - case 16: - case 17: - x += i.c + t, h = je(h, i.b + t); - break; - case 18: - case 19: - case 20: - S += i.c + t; - break; - case 0: - case 1: - case 2: - I += i.c + t; - break; - case 3: - case 4: - case 5: - j += i.c + t; - break; - case 6: - case 7: - case 8: - p += i.b + t; - break; - case 9: - case 10: - case 11: - m += i.b + t; - } - p -= t, m -= t, I -= t, j -= t, L += L != 0 ? t : 0, x += x != 0 ? t : 0, S += S != 0 ? t : 0, v = e.p.d + h + e.p.a, v += v != 0 ? t : 0, n.a = je(n.a, I), n.a = je(n.a, L), n.a = je(n.a, x), n.a = je(n.a, S), n.a = je(n.a, j), n.b = je(n.b, p), n.b = je(n.b, v), n.b = je(n.b, m); - } - function ZJ(e) { - var t, n, i, s, l, h, v, p; - for (t = null, i = new M(e); i.a < i.c.c.length; ) - n = f(O(i), 102), ge(ka(n.g, n.d[0]).a), n.b = null, n.e && n.e.Y() > 0 && n.c == 0 && (!t && (t = new Se()), t.c[t.c.length] = n); - if (t) - for (; t.c.length != 0; ) { - if (n = f(Fl(t, 0), 102), n.b && n.b.c.length > 0) { - for (l = (!n.b && (n.b = new Se()), new M(n.b)); l.a < l.c.c.length; ) - if (s = f(O(l), 102), ge(ka(s.g, s.d[0]).a) == ge(ka(n.g, n.d[0]).a)) { - if (Di(e, s, 0) > Di(e, n, 0)) - return new pr(s, n); - } else if (ge(ka(s.g, s.d[0]).a) > ge(ka(n.g, n.d[0]).a)) - return new pr(s, n); - } - for (v = (!n.e && (n.e = new Se()), n.e).mb(); v.G(); ) - h = f(v.H(), 102), p = (!h.b && (h.b = new Se()), h.b), qc(0, p.c.length), _v(p.c, 0, n), h.c == p.c.length && (t.c[t.c.length] = h); - } - return null; - } - function XJ(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R; - for (x = (On(), new $t()), S = (_n(), new _o(Go(vs(e.a, new T())))); xt(S); ) - for (m = f(Et(S), 9), s = ZU(m, (we(), Be)), i = new M(s); i.a < i.c.c.length; ) - for (n = f(O(i), 7), h = new M(n.e); h.a < h.c.c.length; ) { - for (l = f(O(h), 12), Gi(), R = l.d.f, (R.g == (et(), hn) || R.g == Ka) && (R = f(z(R, (le(), Si)), 7).f), li(x.d, R) ? t = f(ci(li(x.d, R)), 171) : (s.c.length == 2 ? He(n) === He((Sn(0, s.c.length), s.c[0])) ? t = ns : t = Us : t = ns, ra(x.d, R, t)), p = new M(l.b); p.a < p.c.c.length; ) - v = f(O(p), 33), ce(v, (le(), lo), t); - for (I = new M(l.c.c); I.a < I.c.c.length; ) - L = f(O(I), 33), ce(L, (le(), lo), t); - for (j = new M(l.d.c); j.a < j.c.c.length; ) - L = f(O(j), 33), ce(L, (le(), lo), t); - } - } - function QJ(e, t) { - var n, i, s, l, h, v, p, m, S; - if (_l(En(t)) != 1 || f(X1(En(t)), 12).d.f.g != (et(), hn)) - return null; - for (l = f(X1(En(t)), 12), n = l.d.f, Ha(n, (et(), Ii)), ce(n, (le(), Mi), null), ce(n, Si, null), ce(n, (Ee(), dt), f(z(t, dt), 28)), ce(n, ia, f(z(t, ia), 86)), s = z(l.c, lt), h = null, m = Jn(n, (we(), Be)).mb(); m.G(); ) - if (v = f(m.H(), 7), v.e.c.length != 0) { - ce(v, lt, s), S = l.c, v.j.a = S.j.a, v.j.b = S.j.b, v.a.a = S.a.a, v.a.b = S.a.b, Tn(v.c, S.c), S.c.c = ve(Ze, Me, 1, 0, 4, 1), h = v; - break; - } - if (ce(l.c, lt, null), !eg(Jn(t, Be))) - for (p = new M(Gc(Jn(t, Be))); p.a < p.c.c.length; ) - v = f(O(p), 7), v.e.c.length == 0 ? (i = new Yn(), Bt(i, Be), i.j.a = v.j.a, i.j.b = v.j.b, cn(i, n), ce(i, lt, z(v, lt)), cn(v, null)) : cn(h, n); - return n.j.b = t.j.b, Le(e.b, n), n; - } - function JJ(e) { - var t, n, i, s, l, h, v, p, m; - if (l = e.e.e.j, h = new qn(l), p = f(nr(e.e, (Ee(), ic)), 86), m = f(nr(e.e, Zg), 86), v = f(nr(e.e, dt), 28), t = Fo(p, (du(), eb)), p.c != 0) { - switch (l.a = 0, l.b = 0, i = null, v.e) { - case 1: - case 2: - case 3: - i = wX(e, e.k); - break; - case 4: - i = new qn(h); - break; - case 5: - i = sQ(e.e, t); - } - Fo(p, uk) && (i && (l.a = je(l.a, i.a), l.b = je(l.b, i.b)), t && (l.a = je(l.a, e.q.b + e.q.c + e.k), l.b = je(l.b, e.q.d + e.q.a + e.k))), Fo(p, sk) && Nc(new M(bg(e.e))) && KJ(e, e.d, l), Fo(p, Jg) && (s = f(nr(e.e, Fd), 15).a, n = f(nr(e.e, Yd), 15).a, Fo(m, (sh(), tb)) && (s <= 0 && (s = 20), n <= 0 && (n = 20)), Fo(m, fk) ? (s > 0 && (l.a = je(l.a, s + e.q.b + e.q.c)), n > 0 && (l.b = je(l.b, n + e.q.d + e.q.a))) : (s > 0 && (l.a = je(l.a, s)), n > 0 && (l.b = je(l.b, n)))), qF(e.e, l); - } - } - function IR(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j; - if (!e.b) - return !1; - for (h = null, L = null, p = new gy(null, null), s = 1, p.a[1] = e.b, x = p; x.a[s]; ) - m = s, v = L, L = x, x = x.a[s], i = e.a.$b(t, x.d), s = i < 0 ? 0 : 1, i == 0 && (!n.c || la(x.e, n.d)) && (h = x), !(x && x.b) && !Ru(x.a[s]) && (Ru(x.a[1 - s]) ? L = L.a[m] = c0(x, s) : Ru(x.a[1 - s]) || (j = L.a[1 - m], j && (!Ru(j.a[1 - m]) && !Ru(j.a[m]) ? (L.b = !1, j.b = !0, x.b = !0) : (l = v.a[1] == L ? 1 : 0, Ru(j.a[m]) ? v.a[l] = MN(L, m) : Ru(j.a[1 - m]) && (v.a[l] = c0(L, m)), x.b = v.a[l].b = !0, v.a[l].a[0].b = !1, v.a[l].a[1].b = !1)))); - return h && (n.b = !0, n.d = h.e, x != h && (S = new gy(x.d, x.e), NZ(e, p, h, S), L == h && (L = S)), L.a[L.a[1] == x ? 1 : 0] = x.a[x.a[0] ? 0 : 1], --e.c), e.b = p.a[1], e.b && (e.b.b = !1), n.b; - } - function eee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V; - for (i = f(z(e, (Ee(), dt)), 28), p = e.e, v = e.a, n = f(z(e, (le(), os)), 15).a, m = p.a + v.b + v.c + 2 * n, S = 0 - v.d - n - e.d.b, j = p.b + v.d + v.a + 2 * n - e.d.b, x = new Se(), I = new Se(), l = (L = new Wt(t.a).a.bb().mb(), new Zt(L)); l.a.G(); ) { - switch (s = (h = f(l.a.H(), 21), f(h.yb(), 9)), i.e) { - case 1: - case 2: - case 3: - hX(s); - break; - case 4: - R = f(z(s, wu), 10), Y = R ? R.a : 0, s.i.a = m * ge(Ot(z(s, xu))) - Y, w0(s, !0, !1); - break; - case 5: - q = f(z(s, wu), 10), V = q ? q.a : 0, s.i.a = ge(Ot(z(s, xu))) - V, w0(s, !0, !1), p.a = je(p.a, s.i.a + s.j.a / 2); - } - switch (f(z(s, _r), 32).e) { - case 1: - s.i.b = S, x.c[x.c.length] = s; - break; - case 3: - s.i.b = j, I.c[I.c.length] = s; - } - } - switch (i.e) { - case 1: - case 2: - OM(x, e), OM(I, e); - break; - case 3: - AM(x, e), AM(I, e); - } - } - function tee(e) { - var t, n, i, s, l, h; - return i = f(z(e.a.g, (Ee(), ia)), 86), JM(i, (gu(), t = f(Hi(Ln), 11), new ti(t, f(xi(t, t.length), 11), 0))) || (Wu(i, b0(qi)) ? (n = f(f(Pa(e.a.b, e.b), 20).sb(0), 33), e.b.i.a = n.i.a, e.b.i.b = n.i.b) : Wu(i, b0(Wi)) ? (s = f(_e(e.a.c, e.a.c.c.length - 1), 9), l = f(f(Pa(e.a.b, e.b), 20).sb(f(Pa(e.a.b, e.b), 20).Y() - 1), 33), h = s.j.a - (l.i.a + l.j.a), e.b.i.a = e.a.g.j.a - h - e.b.j.a, e.b.i.b = l.i.b) : Wu(i, Yt(ga, re(ie(Ln, 1), De, 41, 0, [Ua]))) ? (n = f(f(Pa(e.a.b, e.b), 20).sb(0), 33), e.b.i.a = (e.a.g.j.a - e.b.j.a) / 2, e.b.i.b = n.i.b) : Wu(i, b0(ga)) ? (n = f(f(Pa(e.a.b, e.b), 20).sb(0), 33), e.b.i.b = n.i.b) : Wu(i, b0(Ua)) && (n = f(f(Pa(e.a.b, e.b), 20).sb(0), 33), e.b.i.a = (e.a.g.j.a - e.b.j.a) / 2, e.b.i.b = n.i.b)), null; - } - function MR(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (I = new M(e); I.a < I.c.c.length; ) { - for (j = f(O(I), 9), ao(j.i), ao(j.j), ZX(j), SX(j), Y = new M(j.f); Y.a < Y.c.c.length; ) { - for (R = f(O(Y), 7), ao(R.i), ao(R.a), ao(R.j), Bt(R, wO(R.g)), l = f(z(R, (Ee(), mu)), 24), l && ce(R, mu, gt(-l.a)), s = new M(R.e); s.a < s.c.c.length; ) { - for (i = f(O(s), 12), n = Jt(i.a, 0); n.b != n.d.c; ) - t = f(Ft(n), 10), ao(t); - if (p = f(z(i, Un), 44), p) - for (v = Jt(p, 0); v.b != v.d.c; ) - h = f(Ft(v), 10), ao(h); - for (x = new M(i.b); x.a < x.c.c.length; ) - m = f(O(x), 33), ao(m.i), ao(m.j); - } - for (L = new M(R.c); L.a < L.c.c.length; ) - m = f(O(L), 33), ao(m.i), ao(m.j); - } - for (j.g == (et(), Cn) && (ce(j, (le(), _r), wO(f(z(j, _r), 32))), BX(j)), S = new M(j.c); S.a < S.c.c.length; ) - m = f(O(S), 33), ao(m.j), ao(m.i); - } - } - function nee(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V; - for (yZ(n), rh(t.d.f, t.c.f) ? (S = t.c, x = ln(re(ie(_t, 1), Ht, 10, 0, [S.i, S.a])), m = S.f.b, ua(x, -m.b, -m.d), x.a -= i.a, x.b -= i.b) : x = Pi(t.c), x.a += i.a, x.b += i.b, L = new Dl(), Fa(e, L, "x", x.a), Fa(e, L, "y", x.b), Ta(n, "sourcePoint", L), j = Pi(t.d), z(t, (le(), fE)) != null && dn(j, f(z(t, fE), 10)), dn(j, i), I = new Dl(), Fa(e, I, "x", j.a), Fa(e, I, "y", j.b), Ta(n, "targetPoint", I), s = new A5(), V = Vu(t.a, i), l = 0, q = Jt(V, 0); q.b != q.d.c; ) - R = f(Ft(q), 10), p = new Dl(), Fa(e, p, "x", R.a), Fa(e, p, "y", R.b), Uj(s, l++, p); - if (V.b == 0 ? Ta(n, L2, null) : Ta(n, L2, s), h = f(z(t, (Ee(), Un)), 44), l = 0, h) { - for (Vu(h, i), v = new A5(), Y = Jt(h, 0); Y.b != Y.d.c; ) - R = f(Ft(Y), 10), p = new Dl(), Fa(e, p, "x", R.a), Fa(e, p, "y", R.b), Uj(v, l++, p); - Ta(n, v8, v); - } else - Ta(n, v8, null); - } - function ree(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - if (R = e.i, Y = e.j, L = e.e, t) { - for (x = i / 2 * (t.Y() - 1), j = 0, m = t.mb(); m.G(); ) - v = f(m.H(), 9), x += v.j.a, j = je(j, v.j.b); - for (q = R.a - (x - Y.a) / 2, h = R.b - L.d + j, s = Y.a / (t.Y() + 1), l = s, p = t.mb(); p.G(); ) - v = f(p.H(), 9), v.i.a = q, v.i.b = h - v.j.b, q += v.j.a + i / 2, S = AA(v), S.i.a = v.j.a / 2 - S.a.a, S.i.b = v.j.b, I = f(z(v, (le(), xp)), 7), I.b.c.length + I.e.c.length == 1 && (I.i.a = l - I.a.a, I.i.b = 0, cn(I, e)), l += s; - } - if (n) { - for (x = i / 2 * (n.Y() - 1), j = 0, m = n.mb(); m.G(); ) - v = f(m.H(), 9), x += v.j.a, j = je(j, v.j.b); - for (q = R.a - (x - Y.a) / 2, h = R.b + Y.b + L.a - j, s = Y.a / (n.Y() + 1), l = s, p = n.mb(); p.G(); ) - v = f(p.H(), 9), v.i.a = q, v.i.b = h, q += v.j.a + i / 2, S = AA(v), S.i.a = v.j.a / 2 - S.a.a, S.i.b = 0, I = f(z(v, (le(), xp)), 7), I.b.c.length + I.e.c.length == 1 && (I.i.a = l - I.a.a, I.i.b = Y.b, cn(I, e)), l += s; - } - } - function iee(e, t, n, i, s) { - var l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye; - for (ye = 0, j = 0, x = new M(t.f); x.a < x.c.c.length; ) { - for (S = f(O(x), 9), L = 0, v = 0, p = n ? f(z(S, pp), 24).a : Ys, q = i ? f(z(S, wp), 24).a : Ys, m = p > q ? p : q, U = new M(S.f); U.a < U.c.c.length; ) { - if (V = f(O(U), 7), te = S.i.b + V.i.b + V.a.b, i) - for (h = new M(V.e); h.a < h.c.c.length; ) - l = f(O(h), 12), R = l.d, I = R.f, t != e.a[I.k] && (Y = Jr(f(z(I, pp), 24).a, f(z(I, wp), 24).a), ue = f(z(l, (le(), Xa)), 24).a, ue >= m && ue >= Y && (L += I.i.b + R.i.b + R.a.b - te, ++v)); - if (n) - for (h = new M(V.b); h.a < h.c.c.length; ) - l = f(O(h), 12), R = l.c, I = R.f, t != e.a[I.k] && (Y = Jr(f(z(I, pp), 24).a, f(z(I, wp), 24).a), ue = f(z(l, (le(), Xa)), 24).a, ue >= m && ue >= Y && (L += I.i.b + R.i.b + R.a.b - te, ++v)); - } - v > 0 && (ye += L / v, ++j); - } - j > 0 ? (t.a = s * ye / j, t.i = j) : (t.a = 0, t.i = 0); - } - function aee(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V; - for (j = t.c.length, L = 0, x = new M(e.c); x.a < x.c.c.length; ) - if (S = f(O(x), 16), q = S.a, q.c.length != 0) { - for (Y = new M(q), m = 0, V = null, s = f(O(Y), 9); s; ) { - if (l = f(_e(t, s.k), 111), l.c >= 0) { - for (p = null, v = new fn(S.a, m + 1); v.b < v.d.Y() && (h = (ut(v.b < v.d.Y()), f(v.d.sb(v.c = v.b++), 9)), p = f(_e(t, h.k), 111), !(p.d == l.d && p.c < l.c)); ) - p = null; - p && (V && ($c(i, s.k, gt(f(_e(i, s.k), 24).a - 1)), f(_e(n, V.k), 20).nb(l)), l = hZ(l, s, j++), t.c[t.c.length] = l, Le(n, new Se()), V ? (f(_e(n, V.k), 20).ib(l), Le(i, gt(1))) : Le(i, gt(0))); - } - I = null, Y.a < Y.c.c.length && (I = f(O(Y), 9), R = f(_e(t, I.k), 111), f(_e(n, s.k), 20).ib(R), $c(i, I.k, gt(f(_e(i, I.k), 24).a + 1))), l.d = L, l.c = m++, V = s, s = I; - } - ++L; - } - Pt(ge(jt(z(e, (Ee(), Fg))))); - } - function Ss(e, t) { - var n; - if (e.e) - throw new Ou((Al(pk), "The " + pk.j + p8)); - if (!yF(e.a, t)) - throw new As("The direction " + t + " is not supported by the CGraph instance."); - if (t == e.d) - return e; - switch (n = e.d, e.d = t, n.e) { - case 0: - switch (t.e) { - case 2: - Hs(e); - break; - case 1: - Es(e), Hs(e); - break; - case 4: - Uc(e), Hs(e); - break; - case 3: - Uc(e), Es(e), Hs(e); - } - break; - case 2: - switch (t.e) { - case 1: - Es(e), d2(e); - break; - case 4: - Uc(e), Hs(e); - break; - case 3: - Uc(e), Es(e), Hs(e); - } - break; - case 1: - switch (t.e) { - case 2: - Es(e), d2(e); - break; - case 4: - Es(e), Uc(e), Hs(e); - break; - case 3: - Es(e), Uc(e), Es(e), Hs(e); - } - break; - case 4: - switch (t.e) { - case 2: - Uc(e), Hs(e); - break; - case 1: - Uc(e), Es(e), Hs(e); - break; - case 3: - Es(e), d2(e); - } - break; - case 3: - switch (t.e) { - case 2: - Es(e), Uc(e), Hs(e); - break; - case 1: - Es(e), Uc(e), Es(e), Hs(e); - break; - case 4: - Es(e), d2(e); - } - } - return e; - } - function AC(e, t, n) { - var i, s, l, h, v, p, m, S, x; - if (!e.a[t.d.k][t.k].e) { - for (e.a[t.d.k][t.k].e = !0, e.a[t.d.k][t.k].b = 0, e.a[t.d.k][t.k].d = 0, e.a[t.d.k][t.k].a = null, S = new M(t.f); S.a < S.c.c.length; ) - for (m = f(O(S), 7), x = n ? new Zh(m) : new Lf(m), p = x.mb(); p.G(); ) - v = f(p.H(), 7), h = v.f, h.d == t.d ? h != t && (AC(e, h, n), e.a[t.d.k][t.k].b += e.a[h.d.k][h.k].b, e.a[t.d.k][t.k].d += e.a[h.d.k][h.k].d) : (e.a[t.d.k][t.k].d += e.d[v.k], ++e.a[t.d.k][t.k].b); - if (l = f(z(t, (le(), wL)), 20), l) - for (s = l.mb(); s.G(); ) - i = f(s.H(), 9), t.d == i.d && (AC(e, i, n), e.a[t.d.k][t.k].b += e.a[i.d.k][i.k].b, e.a[t.d.k][t.k].d += e.a[i.d.k][i.k].d); - e.a[t.d.k][t.k].b > 0 && (e.a[t.d.k][t.k].d += Xl(e.e, 24) * M2 * 0.07000000029802322 - 0.03500000014901161, e.a[t.d.k][t.k].a = e.a[t.d.k][t.k].d / e.a[t.d.k][t.k].b); - } - } - function oee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L; - for (s = new M(e.a.c); s.a < s.c.c.length; ) - for (n = f(O(s), 16), p = new M(n.a); p.a < p.c.c.length; ) - v = f(O(p), 9), t.i[v.k] = v, t.g[v.k] = t.k == (oo(), Za) ? Hr : ki; - for (h = e.a.c, t.c == (Co(), Ps) && (h = xe(h, 87) ? wd(f(h, 87)) : xe(h, 88) ? f(h, 88).a : xe(h, 63) ? new Dv(h) : new od(h)), OW(e.e, t, e.b), cF(t.n), l = h.mb(); l.G(); ) - for (n = f(l.H(), 16), m = n.a, t.k == (oo(), Za) && (m = xe(m, 87) ? wd(f(m, 87)) : xe(m, 88) ? f(m, 88).a : xe(m, 63) ? new Dv(m) : new od(m)), L = m.mb(); L.G(); ) - x = f(L.H(), 9), t.f[x.k] == x && GR(e, x, t); - for (cJ(e, t), i = h.mb(); i.G(); ) - for (n = f(i.H(), 16), L = new M(n.a); L.a < L.c.c.length; ) - x = f(O(L), 9), t.n[x.k] = t.n[t.f[x.k].k], x == t.f[x.k] && (S = ge(t.g[t.i[x.k].k]), (t.k == (oo(), Za) && S > Hr || t.k == ku && S < ki) && (t.n[x.k] = ge(t.n[x.k]) + S)); - e.e.Jc(); - } - function OR(e, t) { - var n, i, s, l, h, v, p, m, S, x, L; - JU(t, re(ie(rf, 1), Me, 79, 0, [(le(), Oi), os, (zt(), nv), Ph])), m = f(z(t, Oi), 15).a, f(z(t, Qs), 15).a * m < 2 && ce(t, Qs, new Ut(2 / m)), S = f(z(t, (Ee(), Do)), 59), S == ($n(), Po) && ce(t, Do, By(t)), x = f(z(t, RL), 24), x.a == 0 ? ce(t, jh, new FM()) : ce(t, jh, new jI(x.a)), L = new RR(t), ce(t, ml, L), s = s0(e, f(z(t, pE), 180)), v = s0(e, f(z(t, kE), 180)), i = s0(e, f(z(t, Pp), 180)), p = s0(e, f(z(t, EE), 180)), l = s0(e, dq(f(z(t, SL), 122))), h = new An(), ce(t, $H, h), xr(xr(xr(xr(xr(xr(h, s.qc(t)), v.qc(t)), i.qc(t)), p.qc(t)), l.qc(t)), hJ(t)), n = (fi(30, nl), new ji(30)), ce(t, PL, n), Tn(n, Eg(e, h, 0)), n.c[n.c.length] = s, Tn(n, Eg(e, h, 1)), n.c[n.c.length] = v, Tn(n, Eg(e, h, 2)), n.c[n.c.length] = i, Tn(n, Eg(e, h, 3)), n.c[n.c.length] = p, Tn(n, Eg(e, h, 4)), n.c[n.c.length] = l, Tn(n, Eg(e, h, 5)); - } - function see(e, t) { - var n, i, s, l, h, v; - if (l = SN(pg(e)), !l.Nb().V()) { - switch (s = f(z(f(f(f(l.Nb().sb(0), 129), 224).e, 33), (Gi(), KB)), 171), s = s == nb ? Us : s, v = 0, f(e.e, 7).g.e) { - case 4: - case 2: - s == Us && (v = e.e.j.b); - break; - case 3: - v = e.e.j.b; - } - for ((f(e.e, 7).g == (we(), rt) || s == ns) && (l = wd(l)), i = Ed(l.Nb().mb()); i.G(); ) { - if (n = f(i.H(), 129), h = new qn(n.e.i), s == ns) - switch (f(e.e, 7).g.e) { - case 1: - case 4: - h.a = -n.e.j.a - t, h.b = v - t - n.e.j.b, v -= t + n.e.j.b; - break; - case 2: - h.a = e.e.j.a + t, h.b = v - t - n.e.j.b, v -= t + n.e.j.b; - break; - case 3: - h.a = -n.e.j.a - t, h.b = v + t, v += t + n.e.j.b; - } - else - switch (f(e.e, 7).g.e) { - case 4: - h.a = -n.e.j.a - t, h.b = v + t, v += t + n.e.j.b; - break; - case 2: - h.a = e.e.j.a + t, h.b = v + t, v += t + n.e.j.b; - break; - case 1: - h.a = e.e.j.a + t, h.b = v - t - n.e.j.b, v -= t + n.e.j.b; - break; - case 3: - h.a = e.e.j.a + t, h.b = v + t, v += t + n.e.j.b; - } - n.e.i.a = h.a, n.e.i.b = h.b; - } - } - } - function uee(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j; - for (i = 0, s = 0, S = 0; S < e.length; S++) - if (p = e[S], gi(f(z(p, (Ee(), dt)), 28))) - for (h = Jn(p, (we(), Be)).mb(); h.G(); ) - l = f(h.H(), 7), l.b.c.length + l.e.c.length > 0 && (i += l.b.c.length + l.e.c.length, un(t, l, gt(i))); - else { - for (v = Jn(p, (we(), Be)).mb(); v.G(); ) - l = f(v.H(), 7), i += l.b.c.length + l.e.c.length; - for (h = Jn(p, Be).mb(); h.G(); ) - l = f(h.H(), 7), l.b.c.length + l.e.c.length > 0 && un(t, l, gt(i)); - } - for (m = e.length - 1; m >= 0; m--) - if (p = e[m], gi(f(z(p, (Ee(), dt)), 28))) - for (L = Jn(p, (we(), qe)).mb(); L.G(); ) - x = f(L.H(), 7), x.b.c.length + x.e.c.length > 0 && (s += x.b.c.length + x.e.c.length, un(n, x, gt(s))); - else { - for (j = Jn(p, (we(), qe)).mb(); j.G(); ) - x = f(j.H(), 7), s += x.b.c.length + x.e.c.length; - for (L = Jn(p, qe).mb(); L.G(); ) - x = f(L.H(), 7), x.b.c.length + x.e.c.length > 0 && un(n, x, gt(s)); - } - } - function cee(e, t, n, i, s) { - var l, h, v, p, m, S, x, L, j, I, R, Y, q; - switch (L = Ld(e.g), I = Ld(t.g), j = dn(_a(e.i), e.a), R = dn(_a(t.i), t.a), p = dn(new ot(j.a, j.b), Yo(new zc(L), 1.3 * n)), Y = dn(new ot(R.a, R.b), Yo(new zc(I), 1.3 * i)), v = ei(p.a - Y.a), v < s && (e.g == (we(), qe) || e.g == Be ? p.a < Y.a ? p.a = Y.a - s : p.a = Y.a + s : p.a < Y.a ? Y.a = p.a + s : Y.a = p.a - s), l = 0, h = 0, e.g.e) { - case 4: - l = 2 * (j.a - n) - 0.5 * (p.a + Y.a); - break; - case 2: - l = 2 * (j.a + n) - 0.5 * (p.a + Y.a); - break; - case 1: - h = 2 * (j.b - n) - 0.5 * (p.b + Y.b); - break; - case 3: - h = 2 * (j.b + n) - 0.5 * (p.b + Y.b); - } - switch (t.g.e) { - case 4: - l = 2 * (R.a - i) - 0.5 * (Y.a + p.a); - break; - case 2: - l = 2 * (R.a + i) - 0.5 * (Y.a + p.a); - break; - case 1: - h = 2 * (R.b - i) - 0.5 * (Y.b + p.b); - break; - case 3: - h = 2 * (R.b + i) - 0.5 * (Y.b + p.b); - } - return x = new ot(l, h), S = new ey(re(ie(_t, 1), Ht, 10, 0, [j, p, x, Y, R])), m = oO(S), q = sO(S), S.a = m, B5(S, new t2(re(ie(_t, 1), Ht, 10, 0, [m, q, j, R]))), S; - } - function AR(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (p = n.a, s = f(z(n, (le(), os)), 15).a, I = n.d, v = (i = f(z(n, os), 15).a, new ot(n.e.a + n.a.b + n.a.c + 2 * i, n.e.b + n.a.d + n.a.a + 2 * i)), m = v.b, L = new M(e.a); L.a < L.c.c.length; ) - if (S = f(O(L), 9), S.g == (et(), Cn)) { - switch (l = f(z(S, _r), 32), h = f(z(S, CL), 10), j = S.i, l.e) { - case 2: - j.a = n.e.a + s + p.c - I.a; - break; - case 4: - j.a = -I.a - s - p.b; - } - switch (Y = 0, l.e) { - case 2: - case 4: - t == (zn(), es) ? (R = ge(Ot(z(S, xu))), j.b = v.b * R - f(z(S, (Ee(), wu)), 10).b, Y = j.b + h.b, w0(S, !1, !0)) : t == ni && (j.b = ge(Ot(z(S, xu))) - f(z(S, (Ee(), wu)), 10).b, Y = j.b + h.b, w0(S, !1, !0)); - } - m = m > Y ? m : Y; - } - for (n.e.b += m - v.b, x = new M(e.a); x.a < x.c.c.length; ) - if (S = f(O(x), 9), S.g == (et(), Cn)) - switch (l = f(z(S, _r), 32), j = S.i, l.e) { - case 1: - j.b = -I.b - s - p.d; - break; - case 3: - j.b = n.e.b + s + p.a - I.b; - } - } - function lee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I; - for (s = new Se(), p = new M(e.d.f); p.a < p.c.c.length; ) - h = f(O(p), 7), h.g == (we(), Be) && (s.c[s.c.length] = h); - if (e.e.a == ($n(), Fi) && !ds(f(z(e.d, (Ee(), dt)), 28))) - for (i = Dt(En(e.d)); xt(i); ) - n = f(Et(i), 12), Le(s, n.c); - for (l = e.d.j.a, ce(e.d, (le(), fb), new Ut(e.d.j.a)), e.d.j.a = e.c, ce(e.d, vc, (yn(), yn(), ii)), Le(e.b, e.d), m = e.d, l -= e.c, S = e.a; S > 1; ) - t = Xt(l, e.c), m = (x = new qa(e.e.c), Ha(x, (et(), Ii)), ce(x, (Ee(), dt), f(z(m, dt), 28)), ce(x, ia, f(z(m, ia), 86)), x.k = e.e.b++, Le(e.b, x), x.j.b = m.j.b, x.j.a = t, L = new Yn(), Bt(L, (we(), Be)), cn(L, m), L.i.a = x.j.a, L.i.b = x.j.b / 2, j = new Yn(), Bt(j, qe), cn(j, x), j.i.b = x.j.b / 2, j.i.a = -j.j.a, I = new bs(), Bn(I, L), kn(I, j), x), Le(e.e.c.b, m), --S, l -= e.c + e.e.d; - for (new G3(e.d, e.b, e.c), v = new M(s); v.a < v.c.c.length; ) - h = f(O(v), 7), Cr(e.d.f, h), cn(h, m); - } - function fee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j; - if (!(e.p > t.a || t.p > e.a)) { - for (n = 0, i = 0, x = (h = new Wt(e.o.a).a.bb().mb(), new Zt(h)); x.a.G(); ) - m = (s = f(x.a.H(), 21), f(s.yb(), 7)), Hy(ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])).b, t.p, t.a) && ++n; - for (L = (v = new Wt(e.g.a).a.bb().mb(), new Zt(v)); L.a.G(); ) - m = (s = f(L.a.H(), 21), f(s.yb(), 7)), Hy(ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])).b, t.p, t.a) && --n; - for (j = (p = new Wt(t.o.a).a.bb().mb(), new Zt(p)); j.a.G(); ) - m = (s = f(j.a.H(), 21), f(s.yb(), 7)), Hy(ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])).b, e.p, e.a) && ++i; - for (S = (l = new Wt(t.g.a).a.bb().mb(), new Zt(l)); S.a.G(); ) - m = (s = f(S.a.H(), 21), f(s.yb(), 7)), Hy(ln(re(ie(_t, 1), Ht, 10, 0, [m.f.i, m.i, m.a])).b, e.p, e.a) && --i; - n < i ? new r0(e, t, i - n) : i < n ? new r0(t, e, n - i) : (new r0(t, e, 0), new r0(e, t, 0)); - } - } - function RR(e) { - var t; - this.f = f(z(e, (le(), Oi)), 15).a, this.d = f(z(e, (zt(), tv)), 15).a, this.a = this.f * f(z(e, Qs), 15).a, this.b = this.f * f(z(e, WH), 15).a, f(z(e, cE), 15), this.c = f(z(e, cE), 15).a, this.e = f(z(e, (Ee(), wh)), 15).a, t = (et(), re(ie(aT, 1), De, 132, 0, [Hn, hn, Cn, er, Ka, Ii])).length, this.g = Gm(Op, [Dr, F0], [250, 26], 12, [t, t], 2), Gv(this, Hn, this.f), Vo(this, Hn, hn, this.b), Vo(this, Hn, er, this.b), Vo(this, Hn, Cn, this.c), Vo(this, Hn, Ka, this.b), Vo(this, Hn, Ii, this.b), Gv(this, hn, this.a), Vo(this, hn, er, this.a), Vo(this, hn, Cn, this.c), Vo(this, hn, Ka, this.e), Vo(this, hn, Ii, this.b), Gv(this, er, this.a), Vo(this, er, Cn, this.c), Vo(this, er, Ka, this.e), Vo(this, er, Ii, this.b), Gv(this, Cn, this.c), Vo(this, Cn, Ka, this.c), Vo(this, Cn, Ii, this.c), Gv(this, Ka, this.e), Vo(this, Ka, Ii, this.e), Gv(this, Ii, this.f); - } - function hee(e, t) { - var n, i, s, l, h, v, p, m, S; - if (_l(Lr(t)) != 1 || f(X1(Lr(t)), 12).c.f.g != (et(), hn)) - return null; - for (n = f(X1(Lr(t)), 12), i = n.c.f, Ha(i, (et(), Hn)), ce(i, (le(), Mi), null), ce(i, Si, null), ce(i, fb, f(z(t, fb), 15)), ce(i, vc, (yn(), yn(), ii)), ce(i, lt, z(t, lt)), i.j.b = t.j.b, l = z(n.d, lt), h = null, m = Jn(i, (we(), qe)).mb(); m.G(); ) - if (v = f(m.H(), 7), v.b.c.length != 0) { - ce(v, lt, l), S = n.d, v.j.a = S.j.a, v.j.b = S.j.b, v.a.a = S.a.a, v.a.b = S.a.b, Tn(v.c, S.c), S.c.c = ve(Ze, Me, 1, 0, 4, 1), h = v; - break; - } - if (ce(n.d, lt, null), _l(Jn(t, qe)) > 1) - for (p = Jt(ca(Jn(t, qe)), 0); p.b != p.d.c; ) - v = f(Ft(p), 7), v.b.c.length == 0 ? (s = new Yn(), Bt(s, qe), s.j.a = v.j.a, s.j.b = v.j.b, cn(s, i), ce(s, lt, z(v, lt)), cn(v, null)) : cn(h, i); - return ce(t, lt, null), ce(t, vc, Rn), Ha(t, Ii), ce(i, (Ee(), dt), f(z(t, dt), 28)), ce(i, ia, f(z(t, ia), 86)), Ac(e.b, 0, i), i; - } - function B0(e, t, n, i, s, l, h) { - var v, p, m, S, x, L; - switch (x = n, m = new qa(h), Ha(m, (et(), Cn)), ce(m, (le(), CL), s), ce(m, (Ee(), dt), (zn(), ni)), ce(m, Qd, f(z(e, ul), 15)), p = f(z(e, wu), 10), !p && (p = new ot(s.a / 2, s.b / 2)), ce(m, wu, p), S = new Yn(), cn(S, m), t != jo && t != ac || (v = l != ($n(), Po) ? l : Fi, i > 0 ? x = g0(v) : x = Oy(g0(v)), ce(e, Kg, x)), x.e) { - case 4: - ce(m, (zt(), Er), ($i(), gc)), ce(m, oE, (nh(), lb)), m.j.b = s.b, Bt(S, (we(), Be)), S.i.b = p.b; - break; - case 2: - ce(m, (zt(), Er), ($i(), Tu)), ce(m, oE, (nh(), yp)), m.j.b = s.b, Bt(S, (we(), qe)), S.i.b = p.b; - break; - case 1: - ce(m, Zs, (ms(), gf)), m.j.a = s.a, Bt(S, (we(), ct)), S.i.a = p.a; - break; - case 3: - ce(m, Zs, (ms(), Lh)), m.j.a = s.a, Bt(S, (we(), rt)), S.i.a = p.a; - } - if (t == yh || t == es || t == ni) { - switch (L = 0, x.e) { - case 4: - case 2: - L = null.cd, t == es && (L /= null.cd); - break; - case 1: - case 3: - L = null.cd, t == es && (L /= null.cd); - } - ce(m, xu, L); - } - return ce(m, _r, x), m; - } - function dee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (m = new Ci(), q = (On(), new $t()), un(q, e, BO(e)), i = (fi(2, nl), new ji(2)), e.c && Le(i, e.c), e.d && Le(i, e.d), j = new M(i); j.a < j.c.c.length; ) - if (L = f(O(j), 7), t = new Wr(), na(t, Gc(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [L.b, L.e]))))))), hg(t, e, !0), t.b != 0) - for (U = f(ci(li(q.d, e)), 34), L == e.d ? (I = U[U.length - 1], V = !0) : (I = U[0], V = !1), p = 1; p < U.length; p++) { - for (V ? R = U[U.length - 1 - p] : R = U[p], n = Jt(t, 0); n.b != n.d.c; ) - S = f(Ft(n), 12), x = f(ci(li(q.d, S)), 34), x == null && (x = BO(S), ra(q.d, S, x)), x.length <= p ? e3(n) : (V ? Y = x[x.length - 1 - p] : Y = x[p], (R.a != Y.a || R.b != Y.b) && (s = R.a - I.a, h = R.b - I.b, l = Y.a - I.a, v = Y.b - I.b, l * h == v * s && ry(s) == ry(l) && ry(h) == ry(v) ? ((s <= 0 ? 0 - s : s) < (l <= 0 ? 0 - l : l) || (h <= 0 ? 0 - h : h) < (v <= 0 ? 0 - v : v)) && wr(m, R, m.c.b, m.c) : p > 1 && wr(m, I, m.c.b, m.c), e3(n))); - I = R; - } - return m; - } - function vee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R; - for (e.n = f(z(e.g, (le(), Oi)), 15).a * f(z(e.g, (zt(), tv)), 15).a, e.e = e.n * f(z(e.g, Qs), 15).a, e.i = e.g.c.c.length, v = e.i - 1, L = 0, e.j = 0, e.k = 0, e.a = i0(ve(H2, Dr, 24, e.i, 0, 1)), e.b = i0(ve(bb, Dr, 184, e.i, 6, 1)), h = new M(e.g.c); h.a < h.c.c.length; ) { - for (s = f(O(h), 16), s.k = v, x = new M(s.a); x.a < x.c.c.length; ) - S = f(O(x), 9), S.k = L, ++L; - --v; - } - for (e.f = ve(Kn, Wn, 26, L, 12, 1), e.c = Gm(Kn, [Dr, Wn], [52, 26], 12, [L, 3], 2), e.o = new Se(), e.p = new Se(), t = 0, e.d = 0, l = new M(e.g.c); l.a < l.c.c.length; ) { - for (s = f(O(l), 16), v = s.k, i = 0, R = 0, p = s.a.c.length, m = 0, x = new M(s.a); x.a < x.c.c.length; ) - S = f(O(x), 9), L = S.k, e.f[L] = S.d.k, m += S.j.b + e.n, n = _l(Lr(S)), I = _l(En(S)), e.c[L][0] = I - n, e.c[L][1] = n, e.c[L][2] = I, i += n, R += I, n > 0 && Le(e.p, S), Le(e.o, S); - t -= i, j = p + t, m += t * e.e, $c(e.a, v, gt(j)), $c(e.b, v, m), e.j = Jr(e.j, j), e.k = je(e.k, m), e.d += t, t += R; - } - } - function we() { - we = c; - var e; - cr = new Av(ef, 0), rt = new Av("NORTH", 1), Be = new Av("EAST", 2), ct = new Av("SOUTH", 3), qe = new Av("WEST", 4), ip = (Qt(), new jl((e = f(Hi(Nr), 11), new ti(e, f(xi(e, e.length), 11), 0)))), Eh = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, []))), kh = Wo(Yt(Be, re(ie(Nr, 1), De, 32, 0, []))), Sh = Wo(Yt(ct, re(ie(Nr, 1), De, 32, 0, []))), Ch = Wo(Yt(qe, re(ie(Nr, 1), De, 32, 0, []))), ts = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [ct]))), yu = Wo(Yt(Be, re(ie(Nr, 1), De, 32, 0, [qe]))), uf = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [qe]))), ll = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [Be]))), fl = Wo(Yt(ct, re(ie(Nr, 1), De, 32, 0, [qe]))), cl = Wo(Yt(Be, re(ie(Nr, 1), De, 32, 0, [ct]))), Ia = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [Be, qe]))), pa = Wo(Yt(Be, re(ie(Nr, 1), De, 32, 0, [ct, qe]))), Ma = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [ct, qe]))), Na = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [Be, ct]))), Fr = Wo(Yt(rt, re(ie(Nr, 1), De, 32, 0, [Be, ct, qe]))); - } - function gee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne; - for (te = new Se(), L = new M(e.c); L.a < L.c.c.length; ) - for (x = f(O(L), 16), R = new M(x.a); R.a < R.c.c.length; ) - if (j = f(O(R), 9), j.g == (et(), Cn) && z(j, (le(), Tp)) != null) { - for (Y = null, V = null, q = null, Ce = new M(j.f); Ce.a < Ce.c.c.length; ) - switch (ye = f(O(Ce), 7), ye.g.e) { - case 4: - Y = ye; - break; - case 2: - V = ye; - break; - default: - q = ye; - } - for (U = f(_e(q.e, 0), 12), p = new Nm(U.a), v = new qn(q.i), dn(v, j.i), m = Jt(p, 0), Xv(m, v), ue = Dy(U.a), S = new qn(q.i), dn(S, j.i), wr(ue, S, ue.c.b, ue.c), be = f(z(j, Tp), 9), Ne = f(_e(be.f, 0), 7), h = f(Vn(Y.b, ve(Ki, Yi, 12, 0, 0, 1)), 47), i = 0, l = h.length; i < l; ++i) - t = h[i], kn(t, Ne), jy(t.a, t.a.b, p); - for (h = f(Vn(V.e, ve(Ki, Yi, 12, V.e.c.length, 0, 1)), 47), n = 0, s = h.length; n < s; ++n) - t = h[n], Bn(t, Ne), jy(t.a, 0, ue); - Bn(U, null), kn(U, null), te.c[te.c.length] = j; - } - for (I = new M(te); I.a < I.c.c.length; ) - j = f(O(I), 9), Ar(j, null); - } - function bee() { - function e() { - this.obj = this.createObject(); - } - return e.prototype.createObject = function(t) { - return /* @__PURE__ */ Object.create(null); - }, e.prototype.get = function(t) { - return this.obj[t]; - }, e.prototype.set = function(t, n) { - this.obj[t] = n; - }, e.prototype[A2] = function(t) { - delete this.obj[t]; - }, e.prototype.keys = function() { - return Object.getOwnPropertyNames(this.obj); - }, e.prototype.entries = function() { - var t = this.keys(), n = this, i = 0; - return { next: function() { - if (i >= t.length) - return { done: !0 }; - var s = t[i++]; - return { value: [s, n.get(s)], done: !1 }; - } }; - }, lQ() || (e.prototype.createObject = function() { - return {}; - }, e.prototype.get = function(t) { - return this.obj[":" + t]; - }, e.prototype.set = function(t, n) { - this.obj[":" + t] = n; - }, e.prototype[A2] = function(t) { - delete this.obj[":" + t]; - }, e.prototype.keys = function() { - var t = []; - for (var n in this.obj) - n.charCodeAt(0) == 58 && t.push(n.substring(1)); - return t; - }), e; - } - function BR(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - if (S = new t3(), ce(S, Kx, t), un(e.e, t, S), ce(S, (le(), wl), n), e.d && VO(e.d, S, !1), x0(t, S), j2 in t.a && (Y = S.a, q = f(Mn(t, j2), 69), R = f(Mn(q, "left"), 104), R && (Y.b = R.a), U = f(Mn(q, "top"), 104), U && (Y.d = U.a), V = f(Mn(q, "right"), 104), V && (Y.c = V.a), s = f(Mn(q, tx), 104), s && (Y.a = s.a)), x = (i = f(Hi(lL), 11), new ti(i, f(xi(i, i.length), 11), 0)), ce(S, qr, x), e.g == null && (e.g = jt(z(S, (C4(), rT)))), zd in t.a) { - if (te = Mn(t, zd), !te.hc()) - throw new gs("The 'children' property of nodes must be an array.", te, t); - if (m = te.hc(), m.a.length > 0) { - for (n && ce(n, pl, S), v = ve(kr, Ni, 9, m.a.length, 0, 1), j = 0; j < m.a.length; ++j) { - if (p = Fu(m, j), !p.kc()) - throw new gs("A 'children' array contains a non-object node element.", p, t); - l = AJ(e, p.kc(), S), v[j] = l; - } - for (L = 0; L < m.a.length; ++L) - I = Fu(m, L).kc(), h = v[L], zd in I.a && !Pt(ge(jt(z(h, (Ee(), Wg))))) && BR(e, I, h); - } - } - return S; - } - function pee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R; - if (Nc(new M(Xu(e.e)))) { - for (v = new M(Xu(e.e)); v.a < v.c.c.length; ) - switch (h = f(O(v), 161), m = f(h.e, 7).g.e, ++e.o[m], f(h.e, 7).g.e) { - case 4: - case 2: - e.n[m] += h.e.j.b + (t ? (i = f(h.e, 7).d, new qo(i.d, i.b, i.a, i.c)).a + (s = f(h.e, 7).d, new qo(s.d, s.b, s.a, s.c)).d : 0); - break; - case 1: - case 3: - e.n[m] += h.e.j.a + (t ? (l = f(h.e, 7).d, new qo(l.d, l.b, l.a, l.c)).b + (n = f(h.e, 7).d, new qo(n.d, n.b, n.a, n.c)).c : 0); - } - for (p = f(nr(e.e, (Ee(), J2)), 100), p = p == (Zu(), sf) ? Ls : p, e.g[1] = f(nr(e.e, tk), 100), e.g[3] = f(nr(e.e, nk), 100), e.g[4] = f(nr(e.e, rk), 100), e.g[2] = f(nr(e.e, ek), 100), x = (we(), re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe])), j = 0, R = x.length; j < R; ++j) - m = x[j], e.g[m.e] = e.g[m.e] == sf ? p : e.g[m.e]; - for (e.b = nr(e.e, Yg) != null, S = re(ie(Nr, 1), De, 32, 0, [cr, rt, Be, ct, qe]), L = 0, I = S.length; L < I; ++L) - m = S[L], e.o[m.e] == 1 ? e.i[m.e] = 2 : !e.b && e.g[m.e] == Ls ? e.i[m.e] = e.o[m.e] + 1 : e.i[m.e] = e.o[m.e] - 1; - } - } - function wee(e, t, n, i, s, l) { - var h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue; - if (p = f(e.a, 16), R = f(e.b, 16), m = f(t.a, 18), Y = f(t.b, 18), p) - for (x = new M(p.a); x.a < x.c.c.length; ) - for (S = f(O(x), 9), U = Jn(S, (we(), Be)).mb(); U.G(); ) - for (V = f(U.H(), 7), m.ib(V), v = new M(V.e); v.a < v.c.c.length; ) - h = f(O(v), 12), !Fc(h) && (n.c[n.c.length] = h, vM(h, i), q = h.c.f.g, (q == (et(), Hn) || q == er) && (s.c[s.c.length] = h), ue = h.d, te = ue.f.d, te == R ? Y.ib(ue) : te == p ? m.ib(ue) : Cr(n, h)); - if (R) - for (x = new M(R.a); x.a < x.c.c.length; ) { - for (S = f(O(x), 9), I = new M(S.f); I.a < I.c.c.length; ) - for (j = f(O(I), 7), v = new M(j.e); v.a < v.c.c.length; ) - h = f(O(v), 12), Fc(h) && (L = l.a.db(h, l), L == null); - for (U = Jn(S, (we(), qe)).mb(); U.G(); ) - for (V = f(U.H(), 7), Y.ib(V), v = new M(V.e); v.a < v.c.c.length; ) - h = f(O(v), 12), !Fc(h) && (n.c[n.c.length] = h, vM(h, i), q = h.c.f.g, (q == (et(), Hn) || q == er) && (s.c[s.c.length] = h), ue = h.d, te = ue.f.d, te == R ? Y.ib(ue) : te == p ? m.ib(ue) : Cr(n, h)); - } - } - function mee(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be; - for (U = t.c.length, s = new Jc(e.b, n, null, null), be = ve(Zi, mi, 26, U, 12, 1), R = ve(Zi, mi, 26, U, 12, 1), I = ve(Zi, mi, 26, U, 12, 1), Y = 0, v = 0; v < U; v++) - R[v] = yr, I[v] = Ys; - for (p = 0; p < U; p++) - for (i = (Sn(p, t.c.length), f(t.c[p], 81)), be[p] = u2(i), be[Y] > be[p] && (Y = p), x = new M(e.b.c); x.a < x.c.c.length; ) - for (S = f(O(x), 16), V = new M(S.a); V.a < V.c.c.length; ) - q = f(O(V), 9), ye = ge(i.n[q.k]) + ge(i.d[q.k]), R[p] = R[p] < ye ? R[p] : ye, I[p] = je(I[p], ye + q.j.b); - for (Ce = ve(Zi, mi, 26, U, 12, 1), m = 0; m < U; m++) - (Sn(m, t.c.length), f(t.c[m], 81)).k == (oo(), ku) ? Ce[m] = R[Y] - R[m] : Ce[m] = I[Y] - I[m]; - for (l = ve(Zi, mi, 26, U, 12, 1), j = new M(e.b.c); j.a < j.c.c.length; ) - for (L = f(O(j), 16), ue = new M(L.a); ue.a < ue.c.c.length; ) { - for (te = f(O(ue), 9), h = 0; h < U; h++) - l[h] = ge((Sn(h, t.c.length), f(t.c[h], 81)).n[te.k]) + ge((Sn(h, t.c.length), f(t.c[h], 81)).d[te.k]) + Ce[h]; - yq(l), s.n[te.k] = (l[1] + l[2]) / 2, s.d[te.k] = 0; - } - return s; - } - function w2(e, t, n, i, s, l) { - var h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue; - for (R = null, n == (_c(), Ks) ? R = e : n == hf && (R = t), q = (L = new Wt(R.a).a.bb().mb(), new Zt(L)); q.a.G(); ) { - for (Y = (S = f(q.a.H(), 21), f(S.yb(), 7)), V = ln(re(ie(_t, 1), Ht, 10, 0, [Y.f.i, Y.i, Y.a])).b, ue = new $r(), h = new $r(), p = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Y.b, Y.e])))))); xt(p); ) - if (v = f(Et(p), 12), Pt(ge(jt(z(v, (le(), Xs))))) == i && Di(s, v, 0) != -1) { - if (v.d == Y ? U = v.c : U = v.d, te = ln(re(ie(_t, 1), Ht, 10, 0, [U.f.i, U.i, U.a])).b, (te - V <= 0 ? 0 - (te - V) : te - V) < 0.2) - continue; - te < V ? e.a.R(U) ? vn(ue, new pr(Ks, v)) : vn(ue, new pr(hf, v)) : e.a.R(U) ? vn(h, new pr(Ks, v)) : vn(h, new pr(hf, v)); - } - if (ue.a.Y() > 1) - for (Le(l, new NC(Y, ue, n)), I = (x = new Wt(ue.a).a.bb().mb(), new Zt(x)); I.a.G(); ) - j = (m = f(I.a.H(), 21), f(m.yb(), 27)), Cr(s, j.b); - if (h.a.Y() > 1) - for (Le(l, new NC(Y, h, n)), I = (x = new Wt(h.a).a.bb().mb(), new Zt(x)); I.a.G(); ) - j = (m = f(I.a.H(), 21), f(m.yb(), 27)), Cr(s, j.b); - } - } - function yee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce; - for (s = 0, V = 0, q = (On(), new $t()), i = new $t(), l = new $t(), Ce = new $t(), uee(e, l, Ce), t = null, Y = 0, ye = 0, U = !0, p = !0, L = 0, I = e.length; L < I; ++L) { - for (S = e[L], ue = new M(S.f); ue.a < ue.c.c.length; ) - switch (te = f(O(ue), 7), te.g.e) { - case 2: - s += OA(te, l); - break; - case 4: - s += OA(te, Ce); - } - if (R = S.g, p && (R == (et(), Hn) || R == er)) { - if (m = f(z(S, (le(), bl)), 9), !m) { - p = !1; - continue; - } - t != m && (t && un(q, t, new pr(gt(Y), gt(ye))), t = m, Y = 0, ye = 0, U = !0), S == t && (U = !1), U ? (Y += f(z(S, Xd), 24).a, un(i, S, gt(Y))) : (ye += f(z(S, Xd), 24).a, un(i, S, gt(ye))); - } - } - if (t && un(q, t, new pr(gt(Y), gt(ye))), p) - for (v = null, h = 0, n = 0, U = !0, x = 0, j = e.length; x < j; ++x) - switch (S = e[x], R = S.g, R.e) { - case 0: - h = f(ci(li(i.d, S)), 24).a, n = f(f(ci(li(q.d, S)), 27).b, 24).a, v = S, U = !1; - break; - case 3: - h = f(ci(li(i.d, S)), 24).a, m = f(z(S, (le(), bl)), 9), m != v && (n = f(f(ci(li(q.d, m)), 27).a, 24).a, v = m, U = !0); - break; - default: - V += U ? h : n - h; - } - return s + V; - } - function kee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (x = (On(), new $t()), m = new Rv(), i = new M(e.a.a.b); i.a < i.c.c.length; ) - if (t = f(O(i), 25), xe(t, 93)) - S = f(t, 93).b, ra(x.d, S, t); - else if (xe(t, 82)) - for (l = (I = new Wt(f(t, 82).d.a).a.bb().mb(), new Zt(I)); l.a.G(); ) - s = (h = f(l.a.H(), 21), f(h.yb(), 12)), pt(m, s, t); - for (n = new M(e.a.a.b); n.a < n.c.c.length; ) - if (t = f(O(n), 25), xe(t, 93)) { - for (S = f(t, 93).b, p = Dt(En(S)); xt(p); ) - if (v = f(Et(p), 12), !Fc(v) && (Y = v.c, U = v.d, !((we(), ts).kb(v.c.g) && ts.kb(v.d.g)))) { - if (q = f(Kt(x, v.d.f), 25), uh(Of(Rf(Bf(Af(new Pl(), 0), 100), e.c[t.f.d]), e.c[q.f.d])), Y.g == qe && J9((fa(), Y))) { - for (j = f(Pa(m, v), 18).mb(); j.G(); ) - if (L = f(j.H(), 25), L.j.d < t.j.d) { - if (R = e.c[L.f.d], V = e.c[t.f.d], R == V) - continue; - uh(Of(Rf(Bf(Af(new Pl(), 1), 100), R), V)); - } - } - if (U.g == Be && Q9((fa(), U))) { - for (j = f(Pa(m, v), 18).mb(); j.G(); ) - if (L = f(j.H(), 25), L.j.d > t.j.d) { - if (R = e.c[t.f.d], V = e.c[L.f.d], R == V) - continue; - uh(Of(Rf(Bf(Af(new Pl(), 1), 100), R), V)); - } - } - } - } - } - function zR(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I; - switch (h = new Ej(e), v = Gc(Eo(t, h)), Ya(v, new Vb()), s = e.b, s.c) { - case 2: - p = new Xh(s.a), n = vd(Eo(v, p)), qu(n) ? m = f(ql(n), 91).b : m = 15, p = new Xh(O3(s)), n = vd(Eo(v, p)), qu(n) ? l = f(ql(n), 91).b : l = 15, p = new Xh(s.b), n = vd(Eo(v, p)), qu(n) ? S = f(ql(n), 91).b : S = 15, i = EX(e, m, l, S), vn(t, new Nd(i, e.c, e.e, e.a.c.f, s.a)), vn(t, new Nd(i, e.c, e.e, e.a.c.f, O3(s))), vn(t, new Nd(i, e.c, e.e, e.a.c.f, s.b)); - break; - case 1: - p = new Xh(s.a), n = vd(Eo(v, p)), qu(n) ? m = f(ql(n), 91).b : m = 15, p = new Xh(s.b), n = vd(Eo(v, p)), qu(n) ? S = f(ql(n), 91).b : S = 15, i = gX(e, m, S), vn(t, new Nd(i, e.c, e.e, e.a.c.f, s.a)), vn(t, new Nd(i, e.c, e.e, e.a.c.f, s.b)); - break; - case 0: - p = new Xh(s.a), n = vd(Eo(v, p)), qu(n) ? m = f(ql(n), 91).b : m = 15, i = (x = e.b, L = SQ(e.a.c, e.a.d, m), na(e.a.a, Yy(L)), j = U3(e.a.b, L.a, x), I = new rg((!L.k && (L.k = new Jy(Sy(L))), L.k)), x4(I), j ? m4(I, j) : I), vn(t, new Nd(i, e.c, e.e, e.a.c.f, s.a)); - break; - default: - throw new tn("The loopside must be defined."); - } - return i; - } - function Eee(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue; - for (v = new M(e.a.c); v.a < v.c.c.length; ) - for (l = f(O(v), 16), U = new M(l.a); U.a < U.c.c.length; ) - V = f(O(U), 9), t.f[V.k] = V, t.a[V.k] = V, t.d[V.k] = 0; - for (p = e.a.c, t.c == (Co(), Ps) && (p = xe(p, 87) ? wd(f(p, 87)) : xe(p, 88) ? f(p, 88).a : xe(p, 63) ? new Dv(p) : new od(p)), h = p.mb(); h.G(); ) - for (l = f(h.H(), 16), j = -1, L = l.a, t.k == (oo(), Za) && (j = yr, L = xe(L, 87) ? wd(f(L, 87)) : xe(L, 88) ? f(L, 88).a : xe(L, 63) ? new Dv(L) : new od(L)), ue = L.mb(); ue.G(); ) - if (te = f(ue.H(), 9), t.c == Ps ? x = f(_e(e.b.f, te.k), 20) : x = f(_e(e.b.b, te.k), 20), x.Y() > 0) - if (i = x.Y(), m = Xn(Math.floor((i + 1) / 2)) - 1, s = Xn(Math.ceil((i + 1) / 2)) - 1, t.k == Za) - for (S = s; S >= m; S--) - t.a[te.k] == te && (R = f(x.sb(S), 27), I = f(R.a, 9), !Pc(n, R.b) && j > e.b.e[I.k] && (t.a[I.k] = te, t.f[te.k] = t.f[I.k], t.a[te.k] = t.f[te.k], j = e.b.e[I.k])); - else - for (S = m; S <= s; S++) - t.a[te.k] == te && (q = f(x.sb(S), 27), Y = f(q.a, 9), !Pc(n, q.b) && j < e.b.e[Y.k] && (t.a[Y.k] = te, t.f[te.k] = t.f[Y.k], t.a[te.k] = t.f[te.k], j = e.b.e[Y.k])); - } - function wi() { - wi = c, Ds = new ps("N", 0, (we(), rt), rt, 0), lc = new ps("EN", 1, Be, rt, 1), Eu = new ps("E", 2, Be, Be, 0), Su = new ps("SE", 3, ct, Be, 1), is = new ps("S", 4, ct, ct, 0), dc = new ps("WS", 5, qe, ct, 1), hc = new ps("W", 6, qe, qe, 0), No = new ps("NW", 7, rt, qe, 1), rs = new ps("ENW", 8, Be, qe, 2), fc = new ps("ESW", 9, Be, qe, 2), Cu = new ps("SEN", 10, ct, rt, 2), gl = new ps("SWN", 11, ct, rt, 2), ff = new ps(ef, 12, cr, cr, 3), hH = kK(Ds, lc, Eu, Su, is, dc, re(ie(Wd, 1), De, 60, 0, [hc, No, rs, fc, Cu, gl])), vH = (Ea(), el(re(ie(Ze, 1), Me, 1, 4, [Ds, Eu, is, hc]))), dH = el(re(ie(Ze, 1), Me, 1, 4, [lc, Su, dc, No])), mH = new Bu(rt), bH = el(re(ie(Ze, 1), Me, 1, 4, [Be, rt])), gH = new Bu(Be), EH = el(re(ie(Ze, 1), Me, 1, 4, [ct, Be])), kH = new Bu(ct), LH = el(re(ie(Ze, 1), Me, 1, 4, [qe, ct])), TH = new Bu(qe), yH = el(re(ie(Ze, 1), Me, 1, 4, [rt, qe])), pH = el(re(ie(Ze, 1), Me, 1, 4, [Be, rt, qe])), wH = el(re(ie(Ze, 1), Me, 1, 4, [Be, ct, qe])), CH = el(re(ie(Ze, 1), Me, 1, 4, [ct, qe, rt])), SH = el(re(ie(Ze, 1), Me, 1, 4, [ct, Be, rt])), xH = (Kf(), Gd); - } - function HR(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - if (V = 0, t.e.a == 0) - for (Y = new M(e); Y.a < Y.c.c.length; ) - I = f(O(Y), 9), V = je(V, I.i.a + I.j.a + I.e.c); - else - V = t.e.a - t.d.a; - for (V -= t.d.a, R = new M(e); R.a < R.c.c.length; ) { - switch (I = f(O(R), 9), xv(I.i, V - I.j.a), EK(I), f(z(I, (Ee(), co)), 103).e) { - case 1: - ce(I, co, (Ko(), np)); - break; - case 2: - ce(I, co, (Ko(), tp)); - } - for (q = I.j, te = new M(I.f); te.a < te.c.c.length; ) { - for (U = f(O(te), 7), xv(U.i, q.a - U.j.a), xv(U.a, U.j.a), Bt(U, VI(U.g)), h = f(z(U, mu), 24), h && ce(U, mu, gt(-h.a)), l = new M(U.e); l.a < l.c.c.length; ) { - for (s = f(O(l), 12), i = Jt(s.a, 0); i.b != i.d.c; ) - n = f(Ft(i), 10), n.a = V - n.a; - if (m = f(z(s, Un), 44), m) - for (p = Jt(m, 0); p.b != p.d.c; ) - v = f(Ft(p), 10), v.a = V - v.a; - for (L = new M(s.b); L.a < L.c.c.length; ) - S = f(O(L), 33), xv(S.i, V - S.j.a); - } - for (j = new M(U.c); j.a < j.c.c.length; ) - S = f(O(j), 33), xv(S.i, -S.j.a); - } - for (I.g == (et(), Cn) && (ce(I, (le(), _r), VI(f(z(I, _r), 32))), DZ(I)), x = new M(I.c); x.a < x.c.c.length; ) - S = f(O(x), 33), xv(S.i, q.a - S.j.a); - } - } - function See(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - if (V = 0, t.e.b == 0) - for (Y = new M(e); Y.a < Y.c.c.length; ) - I = f(O(Y), 9), V = je(V, I.i.b + I.j.b + I.e.a); - else - V = t.e.b - t.d.b; - for (V -= t.d.b, R = new M(e); R.a < R.c.c.length; ) { - switch (I = f(O(R), 9), Tv(I.i, V - I.j.b), SK(I), f(z(I, (Ee(), co)), 103).e) { - case 3: - ce(I, co, (Ko(), J0)); - break; - case 4: - ce(I, co, (Ko(), rp)); - } - for (q = I.j, te = new M(I.f); te.a < te.c.c.length; ) { - for (U = f(O(te), 7), Tv(U.i, q.b - U.j.b), Tv(U.a, U.j.b), Bt(U, WI(U.g)), h = f(z(U, mu), 24), h && ce(U, mu, gt(-h.a)), l = new M(U.e); l.a < l.c.c.length; ) { - for (s = f(O(l), 12), i = Jt(s.a, 0); i.b != i.d.c; ) - n = f(Ft(i), 10), n.b = V - n.b; - if (m = f(z(s, Un), 44), m) - for (p = Jt(m, 0); p.b != p.d.c; ) - v = f(Ft(p), 10), v.b = V - v.b; - for (L = new M(s.b); L.a < L.c.c.length; ) - S = f(O(L), 33), Tv(S.i, V - S.j.b); - } - for (j = new M(U.c); j.a < j.c.c.length; ) - S = f(O(j), 33), Tv(S.i, -S.j.b); - } - for (I.g == (et(), Cn) && (ce(I, (le(), _r), WI(f(z(I, _r), 32))), VU(I)), x = new M(I.c); x.a < x.c.c.length; ) - S = f(O(x), 33), Tv(S.i, q.b - S.j.b); - } - } - function Cee(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j; - if (i = new $a(t.e.i.a, t.e.i.b, t.e.j.a, t.e.j.b), s = new lm(), e.c) - for (h = new M(bg(t)); h.a < h.c.c.length; ) - l = f(O(h), 129), s.d = l.e.i.a + t.e.i.a, s.e = l.e.i.b + t.e.i.b, s.c = l.e.j.a, s.b = l.e.j.b, wg(i, s); - for (S = new M(Xu(t)); S.a < S.c.c.length; ) { - if (m = f(O(S), 161), x = m.e.i.a + t.e.i.a, L = m.e.i.b + t.e.i.b, e.e && (s.d = x, s.e = L, s.c = m.e.j.a, s.b = m.e.j.b, wg(i, s)), e.d) - for (h = new M(pg(m)); h.a < h.c.c.length; ) - l = f(O(h), 129), s.d = l.e.i.a + x, s.e = l.e.i.b + L, s.c = l.e.j.a, s.b = l.e.j.b, wg(i, s); - if (e.b) { - if (j = new ot(-n, -n), He(nr(t, (Ee(), Ug))) === He((th(), Qg))) - for (h = new M(pg(m)); h.a < h.c.c.length; ) - l = f(O(h), 129), j.a += l.e.j.a + n, j.b += l.e.j.b + n; - j.a = je(j.a, 0), j.b = je(j.b, 0), cR(i, QX(m), XX(m), t, m, j, n); - } - } - e.b && cR(i, (Qt(), Qt(), bc), bc, t, null, null, n), p = new WS((v = f(t.e, 9).e, new qo(v.d, v.b, v.a, v.c))), p.d = t.e.i.b - i.e, p.a = i.e + i.b - (t.e.i.b + t.e.j.b), p.b = t.e.i.a - i.d, p.c = i.d + i.c - (t.e.i.a + t.e.j.a), f(t.e, 9).e.b = p.b, f(t.e, 9).e.d = p.d, f(t.e, 9).e.c = p.c, f(t.e, 9).e.a = p.a; - } - function _R() { - _R = c, St = new Rv(), pt(St, (we(), ip), Fr), pt(St, Ch, Ma), pt(St, Ch, Fr), pt(St, kh, Na), pt(St, kh, Fr), pt(St, Eh, Ia), pt(St, Eh, Fr), pt(St, Sh, pa), pt(St, Sh, Fr), pt(St, ts, yu), pt(St, ts, Ia), pt(St, ts, pa), pt(St, ts, Fr), pt(St, yu, ts), pt(St, yu, Ma), pt(St, yu, Na), pt(St, yu, Fr), pt(St, uf, uf), pt(St, uf, Ia), pt(St, uf, Ma), pt(St, ll, ll), pt(St, ll, Ia), pt(St, ll, Na), pt(St, fl, fl), pt(St, fl, pa), pt(St, fl, Ma), pt(St, cl, cl), pt(St, cl, pa), pt(St, cl, Na), pt(St, Ia, Eh), pt(St, Ia, ts), pt(St, Ia, uf), pt(St, Ia, ll), pt(St, Ia, Ia), pt(St, Ia, Ma), pt(St, Ia, Na), pt(St, Ia, Fr), pt(St, pa, Sh), pt(St, pa, ts), pt(St, pa, fl), pt(St, pa, cl), pt(St, pa, pa), pt(St, pa, Ma), pt(St, pa, Na), pt(St, pa, Fr), pt(St, Ma, Ch), pt(St, Ma, yu), pt(St, Ma, uf), pt(St, Ma, fl), pt(St, Ma, Ia), pt(St, Ma, pa), pt(St, Ma, Ma), pt(St, Ma, Fr), pt(St, Na, kh), pt(St, Na, yu), pt(St, Na, ll), pt(St, Na, cl), pt(St, Na, Ia), pt(St, Na, pa), pt(St, Na, Na), pt(St, Na, Fr), pt(St, Fr, ip), pt(St, Fr, Ch), pt(St, Fr, kh), pt(St, Fr, Eh), pt(St, Fr, Sh), pt(St, Fr, ts), pt(St, Fr, yu), pt(St, Fr, Ia), pt(St, Fr, pa), pt(St, Fr, Ma), pt(St, Fr, Na), pt(St, Fr, Fr); - } - function GR(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - if (n.n[t.k] == null) { - p = !0, n.n[t.k] = 0, h = t, q = n.k == (oo(), ku) ? Hr : ki; - do - s = e.b.e[h.k], l = h.d.a.c.length, v = h.g, n.k == ku && s > 0 || n.k == Za && s < l - 1 ? (n.k == Za ? m = f(_e(h.d.a, s + 1), 9) : m = f(_e(h.d.a, s - 1), 9), x = n.f[m.k], S = m.g, GR(e, x, n), q = e.e.Ic(q, t, h), n.i[t.k] == t && (n.i[t.k] = n.i[x.k]), n.i[t.k] == n.i[x.k] ? (Y = Om(e.d, v, S), n.k == Za ? (i = ge(n.n[t.k]), j = ge(n.n[x.k]) + ge(n.d[m.k]) - m.e.d - Y - h.e.a - h.j.b - ge(n.d[h.k]), p ? (p = !1, n.n[t.k] = j < q ? j : q) : n.n[t.k] = i < (j < q ? j : q) ? i : j < q ? j : q) : (i = ge(n.n[t.k]), j = ge(n.n[x.k]) + ge(n.d[m.k]) + m.j.b + m.e.a + Y + h.e.d - ge(n.d[h.k]), p ? (p = !1, n.n[t.k] = j > q ? j : q) : n.n[t.k] = i > (j > q ? j : q) ? i : j > q ? j : q)) : (Y = e.d.f, R = XI(e, n.i[t.k]), L = XI(e, n.i[x.k]), n.k == Za ? (I = ge(n.n[t.k]) + ge(n.d[h.k]) + h.j.b + h.e.a + Y - (ge(n.n[x.k]) + ge(n.d[m.k]) - m.e.d), NN(R, L, I)) : (I = ge(n.n[t.k]) + ge(n.d[h.k]) - h.e.d - ge(n.n[x.k]) - ge(n.d[m.k]) - m.j.b - m.e.a - Y, NN(R, L, I)))) : q = e.e.Ic(q, t, h), h = n.a[h.k]; - while (h != t); - GY(e.e, t); - } - } - function xee(e, t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V; - if (L = !1, x = !1, ds(f(z(i, (Ee(), dt)), 28))) { - h = !1, v = !1; - e: - for (I = new M(i.f); I.a < I.c.c.length; ) - for (j = f(O(I), 7), Y = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [new Zh(j), new Lf(j)])))))); xt(Y); ) - if (R = f(Et(Y), 7), !Pt(ge(jt(z(R.f, $d))))) { - if (j.g == (we(), rt)) { - h = !0; - break e; - } - if (j.g == ct) { - v = !0; - break e; - } - } - L = v && !h, x = h && !v; - } - if (!L && !x && i.c.c.length != 0) { - for (S = 0, m = new M(i.c); m.a < m.c.c.length; ) - p = f(O(m), 33), S += p.i.b + p.j.b / 2; - S /= i.c.c.length, V = S >= i.j.b / 2; - } else - V = !x; - V ? (q = f(z(i, (le(), Jd)), 20), q ? L ? l = q : (s = f(z(i, Zd), 20), s ? q.Y() <= s.Y() ? l = q : l = s : (l = new Se(), ce(i, Zd, l))) : (l = new Se(), ce(i, Jd, l))) : (s = f(z(i, (le(), Zd)), 20), s ? x ? l = s : (q = f(z(i, Jd), 20), q ? s.Y() <= q.Y() ? l = s : l = q : (l = new Se(), ce(i, Jd, l))) : (l = new Se(), ce(i, Zd, l))), l.ib(e), ce(e, (le(), xp), n), t.d == n ? (kn(t, null), n.b.c.length + n.e.c.length == 0 && cn(n, null)) : (Bn(t, null), n.b.c.length + n.e.c.length == 0 && cn(n, null)), Bs(t.a); - } - function Tee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (n = new EO(t), n.a || bQ(t), m = FX(t), p = new Rv(), Y = new $A(), R = new M(t.b); R.a < R.c.c.length; ) - for (I = f(O(R), 9), s = Dt(En(I)); xt(s); ) - i = f(Et(s), 12), (i.c.f.g == (et(), Cn) || i.d.f.g == Cn) && (S = YJ(e, i, m, Y), pt(p, qy(S.d), S.a)); - for (h = new Se(), U = f(z(n.c, (le(), bf)), 18).mb(); U.G(); ) { - switch (V = f(U.H(), 32), j = Y.c[V.e], L = Y.b[V.e], v = Y.a[V.e], l = null, q = null, V.e) { - case 4: - l = new $a(e.d.a, j, m.b.a - e.d.a, L - j), q = new $a(e.d.a, j, v, L - j), uu(m, new ot(l.d + l.c, l.e)), uu(m, new ot(l.d + l.c, l.e + l.b)); - break; - case 2: - l = new $a(m.a.a, j, e.c.a - m.a.a, L - j), q = new $a(e.c.a - v, j, v, L - j), uu(m, new ot(l.d, l.e)), uu(m, new ot(l.d, l.e + l.b)); - break; - case 1: - l = new $a(j, e.d.b, L - j, m.b.b - e.d.b), q = new $a(j, e.d.b, L - j, v), uu(m, new ot(l.d, l.e + l.b)), uu(m, new ot(l.d + l.c, l.e + l.b)); - break; - case 3: - l = new $a(j, m.a.b, L - j, e.c.b - m.a.b), q = new $a(j, e.c.b - v, L - j, v), uu(m, new ot(l.d, l.e)), uu(m, new ot(l.d + l.c, l.e)); - } - l && (x = new p7(), x.d = V, x.b = l, x.c = q, x.a = y4(f(Pa(p, qy(V)), 18)), h.c[h.c.length] = x); - } - return Tn(n.b, h), n.d = DU(DJ(m)), n; - } - function Lee() { - var e = ["\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\u000B", "\\f", "\\r", "\\u000E", "\\u000F", "\\u0010", "\\u0011", "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017", "\\u0018", "\\u0019", "\\u001A", "\\u001B", "\\u001C", "\\u001D", "\\u001E", "\\u001F"]; - return e[34] = '\\"', e[92] = "\\\\", e[173] = "\\u00ad", e[1536] = "\\u0600", e[1537] = "\\u0601", e[1538] = "\\u0602", e[1539] = "\\u0603", e[1757] = "\\u06dd", e[1807] = "\\u070f", e[6068] = "\\u17b4", e[6069] = "\\u17b5", e[8203] = "\\u200b", e[8204] = "\\u200c", e[8205] = "\\u200d", e[8206] = "\\u200e", e[8207] = "\\u200f", e[8232] = "\\u2028", e[8233] = "\\u2029", e[8234] = "\\u202a", e[8235] = "\\u202b", e[8236] = "\\u202c", e[8237] = "\\u202d", e[8238] = "\\u202e", e[8288] = "\\u2060", e[8289] = "\\u2061", e[8290] = "\\u2062", e[8291] = "\\u2063", e[8292] = "\\u2064", e[8298] = "\\u206a", e[8299] = "\\u206b", e[8300] = "\\u206c", e[8301] = "\\u206d", e[8302] = "\\u206e", e[8303] = "\\u206f", e[65279] = "\\ufeff", e[65529] = "\\ufff9", e[65530] = "\\ufffa", e[65531] = "\\ufffb", e; - } - function Pee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye; - for (t = 0, q = !0, ye = null, i = 0; i < e.length; i++) - if (l = e[i], Y = l.g, Y == (et(), Hn)) - ye = l, q = !1; - else if (Y == er) { - if (xe(z(l, (le(), lt)), 12) || (n = f(z(l, lt), 9), ye != n && (ye = n, q = !0), !gi(f(z(n, (Ee(), dt)), 28)))) - continue; - for (L = null, I = null, U = new M(l.f); U.a < U.c.c.length; ) - V = f(O(U), 7), V.b.c.length == 0 ? V.e.c.length == 0 || (I = f(z(V, lt), 7)) : L = f(z(V, lt), 7); - for (s = i + 1; s < e.length && (h = e[s], x = h.g, x != Hn); s++) - if (x == er) { - if (He(z(h, lt)) !== He(n)) - break; - for (v = null, m = null, ue = new M(h.f); ue.a < ue.c.c.length; ) - te = f(O(ue), 7), te.b.c.length == 0 ? te.e.c.length == 0 || (m = f(z(te, lt), 7)) : v = f(z(te, lt), 7); - q ? (j = !1, R = !1, I && v && I.k < v.k && (++t, R = !0), L && m && L.k > m.k && (++t, j = !0), I && m && I.k > m.k && (++t, R = !0), L && v && L.k < v.k && (++t, j = !0), j && R && L == I && --t) : (p = !1, S = !1, L && m && L.k < m.k && (++t, S = !0), I && v && I.k > v.k && (++t, p = !0), L && v && L.k < v.k && (++t, p = !0), I && m && I.k > m.k && (++t, S = !0), p && S && v == m && --t); - } - } - return t; - } - function Dee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue; - for (U = e.a, te = 0, ue = U.length; te < ue; ++te) { - for (V = U[te], m = yr, S = yr, I = new M(V.f); I.a < I.c.c.length; ) - L = f(O(I), 9), h = L.d ? Di(L.d.a, L, 0) : -1, h > 0 ? (x = f(_e(L.d.a, h - 1), 9), be = Kv(e.b, L, x), Y = L.i.b - L.e.d - (x.i.b + x.j.b + x.e.a + be)) : Y = L.i.b - L.e.d, m = Y < m ? Y : m, h < L.d.a.c.length - 1 ? (x = f(_e(L.d.a, h + 1), 9), be = Kv(e.b, L, x), q = x.i.b - x.e.d - (L.i.b + L.j.b + L.e.a + be)) : q = 2 * L.i.b, S = q < S ? q : S; - for (p = yr, l = !1, s = f(_e(V.f, 0), 9), Ue = new M(s.f); Ue.a < Ue.c.c.length; ) - for (Ne = f(O(Ue), 7), R = s.i.b + Ne.i.b + Ne.a.b, i = new M(Ne.b); i.a < i.c.c.length; ) - n = f(O(i), 12), ye = n.c, t = ye.f.i.b + ye.i.b + ye.a.b - R, (t <= 0 ? 0 - t : t) < (p <= 0 ? 0 - p : p) && (t <= 0 ? 0 - t : t) < (t < 0 ? m : S) && (p = t, l = !0); - for (v = f(_e(V.f, V.f.c.length - 1), 9), Ce = new M(v.f); Ce.a < Ce.c.c.length; ) - for (ye = f(O(Ce), 7), R = v.i.b + ye.i.b + ye.a.b, i = new M(ye.e); i.a < i.c.c.length; ) - n = f(O(i), 12), Ne = n.d, t = Ne.f.i.b + Ne.i.b + Ne.a.b - R, (t <= 0 ? 0 - t : t) < (p <= 0 ? 0 - p : p) && (t <= 0 ? 0 - t : t) < (t < 0 ? m : S) && (p = t, l = !0); - if (l && p != 0) - for (j = new M(V.f); j.a < j.c.c.length; ) - L = f(O(j), 9), L.i.b += p; - } - } - function jee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue; - return x = xQ(Or(e, (we(), ip)), t), I = Vc(Or(e, Eh), t), te = Vc(Or(e, Sh), t), be = k0(Or(e, Ch), t), L = k0(Or(e, kh), t), V = Vc(Or(e, uf), t), R = Vc(Or(e, ll), t), ye = Vc(Or(e, fl), t), ue = Vc(Or(e, cl), t), Ne = k0(Or(e, yu), t), q = Vc(Or(e, ts), t), U = Vc(Or(e, Ia), t), Ce = Vc(Or(e, pa), t), Ue = k0(Or(e, Ma), t), j = k0(Or(e, Na), t), Y = Vc(Or(e, Fr), t), n = eh(re(ie(Zi, 1), mi, 26, 12, [V.a, be.a, ye.a, Ue.a])), i = eh(re(ie(Zi, 1), mi, 26, 12, [I.a, x.a, te.a, Y.a])), s = q.a, l = eh(re(ie(Zi, 1), mi, 26, 12, [R.a, L.a, ue.a, j.a])), m = eh(re(ie(Zi, 1), mi, 26, 12, [V.b, I.b, R.b, U.b])), p = eh(re(ie(Zi, 1), mi, 26, 12, [be.b, x.b, L.b, Y.b])), S = Ne.b, v = eh(re(ie(Zi, 1), mi, 26, 12, [ye.b, te.b, ue.b, Ce.b])), ws(Or(e, ip), n + s, m + S), ws(Or(e, Fr), n + s, m + S), ws(Or(e, Eh), n + s, 0), ws(Or(e, Sh), n + s, m + S + p), ws(Or(e, Ch), 0, m + S), ws(Or(e, kh), n + s + i, m + S), ws(Or(e, ll), n + s + i, 0), ws(Or(e, fl), 0, m + S + p), ws(Or(e, cl), n + s + i, m + S + p), ws(Or(e, yu), 0, m), ws(Or(e, ts), n, 0), ws(Or(e, pa), 0, m + S + p), ws(Or(e, Na), n + s + i, 0), h = new Yr(), h.a = eh(re(ie(Zi, 1), mi, 26, 12, [n + i + s + l, Ne.a, U.a, Ce.a])), h.b = eh(re(ie(Zi, 1), mi, 26, 12, [m + p + S + v, q.b, Ue.b, j.b])), h; - } - function Nee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R; - if (i = new Ci(), m = null, I = e.c, j = I.f.g, j != (et(), Hn) && j != er) - throw new tn("The target node of the edge must be a normal node or a northSouthPort."); - for (j == er && (L = f(z(I, (le(), lt)), 7), m = new ot(ln(re(ie(_t, 1), Ht, 10, 0, [L.f.i, L.i, L.a])).a, ln(re(ie(_t, 1), Ht, 10, 0, [I.f.i, I.i, I.a])).b), I = L), Jw(i, ln(re(ie(_t, 1), Ht, 10, 0, [I.f.i, I.i, I.a]))), h = je(5, eO(I.f, I.g)), x = new zc(Ld(I.g)), x.a *= h, x.b *= h, rn(i, dn(x, ln(re(ie(_t, 1), Ht, 10, 0, [I.f.i, I.i, I.a])))), m && wr(i, m, i.c.b, i.c), l = e, p = e, v = null, n = !1; l; ) - s = l.a, s.b != 0 && (n ? (rn(i, Yo(dn(v, (ut(s.b != 0), f(s.a.a.c, 10))), 0.5)), n = !1) : n = !0, v = _a((ut(s.b != 0), f(s.c.b.c, 10))), na(i, s), Bs(s)), p = l, l = f(ci(li(t.d, l)), 12); - R = p.d, R.f.g == er && (L = f(z(R, (le(), lt)), 7), rn(i, new ot(ln(re(ie(_t, 1), Ht, 10, 0, [L.f.i, L.i, L.a])).a, ln(re(ie(_t, 1), Ht, 10, 0, [R.f.i, R.i, R.a])).b)), R = L), h = je(5, eO(R.f, R.g)), x = new zc(Ld(R.g)), Yo(x, h), rn(i, dn(x, ln(re(ie(_t, 1), Ht, 10, 0, [R.f.i, R.i, R.a])))), Jw(i, ln(re(ie(_t, 1), Ht, 10, 0, [R.f.i, R.i, R.a]))), S = new CC(i), na(e.a, Yy(S)); - } - function Iee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I; - if (He(z(e.c, (Ee(), dt))) === He((zn(), es)) || He(z(e.c, dt)) === He(ni)) { - for (S = new M(e.c.f); S.a < S.c.c.length; ) - if (m = f(O(S), 7), m.g == (we(), rt) || m.g == ct) - return !1; - } - for (i = Dt(En(e.c)); xt(i); ) - if (n = f(Et(i), 12), n.c.f == n.d.f) - return !1; - if (ds(f(z(e.c, dt), 28))) { - for (j = new Se(), p = Jn(e.c, (we(), qe)).mb(); p.G(); ) - h = f(p.H(), 7), Le(j, ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [h.b, h.e])))))); - for (I = (vt(j), new Gf(j)), j = new Se(), v = Jn(e.c, Be).mb(); v.G(); ) - h = f(v.H(), 7), Le(j, ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [h.b, h.e])))))); - t = (vt(j), new Gf(j)); - } else - I = Lr(e.c), t = En(e.c); - return l = !eg(En(e.c)), s = !eg(Lr(e.c)), !l && !s ? !1 : l ? s ? dy((_n(), new _o(Go(vs(I.a, new T()))))) == 1 && (x = (vt(I), f(R3(new _o(Go(vs(I.a, new T())))), 12)).c.f, x.g == (et(), hn) && f(z(x, (le(), Mi)), 7).f != e.c) ? (e.e = 2, !0) : dy(new _o(Go(vs(t.a, new T())))) == 1 && (L = (vt(t), f(R3(new _o(Go(vs(t.a, new T())))), 12)).d.f, L.g == (et(), hn) && f(z(L, (le(), Si)), 7).f != e.c) ? (e.e = 3, !0) : !1 : (e.e = 0, !0) : (e.e = 1, !0); - } - function Mee(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - if (i = new Se(), s = yr, l = yr, h = yr, n) - for (s = e.e.a, R = new M(t.f); R.a < R.c.c.length; ) - for (I = f(O(R), 7), p = new M(I.e); p.a < p.c.c.length; ) - v = f(O(p), 12), v.a.b != 0 && (S = f(Lm(v.a), 10), S.a < s && (l = s - S.a, h = yr, i.c = ve(Ze, Me, 1, 0, 4, 1), s = S.a), S.a <= s && (i.c[i.c.length] = v, v.a.b > 1 && (h = Xt(h, ei(f(Td(v.a, 1), 10).b - S.b))))); - else - for (R = new M(t.f); R.a < R.c.c.length; ) - for (I = f(O(R), 7), p = new M(I.b); p.a < p.c.c.length; ) - v = f(O(p), 12), v.a.b != 0 && (L = f(x1(v.a), 10), L.a > s && (l = L.a - s, h = yr, i.c = ve(Ze, Me, 1, 0, 4, 1), s = L.a), L.a >= s && (i.c[i.c.length] = v, v.a.b > 1 && (h = Xt(h, ei(f(Td(v.a, v.a.b - 2), 10).b - L.b))))); - if (i.c.length != 0 && l > t.j.a / 2 && h > t.j.b / 2) { - for (j = new Yn(), cn(j, t), Bt(j, (we(), rt)), j.i.a = t.j.a / 2, q = new Yn(), cn(q, t), Bt(q, ct), q.i.a = t.j.a / 2, q.i.b = t.j.b, p = new M(i); p.a < p.c.c.length; ) - v = f(O(p), 12), n ? (m = f(JS(v.a), 10), Y = v.a.b == 0 ? Pi(v.d) : f(Lm(v.a), 10), Y.b >= m.b ? Bn(v, q) : Bn(v, j)) : (m = f(lq(v.a), 10), Y = v.a.b == 0 ? Pi(v.c) : f(x1(v.a), 10), Y.b >= m.b ? kn(v, q) : kn(v, j)), x = f(z(v, (Ee(), Un)), 44), x && hg(x, m, !0); - t.i.a = s - t.j.a / 2; - } - } - function Oee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (q = new Se(), V = new Se(), U = new Se(), l = new M(t); l.a < l.c.c.length; ) - s = f(O(l), 75), s.k > 50 ? q.c[q.c.length] = s : s.k > 0 ? V.c[V.c.length] = s : U.c[U.c.length] = s; - if (V.c.length == 1 && q.c.length == 0 && (Tn(q, V), V.c = ve(Ze, Me, 1, 0, 4, 1)), q.c.length != 0 && Fo(mm(e.a), (wi(), Ds)) && Fo(mm(e.a), (wi(), is)) ? eK(e, q) : Tn(V, q), V.c.length == 0 || tK(e, V), U.c.length != 0) { - if (n = ym(e.a), n.c != 0) - for (S = new M(U), p = (vt(n), _S(new h9(n).a)); S.a < S.c.c.length; ) { - for (s = f(O(S), 75); S.a < S.c.c.length && s.a.a.Y() < 2; ) - s = f(O(S), 75); - s.a.a.Y() > 1 && (R = f(J4(p), 60), Dd(s, R, !0), bd(S), bN(e.a, R)); - } - for (L = U.c.length, i = hQ(e), j = new Se(), h = L / TS(e.a).c | 0, v = 0; v < h; v++) - Tn(j, TS(e.a)); - switch (I = L % TS(e.a).c, I > 3 && (Tn(j, (wi(), wi(), dH)), I -= 4), I) { - case 3: - Le(j, Cg(i)); - case 2: - Y = M0(Cg(i)); - do - Y = M0(Y); - while (!Fo(mm(e.a), Y)); - j.c[j.c.length] = Y, Y = dC(Cg(i)); - do - Y = dC(Y); - while (!Fo(mm(e.a), Y)); - j.c[j.c.length] = Y; - break; - case 1: - Le(j, Cg(i)); - } - for (x = new M(j), m = new M(U); x.a < x.c.c.length && m.a < m.c.c.length; ) - Dd(f(O(m), 75), f(O(x), 60), !0); - } - } - function Aee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye; - for (S = t.c.c.length, e.a = ve(kr, Dr, 51, S, 0, 2), e.b = ve(kr, Dr, 51, S, 0, 2), e.k = ve(kr, Dr, 51, S, 0, 2), p = ve(Kn, Wn, 26, S, 12, 1), h = ve(pb, Bg, 26, S, 13, 1), e.c = ve(pb, Bg, 26, S, 13, 1), e.d = ve(pb, Bg, 26, S, 13, 1), q = 0, ue = 0, L = new fn(t.c, 0); L.b < L.d.Y(); ) - for (m = (ut(L.b < L.d.Y()), f(L.d.sb(L.c = L.b++), 16)), x = L.b - 1, j = m.a.c.length, e.a[x] = ve(kr, Ni, 9, j, 0, 1), e.k[x] = ve(kr, Ni, 9, j, 0, 1), e.b[x] = ve(kr, Ni, 9, j, 0, 1), p[x] = 0, h[x] = !1, V = new fn(m.a, 0); V.b < V.d.Y(); ) { - for (Y = (ut(V.b < V.d.Y()), f(V.d.sb(V.c = V.b++), 9)), e.b[x][V.b - 1] = Y, Y.k = q++, I = f(z(Y, (le(), bl)), 9), I && v2(e.g, I, Y, null), te = new M(Y.f); te.a < te.c.c.length; ) { - for (U = f(O(te), 7), U.k = ue++, l = new M(U.e); l.a < l.c.c.length; ) - s = f(O(l), 12), s.d.f.d == m && ++p[x]; - U.g == (we(), Be) ? U.e.c.length + U.b.c.length > 1 && (e.c[x] = !0) : U.g == qe && U.e.c.length + U.b.c.length > 1 && (e.d[x] = !0); - } - Y.g == (et(), er) && (++p[x], h[x] = !0); - } - for (n = !0, R = !0, v = 0; v < e.d.length - 1; v++) - i = e.c[v] || e.d[v + 1], n = n & i, R = R & !i; - e.j = ve(Op, F0, 26, ue, 12, 1), ye = ve(Kn, Wn, 26, ue, 12, 1), n || (e.i = new Dj(p, h, ye), e.f = e.i), R || (e.e = new jj(p, h, ye), e.f = e.e); - } - function $R(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be; - for (e.d = new ot(ki, ki), e.c = new ot(Hr, Hr), L = t.mb(); L.G(); ) - for (S = f(L.H(), 55), U = new M(S.b); U.a < U.c.c.length; ) - V = f(O(U), 9), e.d.a = Xt(e.d.a, V.i.a - V.e.b), e.d.b = Xt(e.d.b, V.i.b - V.e.d), e.c.a = je(e.c.a, V.i.a + V.j.a + V.e.c), e.c.b = je(e.c.b, V.i.b + V.j.b + V.e.a); - for (v = new l7(), x = t.mb(); x.G(); ) - S = f(x.H(), 55), i = Tee(e, S), Le(v.a, i), i.a = i.a | !f(z(i.c, (le(), bf)), 18).V(); - for (e.b = (Py(), be = new ae(), be.f = new sM(n), be.b = IJ(be.f, v), be), PJ((I = e.b, new j1(), I)), e.e = new Yr(), e.a = e.b.f.e, h = new M(v.a); h.a < h.c.c.length; ) - for (s = f(O(h), 347), te = Zq(e.b, s), dQ(s.c, te.a, te.b), Y = new M(s.c.b); Y.a < Y.c.c.length; ) - R = f(O(Y), 9), R.g == (et(), Cn) && (q = tC(e, R.i, f(z(R, (le(), _r)), 32)), dn(Rs(R.i), q)); - for (l = new M(v.a); l.a < l.c.c.length; ) - for (s = f(O(l), 347), m = new M(KU(s)); m.a < m.c.c.length; ) - for (p = f(O(m), 12), Ce = new Nm(p.a), T1(Ce, 0, Pi(p.c)), rn(Ce, Pi(p.d)), j = null, ye = Jt(Ce, 0); ye.b != ye.d.c; ) { - if (ue = f(Ft(ye), 10), !j) { - j = ue; - continue; - } - SI(j.a, ue.a) ? (e.e.a = Xt(e.e.a, j.a), e.a.a = je(e.a.a, j.a)) : SI(j.b, ue.b) && (e.e.b = Xt(e.e.b, j.b), e.a.b = je(e.a.b, j.b)), j = ue; - } - Tm(e.e), dn(e.a, e.e); - } - function YR(e, t, n, i, s) { - var l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe; - for (R = new ji(t.b), te = new ji(t.b), L = new ji(t.b), be = new ji(t.b), Y = new ji(t.b), Ce = Jt(t, 0); Ce.b != Ce.d.c; ) - for (ue = f(Ft(Ce), 7), v = new M(ue.e); v.a < v.c.c.length; ) - if (l = f(O(v), 12), l.c.f == l.d.f) { - if (ue.g == l.d.g) { - be.c[be.c.length] = l; - continue; - } else if (ue.g == (we(), rt) && l.d.g == ct) { - Y.c[Y.c.length] = l; - continue; - } - } - for (p = new M(Y); p.a < p.c.c.length; ) - l = f(O(p), 12), TQ(e, l, n, i, (we(), Be)); - for (h = new M(be); h.a < h.c.c.length; ) - l = f(O(h), 12), Ne = new qa(e), Ha(Ne, (et(), er)), ce(Ne, (Ee(), dt), (zn(), ni)), ce(Ne, (le(), lt), l), Ue = new Yn(), ce(Ue, lt, l.d), Bt(Ue, (we(), qe)), cn(Ue, Ne), Xe = new Yn(), ce(Xe, lt, l.c), Bt(Xe, Be), cn(Xe, Ne), ce(l.c, js, Ne), ce(l.d, js, Ne), Bn(l, null), kn(l, null), n.c[n.c.length] = Ne, ce(Ne, Xd, gt(2)); - for (ye = Jt(t, 0); ye.b != ye.d.c; ) - ue = f(Ft(ye), 7), m = ue.b.c.length > 0, q = ue.e.c.length > 0, m && q ? L.c[L.c.length] = ue : m ? R.c[R.c.length] = ue : q && (te.c[te.c.length] = ue); - for (I = new M(R); I.a < I.c.c.length; ) - j = f(O(I), 7), Le(s, DC(e, j, null, n)); - for (U = new M(te); U.a < U.c.c.length; ) - V = f(O(U), 7), Le(s, DC(e, null, V, n)); - for (x = new M(L); x.a < x.c.c.length; ) - S = f(O(x), 7), Le(s, DC(e, S, S, n)); - } - function FR(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce; - for (te = new qn(t.d), p = new Se(), U = new M(t.b); U.a < U.c.c.length; ) - if (q = f(O(U), 9), j = f(Kt(e.j, q), 69), j) { - for (O0(e, q, j, te), ye = new M(q.f); ye.a < ye.c.c.length; ) - if (ue = f(O(ye), 7), I = f(Kt(e.n, ue), 69), I && (O0(e, ue, I, vk), qY(I, (Ee(), Kg), new Rc(ZF(ue.g)))), He(z(q, (Ee(), Ug))) !== He((th(), ak))) - for (Y = new M(ue.c); Y.a < Y.c.c.length; ) - R = f(O(Y), 33), L = f(Kt(e.f, R), 69), O0(e, R, L, vk); - if (f(z(q, (Ee(), ia)), 86).Y() != 0) - for (Y = new M(q.c); Y.a < Y.c.c.length; ) - R = f(O(Y), 33), L = f(Kt(e.f, R), 69), O0(e, R, L, vk); - for (v = Dt(En(q)); xt(v); ) - l = f(Et(v), 12), rh(l.d.f, q) || (p.c[p.c.length] = l); - } - if (Ce = f(z(t, (le(), wl)), 9), Ce) - for (v = Dt(En(Ce)); xt(v); ) - l = f(Et(v), 12), rh(l.d.f, Ce) && (p.c[p.c.length] = l); - for (h = new M(p); h.a < h.c.c.length; ) - for (l = f(O(h), 12), x = f(Kt(e.b, l), 69), nee(e, l, x, te), Y = new M(l.b); Y.a < Y.c.c.length; ) - R = f(O(Y), 33), L = f(Kt(e.f, R), 69), O0(e, R, L, te); - for (n = (i = f(z(t, os), 15).a, new ot(t.e.a + t.a.b + t.a.c + 2 * i, t.e.b + t.a.d + t.a.a + 2 * i)), S = f(z(t, wl), 9), S && (S.j.a = n.a, S.j.b = n.b), m = f(z(t, Kx), 69), Fa(e, m, P2, n.a), Fa(e, m, D2, n.b), V = new M(t.b); V.a < V.c.c.length; ) - q = f(O(V), 9), s = f(z(q, pl), 55), s && FR(e, s); - } - function Ree(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st; - for (Xe = new Wr(), be = new Wr(), q = -1, p = new M(e); p.a < p.c.c.length; ) { - for (h = f(O(p), 77), h.i = q--, x = 0, ue = 0, l = new M(h.j); l.a < l.c.c.length; ) - i = f(O(l), 117), ue += i.c; - for (s = new M(h.d); s.a < s.c.c.length; ) - i = f(O(s), 117), x += i.c; - h.e = x, h.k = ue, ue == 0 ? wr(be, h, be.c.b, be.c) : x == 0 && wr(Xe, h, Xe.c.b, Xe.c); - } - for (st = new $m(($o(), e)), L = e.c.length, Y = L + 1, V = L - 1, I = new Se(); st.a.Y() != 0; ) { - for (; be.b != 0; ) - Ce = (ut(be.b != 0), f(zs(be, be.a.a), 77)), st.a.eb(Ce) != null, Ce.i = V--, hC(Ce, Xe, be); - for (; Xe.b != 0; ) - Ne = (ut(Xe.b != 0), f(zs(Xe, Xe.a.a), 77)), st.a.eb(Ne) != null, Ne.i = Y++, hC(Ne, Xe, be); - for (R = Ys, m = (U = new Wt(st.a).a.bb().mb(), new Zt(U)); m.a.G(); ) - h = (S = f(m.a.H(), 21), f(S.yb(), 77)), te = h.k - h.e, te >= R && (te > R && (I.c = ve(Ze, Me, 1, 0, 4, 1), R = te), I.c[I.c.length] = h); - I.c.length != 0 && (j = f(_e(I, A3(t, I.c.length)), 77), st.a.eb(j) != null, j.i = Y++, hC(j, Xe, be), I.c = ve(Ze, Me, 1, 0, 4, 1)); - } - for (ye = e.c.length + 1, v = new M(e); v.a < v.c.c.length; ) - h = f(O(v), 77), h.i < L && (h.i += ye); - for (Ue = new M(e); Ue.a < Ue.c.c.length; ) - for (Ne = f(O(Ue), 77), n = new fn(Ne.j, 0); n.b < n.d.Y(); ) - i = (ut(n.b < n.d.Y()), f(n.d.sb(n.c = n.b++), 117)), it = i.b, Ne.i > it.i && (So(n), Cr(it.d, i), i.c > 0 && (i.a = it, Le(it.j, i), i.b = Ne, Le(Ne.d, i))); - } - function Bee(e) { - var t, n, i; - for (i = new G1(new Jb(e.c).a); S1(i.a); ) - switch (n = (i.b = Yc(i.a), new b1(i.c, i.b)), t = f(n.b.b[n.a.e], 62), f(n.a, 67).e) { - case 0: - t.d = 0, t.e = -(t.b + e.d); - break; - case 1: - t.d = (e.e.e.j.a - t.c) / 2, t.e = -(t.b + e.d); - break; - case 2: - t.d = e.e.e.j.a - t.c, t.e = -(t.b + e.d); - break; - case 3: - t.d = 0, t.e = e.e.e.j.b + e.d; - break; - case 4: - t.d = (e.e.e.j.a - t.c) / 2, t.e = e.e.e.j.b + e.d; - break; - case 5: - t.d = e.e.e.j.a - t.c, t.e = e.e.e.j.b + e.d; - break; - case 6: - t.d = -(t.c + e.d), t.e = 0; - break; - case 7: - t.d = -(t.c + e.d), t.e = (e.e.e.j.b - t.b) / 2; - break; - case 8: - t.d = -(t.c + e.d), t.e = e.e.e.j.b - t.b; - break; - case 9: - t.d = e.e.e.j.a + e.d, t.e = 0; - break; - case 10: - t.d = e.e.e.j.a + e.d, t.e = (e.e.e.j.b - t.b) / 2; - break; - case 11: - t.d = e.e.e.j.a + e.d, t.e = e.e.e.j.b - t.b; - break; - case 12: - t.d = e.q.b + e.d, t.e = e.q.d + e.d; - break; - case 13: - t.d = (e.e.e.j.a - t.c) / 2, t.e = e.q.d + e.d; - break; - case 14: - t.d = e.e.e.j.a - e.q.c - t.c - e.d, t.e = e.q.d + e.d; - break; - case 15: - t.d = e.q.b + e.d, t.e = (e.e.e.j.b - t.b) / 2; - break; - case 16: - t.d = (e.e.e.j.a - t.c) / 2, t.e = (e.e.e.j.b - t.b) / 2; - break; - case 17: - t.d = e.e.e.j.a - e.q.c - t.c - e.d, t.e = (e.e.e.j.b - t.b) / 2; - break; - case 18: - t.d = e.q.b + e.d, t.e = e.e.e.j.b - e.q.a - t.b - e.d; - break; - case 19: - t.d = (e.e.e.j.a - t.c) / 2, t.e = e.e.e.j.b - e.q.a - t.b - e.d; - break; - case 20: - t.d = e.e.e.j.a - e.q.c - t.c - e.d, t.e = e.e.e.j.b - e.q.a - t.b - e.d; - } - } - function zee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt; - for (Xe = new Wr(), be = new Wr(), I = -1, V = new M(e); V.a < V.c.c.length; ) { - for (Y = f(O(V), 80), Y.d = I--, p = 0, ue = 0, l = new M(Y.e); l.a < l.c.c.length; ) - i = f(O(l), 118), ue += i.c; - for (s = new M(Y.b); s.a < s.c.c.length; ) - i = f(O(s), 118), p += i.c; - Y.c = p, Y.f = ue, ue == 0 ? wr(be, Y, be.c.b, be.c) : p == 0 && wr(Xe, Y, Xe.c.b, Xe.c); - } - for (st = (Tt = new tS(), h3(Tt, e), Tt), m = e.c.length, R = m - 1, j = m + 1, x = new Se(); st.a.c != 0; ) { - for (; be.b != 0; ) - Ce = (ut(be.b != 0), f(zs(be, be.a.a), 80)), Qv(st.a, Ce) != null, Ce.d = R--, fC(Ce, Xe, be); - for (; Xe.b != 0; ) - Ne = (ut(Xe.b != 0), f(zs(Xe, Xe.a.a), 80)), Qv(st.a, Ne) != null, Ne.d = j++, fC(Ne, Xe, be); - for (L = Ys, U = (v = new Uv(new Vv(new Xb(st.a).a).b), new Qb(v)); om(U.a.a); ) - Y = (h = jm(U.a), f(h.yb(), 80)), te = Y.f - Y.c, te >= L && (te > L && (x.c = ve(Ze, Me, 1, 0, 4, 1), L = te), x.c[x.c.length] = Y); - x.c.length != 0 && (S = f(_e(x, A3(t, x.c.length)), 80), Qv(st.a, S) != null, S.d = j++, fC(S, Xe, be), x.c = ve(Ze, Me, 1, 0, 4, 1)); - } - for (ye = e.c.length + 1, q = new M(e); q.a < q.c.c.length; ) - Y = f(O(q), 80), Y.d < m && (Y.d += ye); - for (Ue = new M(e); Ue.a < Ue.c.c.length; ) - for (Ne = f(O(Ue), 80), n = new fn(Ne.e, 0); n.b < n.d.Y(); ) - i = (ut(n.b < n.d.Y()), f(n.d.sb(n.c = n.b++), 118)), it = i.b, Ne.d > it.d && (So(n), Cr(it.b, i), i.c > 0 && (i.a = it, Le(it.e, i), i.b = Ne, Le(Ne.b, i))); - } - function Hee(e) { - switch (e.e) { - case 14: - return new ft(); - case 37: - return new gn(); - case 8: - return new z7(); - case 30: - return new H7(); - case 38: - return new ht(); - case 3: - return new Rt(); - case 47: - case 1: - return new Mw((d0(), lT)); - case 4: - return new Lt(); - case 49: - return new yt(); - case 23: - return new Sw(); - case 13: - return new Mt(); - case 34: - return new Pn(); - case 40: - return new Vt(); - case 35: - return new ne(); - case 44: - return new y9(); - case 28: - return new Ie(); - case 39: - return new Je(); - case 27: - return new Ye(); - case 6: - return new Fe(); - case 31: - return new tr(); - case 9: - return new sP(); - case 43: - return new Dn(); - case 17: - return new rr(); - case 18: - return new ui(); - case 29: - return new uP(); - case 11: - return new Mu(); - case 12: - return new cs(); - case 36: - return new ls(); - case 46: - case 0: - return new Mw((d0(), cT)); - case 41: - return new Bo(); - case 15: - return new za(); - case 33: - return new ru(); - case 42: - return new xc(); - case 22: - return new Ll(); - case 19: - return new Gt(); - case 10: - return new oa(); - case 7: - return new Tc(); - case 24: - return new eo(); - case 21: - return new ma(); - case 16: - return new Wh(); - case 45: - return new Os(); - case 26: - return new qb(); - case 20: - return new bw(); - case 25: - return new pw(); - case 5: - return new yv(); - case 32: - return new Uh(); - case 48: - case 2: - return new Mw((d0(), uT)); - default: - throw new tn("No implementation is available for the layout processor " + (e.d != null ? e.d : "" + e.e)); - } - } - function _ee(e) { - var t, n, i, s, l, h, v; - if (n = e.e.e.j, e.b ? t = f(nr(e.e, (Ee(), Yg)), 65) : t = new qo(e.k, e.k, e.k, e.k), s = n.a, (e.b || e.g[1] != (Zu(), Ls)) && (s -= t.b + t.c), l = n.a, (e.b || e.g[3] != (Zu(), Ls)) && (l -= t.b + t.c), h = n.b, (e.b || e.g[4] != (Zu(), Ls)) && (h -= t.d + t.a), i = n.b, (e.b || e.g[2] != (Zu(), Ls)) && (i -= t.d + t.a), Nf(e, (we(), rt)) == (Zu(), Ls)) - e.j[1] = (s - If(e, rt)) / Yw(e, rt), e.f = e.b ? t.b + (Mf(e, rt) == 1 ? e.j[1] : 0) : e.j[1]; - else - switch (e.j[1] = e.k, v = If(e, rt) + e.j[1] * (Mf(e, rt) - 1), Nf(e, rt).e) { - case 2: - e.f = t.b; - break; - case 3: - e.f = t.b + (s - v) / 2; - break; - case 4: - e.f = n.a - v - t.c; - } - if (Nf(e, ct) == Ls) - e.j[3] = (l - If(e, ct)) / Yw(e, ct), e.r = n.a - (e.b ? t.c + (Mf(e, ct) == 1 ? e.j[3] : 0) : e.j[3]); - else - switch (e.j[3] = e.k, v = If(e, ct) + e.j[3] * (Mf(e, ct) - 1), Nf(e, ct).e) { - case 2: - e.r = v + t.b; - break; - case 3: - e.r = n.a - (l - v) / 2 - t.c; - break; - case 4: - e.r = n.a - t.c; - } - if (Nf(e, qe) == Ls) - e.j[4] = (h - If(e, qe)) / Yw(e, qe), e.s = n.b - (e.b ? t.a + (Mf(e, qe) == 1 ? e.j[4] : 0) : e.j[4]); - else - switch (e.j[4] = e.k, v = If(e, qe) + e.j[4] * (Mf(e, qe) - 1), Nf(e, qe).e) { - case 2: - e.s = v + t.d; - break; - case 3: - e.s = n.b - (h - v) / 2 - t.a; - break; - case 4: - e.s = n.b - t.a; - } - if (Nf(e, Be) == Ls) - e.j[2] = (i - If(e, Be)) / Yw(e, Be), e.a = e.b ? t.d + (Mf(e, Be) == 1 ? e.j[2] : 0) : e.j[2]; - else - switch (e.j[2] = e.k, v = If(e, Be) + e.j[2] * (Mf(e, Be) - 1), Nf(e, Be).e) { - case 2: - e.a = t.d; - break; - case 3: - e.a = t.d + (i - v) / 2; - break; - case 4: - e.a = n.b - v - t.a; - } - } - function qR(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt; - for (it = 0, h = 0, x = t[0].d, be = n[0].d, I = 0, Y = n.length; I < Y; ++I) - if (L = n[I], gi(f(z(L, (Ee(), dt)), 28))) { - for (V = 0, ue = new M(L.f); ue.a < ue.c.c.length && (te = f(O(ue), 7), te.g == (we(), rt)); ) - for (l = new M(te.b); l.a < l.c.c.length; ) - if (s = f(O(l), 12), s.c.f.d == x) { - ++V; - break; - } - for (U = 0, Ce = new fn(L.f, L.f.c.length); Ce.b > 0; ) { - for (te = (ut(Ce.b > 0), f(Ce.a.sb(Ce.c = --Ce.b), 7)), ye = 0, l = new M(te.b); l.a < l.c.c.length; ) - s = f(O(l), 12), s.c.f.d == x && ++ye; - ye > 0 && (te.g == (we(), rt) ? (e.a[te.k] = it, ++it) : (e.a[te.k] = it + V + U, ++U), h += ye); - } - it += U; - } else { - for (q = 0, ue = new M(L.f); ue.a < ue.c.c.length; ) { - for (te = f(O(ue), 7), l = new M(te.b); l.a < l.c.c.length; ) - s = f(O(l), 12), s.c.f.d == x && ++q; - e.a[te.k] = it; - } - q > 0 && (++it, h += q); - } - for (Ne = ve(Kn, Wn, 26, h, 12, 1), p = 0, j = 0, R = t.length; j < R; ++j) - if (L = t[j], gi(f(z(L, (Ee(), dt)), 28))) - for (ue = new M(L.f); ue.a < ue.c.c.length; ) - for (te = f(O(ue), 7), Ue = p, l = new M(te.e); l.a < l.c.c.length; ) - s = f(O(l), 12), Xe = s.d, Xe.f.d == be && lM(Ne, Ue, p++, e.a[Xe.k]); - else - for (Ue = p, ue = new M(L.f); ue.a < ue.c.c.length; ) - for (te = f(O(ue), 7), l = new M(te.e); l.a < l.c.c.length; ) - s = f(O(l), 12), Xe = s.d, Xe.f.d == be && lM(Ne, Ue, p++, e.a[Xe.k]); - for (v = 1; v < it; ) - v *= 2; - for (Tt = 2 * v - 1, v -= 1, st = ve(Kn, Wn, 26, Tt, 12, 1), i = 0, S = 0; S < h; S++) - for (m = Ne[S] + v, ++st[m]; m > 0; ) - m % 2 > 0 && (i += st[m + 1]), m = (m - 1) / 2 | 0, ++st[m]; - return i; - } - function VR(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn; - for (Nt(t, "Compound graph postprocessor", 1), n = Pt(ge(jt(z(e, (zt(), dE))))), v = f(z(e, (le(), kL)), 144), x = new $r(), ye = v.W().mb(); ye.G(); ) { - for (ue = f(ye.H(), 12), h = new _u(v.U(ue)), Ya(h, new L5(e)), Xe = rU((Sn(0, h.c.length), f(h.c[0], 114))), st = qI(f(_e(h, h.c.length - 1), 114)), Bs(ue.a), Ne = Xe.f, rh(st.f, Ne) ? be = f(z(Ne, pl), 55) : be = Ti(Ne), I = f(z(ue, (Ee(), Un)), 44), Mj(h, lz) ? I ? Bs(I) : (I = new Ci(), ce(ue, Un, I)) : I && ce(ue, Un, null), Y = null, l = new M(h); l.a < l.c.c.length; ) { - for (s = f(O(l), 114), te = new Yr(), oC(te, s.a, be), q = s.b, i = new Ci(), jy(i, 0, q.a), Vu(i, te), Ue = new qn(Pi(q.c)), it = new qn(Pi(q.d)), Ue.a += te.a, Ue.b += te.b, it.a += te.a, it.b += te.b, Y && (i.b == 0 ? U = it : U = (ut(i.b != 0), f(i.a.a.c, 10)), Tt = ei(Y.a - U.a) > pu, xn = ei(Y.b - U.b) > pu, (!n && Tt && xn || n && (Tt || xn)) && rn(ue.a, Ue)), na(ue.a, i), i.b == 0 ? Y = Ue : Y = (ut(i.b != 0), f(i.c.b.c, 10)), V = f(z(q, Un), 44), V && (j = new Ci(), jy(j, 0, V), Vu(j, te), na(I, j)), qI(s) == st && (Ti(st.f) != s.a && (te = new Yr(), oC(te, Ti(st.f), be)), ce(ue, fE, te)), R = new fn(q.b, 0); R.b < R.d.Y(); ) - p = (ut(R.b < R.d.Y()), f(R.d.sb(R.c = R.b++), 33)), He(z(p, LL)) === He(ue) && (oC(p.i, Ti(q.c.f), be), So(R), Le(ue.b, p)); - x.a.db(q, x); - } - Bn(ue, Xe), kn(ue, st); - } - for (S = (Ce = new Wt(x.a).a.bb().mb(), new Zt(Ce)); S.a.G(); ) - m = (L = f(S.a.H(), 21), f(L.yb(), 12)), Bn(m, null), kn(m, null); - Ct(t); - } - function Gee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt; - if (Ne = f(z(e, (Ee(), dt)), 28), Ne != (zn(), jo) && Ne != ac) { - for (R = e.c, I = R.c.length, x = new ji((fi(I + 2, KC), Jf(Tr(Tr(5, I + 2), (I + 2) / 10 | 0)))), Y = new ji((fi(I + 2, KC), Jf(Tr(Tr(5, I + 2), (I + 2) / 10 | 0)))), Le(x, new $t()), Le(x, new $t()), Le(Y, new Se()), Le(Y, new Se()), Ce = new $r(), t = 0; t < I; t++) - for (n = (Sn(t, R.c.length), f(R.c[t], 16)), Ue = (Sn(t, x.c.length), f(x.c[t], 57)), q = (On(), new $t()), x.c[x.c.length] = q, it = (Sn(t, Y.c.length), f(Y.c[t], 20)), U = new Se(), Y.c[Y.c.length] = U, s = new M(n.a); s.a < s.c.c.length; ) { - for (i = f(O(s), 9), m = Dt(Lr(i)); xt(m); ) - v = f(Et(m), 12), st = v.c.f, RM(st) && (Ce.a.db(st, Ce), Xe = f(Ue.cb(z(st, (le(), lt))), 9), Xe || (Xe = XO(e, st), Ue.db(z(st, lt), Xe), it.ib(Xe)), Bn(v, f(_e(Xe.f, 1), 7))); - for (p = Dt(En(i)); xt(p); ) - v = f(Et(p), 12), Tt = v.d.f, RM(Tt) && (Ce.a.db(Tt, Ce), V = f(Kt(q, z(Tt, (le(), lt))), 9), V || (V = XO(e, Tt), un(q, z(Tt, lt), V), U.c[U.c.length] = V), kn(v, f(_e(V.f, 0), 7))); - } - for (L = 0; L < Y.c.length; L++) - if (te = (Sn(L, Y.c.length), f(Y.c[L], 20)), !te.V()) - for (L == 0 ? (j = new Hc(e), qc(0, R.c.length), _v(R.c, 0, j)) : L == x.c.length - 1 ? (j = new Hc(e), R.c[R.c.length] = j) : j = (Sn(L - 1, R.c.length), f(R.c[L - 1], 16)), h = te.mb(); h.G(); ) - l = f(h.H(), 9), Ar(l, j); - for (ye = (be = new Wt(Ce.a).a.bb().mb(), new Zt(be)); ye.a.G(); ) - ue = (S = f(ye.a.H(), 21), f(S.yb(), 9)), Ar(ue, null); - } - } - function $ee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn; - for (Tt = new Se(), I = new M(t.c); I.a < I.c.c.length; ) - for (L = f(O(I), 16), ue = new M(L.a); ue.a < ue.c.c.length; ) { - for (te = f(O(ue), 9), te.k = -1, x = Ys, be = Ys, Ue = new M(te.f); Ue.a < Ue.c.c.length; ) { - for (Ne = f(O(Ue), 7), s = new M(Ne.b); s.a < s.c.c.length; ) - n = f(O(s), 12), Xe = f(z(n, (le(), Xa)), 24).a, x = x > Xe ? x : Xe; - for (i = new M(Ne.e); i.a < i.c.c.length; ) - n = f(O(i), 12), Xe = f(z(n, (le(), Xa)), 24).a, be = be > Xe ? be : Xe; - } - ce(te, pp, gt(x)), ce(te, wp, gt(be)); - } - for (q = 0, j = new M(t.c); j.a < j.c.c.length; ) - for (L = f(O(j), 16), ue = new M(L.a); ue.a < ue.c.c.length; ) - te = f(O(ue), 9), te.k < 0 && (st = new $5(), st.b = q++, PC(e, te, st), Tt.c[Tt.c.length] = st); - for (Ce = Ic(Tt.c.length), S = Ic(Tt.c.length), h = 0; h < Tt.c.length; h++) - Le(Ce, new Se()), Le(S, gt(0)); - for (aee(t, Tt, Ce, S), xn = f(Vn(Tt, ve(Wz, D8, 111, Tt.c.length, 0, 1)), 625), ye = f(Vn(Ce, ve(Xee, { 3: 1, 5: 1, 6: 1, 672: 1 }, 20, Ce.c.length, 0, 1)), 672), m = ve(Kn, Wn, 26, S.c.length, 12, 1), v = 0; v < m.length; v++) - m[v] = (Sn(v, S.c.length), f(S.c[v], 24)).a; - for (V = 0, U = new Se(), p = 0; p < xn.length; p++) - m[p] == 0 && Le(U, xn[p]); - for (Y = ve(Kn, Wn, 26, xn.length, 12, 1); U.c.length != 0; ) - for (st = f(Fl(U, 0), 111), Y[st.b] = V++; !ye[st.b].V(); ) - Nn = f(ye[st.b].vb(0), 111), --m[Nn.b], m[Nn.b] == 0 && (U.c[U.c.length] = Nn); - for (e.a = ve(Wz, D8, 111, xn.length, 0, 1), l = 0; l < xn.length; l++) - for (R = xn[l], it = Y[l], e.a[it] = R, R.b = it, ue = new M(R.f); ue.a < ue.c.c.length; ) - te = f(O(ue), 9), te.k = it; - return e.a; - } - function Yee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne; - for (Nt(t, "Fixed Layout", 1), p = f(z(e, (Ee(), of)), 122), R = 0, Y = 0, U = new M(e.b); U.a < U.c.c.length; ) { - for (q = f(O(U), 9), be = f(z(q, mh), 10), be && (q.i.a = be.a, q.i.b = be.b, f(z(q, ic), 86).kb((du(), Jg)) && (Ne = f(z(q, Fd), 15).a, m = f(z(q, Yd), 15).a, Ne > 0 && m > 0 && OC(q, new ot(Ne, m), !0))), R = je(R, q.i.a + q.j.a), Y = je(Y, q.i.b + q.j.b), j = new M(q.c); j.a < j.c.c.length; ) - x = f(O(j), 33), be = f(z(x, mh), 10), be && (x.i.a = be.a, x.i.b = be.b), R = je(R, q.i.a + x.i.a + x.j.a), Y = je(Y, q.i.b + x.i.b + x.j.b); - for (ue = new M(q.f); ue.a < ue.c.c.length; ) - for (te = f(O(ue), 7), be = f(z(te, mh), 10), be && (te.i.a = be.a, te.i.b = be.b), ye = q.i.a + te.i.a, Ce = q.i.b + te.i.b, R = je(R, ye + te.j.a), Y = je(Y, Ce + te.j.b), L = new M(te.c); L.a < L.c.c.length; ) - x = f(O(L), 33), be = f(z(x, mh), 10), be && (x.i.a = be.a, x.i.b = be.b), R = je(R, ye + x.i.a + x.j.a), Y = je(Y, Ce + x.i.b + x.j.b); - for (v = Dt(En(q)); xt(v); ) - l = f(Et(v), 12), I = PR(l), R = je(R, I.a), Y = je(Y, I.b); - for (h = Dt(Lr(q)); xt(h); ) - l = f(Et(h), 12), He(z(l.c.f, (le(), pl))) !== He(e) && (I = PR(l), R = je(R, I.a), Y = je(Y, I.b)); - } - if (p == (fu(), af)) - for (V = new M(e.b); V.a < V.c.c.length; ) - for (q = f(O(V), 9), h = Dt(En(q)); xt(h); ) - l = f(Et(h), 12), S = dee(l), S.b == 0 ? ce(l, Un, null) : ce(l, Un, S); - e.e.a = R, e.e.b = Y, ce(e, ic, (du(), i = f(Hi(qd), 11), new ti(i, f(xi(i, i.length), 11), 0))), s = f(z(e, (le(), wl)), 9), s && ce(s, ic, (n = f(Hi(qd), 11), new ti(n, f(xi(n, n.length), 11), 0))), Ct(t); - } - function Fee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it; - if (!gi(f(z(t, (Ee(), dt)), 28))) { - if (t.f.c.length > 1) { - Ce = ve(bte, Dr, 15, e.a.length, 0, 1), m = Ic(e.a.length), R = 0, I = 0, n = 2 * t.d.a.c.length + 1; - e: - for (ye = new M(t.f); ye.a < ye.c.c.length; ) { - if (ue = f(O(ye), 7), q = ue.g == (we(), rt) || ue.g == ct, it = 0, q) { - if (be = f(z(ue, (le(), js)), 9), !be) - continue; - for (L = !1, te = !1, Ue = new M(be.f); Ue.a < Ue.c.c.length; ) - Ne = f(O(Ue), 7), He(z(Ne, lt)) === He(ue) && (Ne.e.c.length == 0 ? Ne.b.c.length == 0 || (L = !0) : te = !0); - L && !te ? it = ue.g == rt ? -(be.d ? Di(be.d.a, be, 0) : -1) : n - (be.d ? Di(be.d.a, be, 0) : -1) : te && !L ? it = (be.d ? Di(be.d.a, be, 0) : -1) + 1 : L && te && (it = ue.g == rt ? 0 : n / 2); - } else { - for (U = new M(ue.e); U.a < U.c.c.length; ) - if (V = f(O(U), 12), s = V.d, s.f.d == t.d) { - m.c[m.c.length] = ue; - continue e; - } else - it += e.a[s.k]; - for (x = new M(ue.b); x.a < x.c.c.length; ) - if (S = f(O(x), 12), s = S.c, s.f.d == t.d) { - m.c[m.c.length] = ue; - continue e; - } else - it -= e.a[s.k]; - } - ue.b.c.length + ue.e.c.length > 0 ? (Ce[ue.k] = new Ut(it / (ue.b.c.length + ue.e.c.length)), R = uF(R, Ce[ue.k].a), I = tD(I, Ce[ue.k].a)) : q && (Ce[ue.k] = new Ut(it)); - } - for (Y = (t.d ? Di(t.d.a, t, 0) : -1) + 1, j = t.d.a.c.length + 1, p = new M(m); p.a < p.c.c.length; ) { - for (v = f(O(p), 7), it = 0, h = 0, l = Dt(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [new Zh(v), new Lf(v)])))))); xt(l); ) - s = f(Et(l), 7), s.f.d == t.d && (it += ej(s.f) + 1, ++h); - i = it / h, Xe = v.g, Xe == (we(), Be) ? i < Y ? Ce[v.k] = new Ut(R - i) : Ce[v.k] = new Ut(I + (j - i)) : Xe == qe && (i < Y ? Ce[v.k] = new Ut(I + i) : Ce[v.k] = new Ut(R - (j - i))); - } - Ya(t.f, new VP(Ce)); - } - ce(t, dt, (zn(), yh)); - } - } - function qee(e) { - var t, n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne; - for (be = new Se(), e.a.b.c = ve(Ze, Me, 1, 0, 4, 1), te = (On(), new $t()), q = new M(e.d.c); q.a < q.c.c.length; ) - for (R = f(O(q), 16), U = new M(R.a); U.a < U.c.c.length; ) { - if (V = f(O(U), 9), Pt(ge(jt(z(V, (Ee(), $d))))) && !eg(yg(V))) { - v = f(X1(yg(V)), 12), ue = v.c.f, ue == V && (ue = v.d.f), ye = new pr(ue, ou(_a(V.i), ue.i)), un(e.b, V, ye); - continue; - } - l = new QA(V, e.d), Le(e.a.b, l), ra(te.d, V, l); - } - for (Y = new M(e.d.c); Y.a < Y.c.c.length; ) - for (R = f(O(Y), 16), U = new M(R.a); U.a < U.c.c.length; ) { - for (V = f(O(U), 9), l = f(ci(li(te.d, V)), 25), S = Dt(En(V)); xt(S); ) - if (p = f(Et(S), 12), i = Jt(p.a, 0), x = !0, I = null, i.b != i.d.c) { - for (t = f(Ft(i), 10), p.c.g == (we(), rt) && (Ne = new xg(t, new ot(t.a, l.j.e), l, p), Ne.c = !0, be.c[be.c.length] = Ne), p.c.g == ct && (Ne = new xg(t, new ot(t.a, l.j.e + l.j.b), l, p), Ne.d = !0, be.c[be.c.length] = Ne); i.b != i.d.c; ) - n = f(Ft(i), 10), V4(t.b, n.b) || (I = new xg(t, n, null, p), be.c[be.c.length] = I, x && (x = !1, n.b < l.j.e ? I.c = !0 : n.b > l.j.e + l.j.b ? I.d = !0 : (I.d = !0, I.c = !0))), i.b != i.d.c && (t = n); - I && (h = f(Kt(te, p.d.f), 25), t.b < h.j.e ? I.c = !0 : t.b > h.j.e + h.j.b ? I.d = !0 : (I.d = !0, I.c = !0)); - } - for (m = Dt(Lr(V)); xt(m); ) - p = f(Et(m), 12), p.a.b != 0 && (t = f(x1(p.a), 10), p.d.g == (we(), rt) && (Ne = new xg(t, new ot(t.a, l.j.e), l, p), Ne.c = !0, be.c[be.c.length] = Ne), p.d.g == ct && (Ne = new xg(t, new ot(t.a, l.j.e + l.j.b), l, p), Ne.d = !0, be.c[be.c.length] = Ne)); - } - if (be.c.length != 0) { - for (Qt(), Ya(be, null), j = (Sn(0, be.c.length), f(be.c[0], 142)), s = new aC(j, e.d), L = 1; L < be.c.length; L++) - Ce = (Sn(L, be.c.length), f(be.c[L], 142)), V4(s.j.d, Ce.j) && !(j3(s.j.e + s.j.b, Ce.k) || j3(Ce.n, s.j.e)) ? ER(s, Ce) : (Le(e.a.b, s), s = new aC(Ce, e.d)); - Le(e.a.b, s); - } - be.c = ve(Ze, Me, 1, 0, 4, 1), WX(e); - } - function RC(e, t, n, i, s, l) { - var h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn, Ri, Xi; - for (v = f(_e(e.d.c.c, i), 16), Nn = new $r(), I = new $r(), j = 0; j < v.a.c.length; ++j) - V = f(_e(v.a, j), 9), j < n ? (Ue = Nn.a.db(V, Nn), Ue == null) : j > n && (Ne = I.a.db(V, I), Ne == null); - for (Ri = new $r(), R = new $r(), te = (it = new Wt(Nn.a).a.bb().mb(), new Zt(it)); te.a.G(); ) - for (V = (x = f(te.a.H(), 21), f(x.yb(), 9)), h = t == 1 ? En(V) : Lr(V), m = (_n(), new _o(Go(vs(h.a, new T())))); xt(m); ) - p = f(Et(m), 12), ea(V.d) != ea(p.d.f.d) && vn(Ri, p.d.f); - for (ue = (st = new Wt(I.a).a.bb().mb(), new Zt(st)); ue.a.G(); ) - for (V = (x = f(ue.a.H(), 21), f(x.yb(), 9)), h = t == 1 ? En(V) : Lr(V), m = (_n(), new _o(Go(vs(h.a, new T())))); xt(m); ) - p = f(Et(m), 12), ea(V.d) != ea(p.d.f.d) && vn(R, p.d.f); - for (hz && Rl(), be = f(_e(e.d.c.c, i + (t == 1 ? 1 : -1)), 16), Y = Ys, q = yr, L = 0; L < be.a.c.length; L++) - V = f(_e(be.a, L), 9), Ri.a.R(V) ? Y = Y > L ? Y : L : R.a.R(V) && (q = q < L ? q : L); - if (Y < q) { - for (ye = (Tt = new Wt(Ri.a).a.bb().mb(), new Zt(Tt)); ye.a.G(); ) { - for (V = (x = f(ye.a.H(), 21), f(x.yb(), 9)), S = Dt(En(V)); xt(S); ) - if (p = f(Et(S), 12), ea(V.d) == ea(p.d.f.d)) - return null; - for (m = Dt(Lr(V)); xt(m); ) - if (p = f(Et(m), 12), ea(V.d) == ea(p.c.f.d)) - return null; - } - for (Ce = (Xe = new Wt(R.a).a.bb().mb(), new Zt(Xe)); Ce.a.G(); ) { - for (V = (x = f(Ce.a.H(), 21), f(x.yb(), 9)), S = Dt(En(V)); xt(S); ) - if (p = f(Et(S), 12), ea(V.d) == ea(p.d.f.d)) - return null; - for (m = Dt(Lr(V)); xt(m); ) - if (p = f(Et(m), 12), ea(V.d) == ea(p.c.f.d)) - return null; - } - for (Nn.a.Y() == 0 ? Xi = 0 : I.a.Y() == 0 ? Xi = be.a.c.length : Xi = Y + 1, U = new M(v.a); U.a < U.c.c.length; ) - if (V = f(O(U), 9), V.g == (et(), er)) - return null; - return l == 1 ? i0(re(ie(H2, 1), Dr, 24, 0, [gt(Xi)])) : t == 1 && i == s - 2 || t == 0 && i == 1 ? i0(re(ie(H2, 1), Dr, 24, 0, [gt(Xi)])) : (xn = RC(e, t, Xi, i + (t == 1 ? 1 : -1), s, l - 1), xn && t == 1 && xn.rb(0, gt(Xi)), xn); - } - return null; - } - function Vee(e, t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - if (Q3(t), j = (Ee(), Wg).b, !(j in t.a && Mn(t, j).ic().a)) { - if (p = Mn(t, "source"), m = Mn(t, "sourcePort"), S = Mn(t, "target"), x = Mn(t, "targetPort"), p) { - if (!p.lc()) - throw new gs("Invalid format of an edge's 'source' property. It must be a string.", p, t); - } else - throw new gs("Edges must contain a 'source' property.", null, t); - if (S) { - if (!S.lc()) - throw new gs("Invalid format of an edge's 'target' property. It must be a string.", S, t); - } else - throw new gs("Edges must contain a 'target' property.", null, t); - Y = null, V = null; - try { - R = f(K1(e.i, p.lc().a), 9), m && m.lc() && (Y = f(K1(e.k, m.lc().a), 7)), q = f(K1(e.i, S.lc().a), 9), x && x.lc() && (V = f(K1(e.k, x.lc().a), 7)); - } catch (te) { - throw te = Ur(te), xe(te, 76) ? new qv("An edge's 'source', 'target', 'sourcePort', and 'targetPort' properties have to be strings.", t) : Kr(te); - } - if (!Pt(ge(e.g))) { - if (!R || !q) - return; - if (Ti(R) != Ti(q)) - return; - } - if (!R || !q) - throw new qv("An edge's source or target node could not be resolved.", t); - if (I = Ti(R), i = new bs(), ce(i, (le(), lt), t), h = f(Mn(t, "id"), 97), Z1(e.a, h.a, i), un(e.b, i, t), x0(t, i), nC(e, t, i, I), s = f(z(I, qr), 18), R == q && s.ib((vr(), Sp)), !Y) - Y = wR(R, new Yr(), (sr(), ri), I); - else if (Y.f != R) - throw new _w("Inconsistent source port reference found."); - if (!V) - V = wR(q, new Yr(), (sr(), Ai), I); - else if (V.f != q) - throw new _w("Inconsistent target port reference found."); - if (Bn(i, Y), kn(i, V), (_l(ya((dr(), new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Y.b, Y.e])))))) > 1 || _l(ya(new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [V.b, V.e]))))) > 1) && s.ib((vr(), Ep)), He(z(I, (zt(), Pp))) === He((tg(), Rk)) && !(L2 in t.a)) { - n = new Ci(); - try { - for (v = Mn(t, L2).hc(), l = 0; l < v.a.length; ++l) - L = Fu(v, l).kc(), U = new ot(Mn(L, "x").jc().a, Mn(L, "y").jc().a), wr(n, U, n.c.b, n.c); - ce(i, xL, n); - } catch (te) { - throw te = Ur(te), xe(te, 54) ? new qv("Invalid format of an edges 'bendPoints' property.", t) : Kr(te); - } - } - ce(i, Un, null); - } - } - function Pr() { - Pr = c, TT = new nn("LEFT_DIR_PREPROCESSOR", 0), vT = new nn("DOWN_DIR_PREPROCESSOR", 1), zT = new nn("UP_DIR_PREPROCESSOR", 2), hT = new nn("COMMENT_PREPROCESSOR", 3), xk = new nn("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER", 4), AT = new nn("SPLINE_SELF_LOOP_PREPROCESSOR", 5), Tk = new nn("INTERACTIVE_EXTERNAL_PORT_POSITIONER", 6), jT = new nn("PARTITION_PREPROCESSOR", 7), Sk = new nn("BIG_NODES_PREPROCESSOR", 8), cp = new nn("LABEL_DUMMY_INSERTER", 9), DT = new nn("PARTITION_POSTPROCESSOR", 10), PT = new nn("NODE_PROMOTION", 11), hp = new nn("LAYER_CONSTRAINT_PROCESSOR", 12), bT = new nn("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR", 13), Ek = new nn("BIG_NODES_INTERMEDIATEPROCESSOR", 14), Dk = new nn("LONG_EDGE_SPLITTER", 15), Nk = new nn("PORT_SIDE_PROCESSOR", 16), fp = new nn("LABEL_DUMMY_SWITCHER", 17), ST = new nn("LABEL_MANAGEMENT_PROCESSOR", 18), up = new nn("INVERTED_PORT_PROCESSOR", 19), MT = new nn("SELF_LOOP_PROCESSOR", 20), jk = new nn("PORT_LIST_SORTER", 21), vp = new nn("NORTH_SOUTH_PORT_PREPROCESSOR", 22), gT = new nn("GREEDY_SWITCH", 23), NT = new nn("PORT_DISTRIBUTER", 24), OT = new nn("SPLINE_SELF_LOOP_POSITIONER", 25), IT = new nn("SAUSAGE_COMPACTION", 26), Lk = new nn("IN_LAYER_CONSTRAINT_PROCESSOR", 27), yT = new nn("HYPEREDGE_DUMMY_MERGER", 28), Th = new nn("LABEL_SIDE_SELECTOR", 29), Ck = new nn("BIG_NODES_SPLITTER", 30), ET = new nn("LABEL_AND_NODE_SIZE_PROCESSOR", 31), RT = new nn("SPLINE_SELF_LOOP_ROUTER", 32), LT = new nn("NODE_MARGIN_CALCULATOR", 33), pT = new nn("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR", 34), Vd = new nn("HIERARCHICAL_PORT_POSITION_PROCESSOR", 35), CT = new nn("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR", 36), ib = new nn("BIG_NODES_POSTPROCESSOR", 37), fT = new nn("COMMENT_POSTPROCESSOR", 38), kT = new nn("HYPERNODE_PROCESSOR", 39), wT = new nn("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER", 40), Pk = new nn("LONG_EDGE_JOINER", 41), dp = new nn("NORTH_SOUTH_PORT_POSTPROCESSOR", 42), lp = new nn("LABEL_DUMMY_REMOVER", 43), mT = new nn("HORIZONTAL_COMPACTOR", 44), Ik = new nn("REVERSED_EDGE_RESTORER", 45), xT = new nn("LEFT_DIR_POSTPROCESSOR", 46), dT = new nn("DOWN_DIR_POSTPROCESSOR", 47), BT = new nn("UP_DIR_POSTPROCESSOR", 48), sp = new nn("END_LABEL_PROCESSOR", 49); - } - function le() { - le = c; - var e, t; - lt = new Zn("origin"), $H = new Zn("processingConfiguration"), PL = new Zn("processors"), yL = new nt("compoundNode", (yn(), yn(), Rn)), YH = new nt("insideConnections", Rn), pl = new Zn("nestedLGraph"), wl = new Zn("parentLNode"), xL = new Zn("originalBendpoints"), TL = new Zn("originalDummyNodePosition"), LL = new Zn("originalLabelEdge"), DL = new Zn("representedLabels"), lo = new nt("labelSide", (Gi(), nb)), Xs = new nt("reversed", Rn), jh = new Zn("random"), Mi = new nt("longEdgeSource", null), Si = new nt("longEdgeTarget", null), oE = new nt("edgeConstraint", (nh(), iL)), bl = new Zn("inLayerLayoutUnit"), Zs = new nt("inLayerConstraint", (ms(), Cp)), Dh = new nt("inLayerSuccessorConstraint", new Se()), js = new Zn("portDummy"), Xd = new nt("crossingHint", gt(0)), qr = new nt("graphProperties", (t = f(Hi(lL), 11), new ti(t, f(xi(t, t.length), 11), 0))), _r = new nt("externalPortSide", (we(), cr)), CL = new nt("externalPortSize", new Yr()), Tp = new Zn("externalPortReplacedDummy"), bf = new nt("externalPortConnections", (e = f(Hi(Nr), 11), new ti(e, f(xi(e, e.length), 11), 0))), xu = new nt(l8, 0), wL = new Zn("barycenterAssociates"), Jd = new Zn("TopSideComments"), Zd = new Zn("BottomSideComments"), xp = new Zn("CommentConnectionPort"), sE = new nt("inputCollect", Rn), uE = new nt("outputCollect", Rn), EL = new nt("cyclic", Rn), fb = new nt("bigNodeOriginalSize", new Ut(0)), vc = new nt("bigNodeInitial", Rn), mL = new nt("de.cau.cs.kieler.klay.layered.bigNodeLabels", new Se()), aE = new nt("de.cau.cs.kieler.klay.layered.postProcess", null), kL = new Zn("crossHierarchyMap"), fE = new Zn("targetOffset"), FH = new nt("splineLabelSize", new Yr()), hb = new nt("splineLoopSide", (wi(), ff)), lE = new nt("splineSelfLoopComponents", new Se()), jL = new nt("splineSelfLoopMargins", new e1()), ml = new Zn("spacings"), Lp = new nt("partitionConstraint", Rn), Qd = new H1((Ee(), ul), new Ut(0)), Oi = new z1(Yx, new Ut(20), new Ut(1)), cE = new z1(_x, new Ut(10), new Ut(1)), os = new z1(Ax, new Ut(12), new Ut(0)), Xa = new H1(Gx, gt(0)), Ph = new z1(hB, new Ut(w8), new Ut(0)), SL = new H1(of, (fu(), af)); - } - function zt() { - zt = c, jp = new nt("de.cau.cs.kieler.klay.layered.nodePromotion", (Xc(), gp)), AL = new Q1("de.cau.cs.kieler.klay.layered.nodePromotionBoundary", gt(0), gt(0), gt(100)), RL = new nt(c8, gt(1)), tv = new $l("de.cau.cs.kieler.klay.layered.inLayerSpacingFactor", new Ut(1), new Ut(0)), Qs = new nt("de.cau.cs.kieler.klay.layered.edgeSpacingFactor", new Ut(0.5)), WH = new nt("de.cau.cs.kieler.klay.layered.edgeNodeSpacingFactor", new Ut(lx)), wE = new nt("de.cau.cs.kieler.klay.layered.distributeNodes", (yn(), yn(), Rn)), rv = new nt("de.cau.cs.kieler.klay.layered.wideNodesOnMultipleLayers", (lu(), Ip)), pE = new nt("de.cau.cs.kieler.klay.layered.cycleBreaking", (U1(), Ok)), kE = new nt("de.cau.cs.kieler.klay.layered.nodeLayering", (a0(), Ak)), Pp = new nt("de.cau.cs.kieler.klay.layered.crossMin", (tg(), Bk)), mE = new nt("de.cau.cs.kieler.klay.layered.greedySwitch", (Dg(), rE)), EE = new nt("de.cau.cs.kieler.klay.layered.nodePlace", (E0(), zk)), IL = new Q1("de.cau.cs.kieler.klay.layered.linearSegmentsDeflectionDampening", new Ut(cx), new Ut(0), new Ut(1)), Dp = new nt("de.cau.cs.kieler.klay.layered.fixedAlignment", (mg(), Jk)), Nh = new nt("de.cau.cs.kieler.klay.layered.edgeLabelSideSelection", (C0(), kp)), NL = new nt(u8, Rn), nv = new $l("de.cau.cs.kieler.klay.layered.thoroughness", gt(10), gt(1)), Er = new nt("de.cau.cs.kieler.klay.layered.layerConstraint", ($i(), pf)), ML = new nt("de.cau.cs.kieler.klay.layered.mergeEdges", Rn), OL = new nt("de.cau.cs.kieler.klay.layered.mergeHierarchyEdges", ii), yE = new nt("de.cau.cs.kieler.klay.layered.interactiveReferencePoint", (J1(), iE)), vb = new nt("de.cau.cs.kieler.klay.layered.feedBackEdges", Rn), dE = new nt("de.cau.cs.kieler.klay.layered.unnecessaryBendpoints", Rn), bE = new nt("de.cau.cs.kieler.klay.layered.contentAlignment", (Pd(), Yt(Vk, re(ie(Wk, 1), De, 123, 0, [$k])))), BL = new nt("de.cau.cs.kieler.klay.layered.sausageFolding", Rn), xE = new nt("de.cau.cs.kieler.klay.layered.splines.selfLoopPlacement", (p0(), TE)), vE = new nt("de.cau.cs.kieler.klay.layered.nodeplace.compactionStrategy", (og(), Hk)), SE = new nt("de.cau.cs.kieler.klay.layered.northOrSouthPort", Rn), Np = new nt("de.cau.cs.kieler.klay.layered.postCompaction", (jd(), sb)), CE = new nt("de.cau.cs.kieler.klay.layered.postCompaction.constraints", (t0(), Mk)), gE = new nt("de.cau.cs.kieler.klay.layered.components.compact", Rn); - } - function m2() { - m2 = c, VB = new Li("OUT_T_L", 0, (dr(), new cu(Yt((gu(), Ui), re(ie(Ln, 1), De, 41, 0, [ba, qi])))), (hy(), oc)), qB = new Li("OUT_T_C", 1, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ui, re(ie(Ln, 1), De, 41, 0, [ba, Ua])), Yt(Ui, re(ie(Ln, 1), De, 41, 0, [ba, Ua, Vi]))]))), xh), WB = new Li("OUT_T_R", 2, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [ba, Wi]))), sc), BB = new Li("OUT_B_L", 3, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [va, qi]))), oc), RB = new Li("OUT_B_C", 4, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ui, re(ie(Ln, 1), De, 41, 0, [va, Ua])), Yt(Ui, re(ie(Ln, 1), De, 41, 0, [va, Ua, Vi]))]))), xh), zB = new Li("OUT_B_R", 5, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [va, Wi]))), sc), GB = new Li("OUT_L_T", 6, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [qi, ba, Vi]))), sc), _B = new Li("OUT_L_C", 7, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ui, re(ie(Ln, 1), De, 41, 0, [qi, ga])), Yt(Ui, re(ie(Ln, 1), De, 41, 0, [qi, ga, Vi]))]))), sc), HB = new Li("OUT_L_B", 8, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [qi, va, Vi]))), sc), FB = new Li("OUT_R_T", 9, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [Wi, ba, Vi]))), oc), YB = new Li("OUT_R_C", 10, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ui, re(ie(Ln, 1), De, 41, 0, [Wi, ga])), Yt(Ui, re(ie(Ln, 1), De, 41, 0, [Wi, ga, Vi]))]))), oc), $B = new Li("OUT_R_B", 11, new cu(Yt(Ui, re(ie(Ln, 1), De, 41, 0, [Wi, va, Vi]))), oc), OB = new Li("IN_T_L", 12, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ba, qi])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ba, qi, Vi]))]))), oc), MB = new Li("IN_T_C", 13, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ba, Ua])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ba, Ua, Vi]))]))), xh), AB = new Li("IN_T_R", 14, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ba, Wi])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ba, Wi, Vi]))]))), sc), NB = new Li("IN_C_L", 15, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, qi])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, qi, Vi]))]))), oc), jB = new Li("IN_C_C", 16, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, Ua])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, Ua, Vi]))]))), xh), IB = new Li("IN_C_R", 17, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, Wi])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [ga, Wi, Vi]))]))), sc), PB = new Li("IN_B_L", 18, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [va, qi])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [va, qi, Vi]))]))), oc), LB = new Li("IN_B_C", 19, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [va, Ua])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [va, Ua, Vi]))]))), xh), DB = new Li("IN_B_R", 20, new Qn(ur(re(ie(Ze, 1), Me, 1, 4, [Yt(Ei, re(ie(Ln, 1), De, 41, 0, [va, Wi])), Yt(Ei, re(ie(Ln, 1), De, 41, 0, [va, Wi, Vi]))]))), sc), dk = new Li(ef, 21, _g, null); - } - function WR(e, t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn, Ri, Xi, pc, wc, wb, Js, ai, Bi, eu, Gr, Xr, Qa, mc, Ns, Lu, yl, ss, Pu, av, fo, Du, ho, wa, ju, ov; - for (yl = 0, it = 0, xn = t.length; it < xn; ++it) - if (Ue = t[it], gi(f(z(Ue, (Ee(), dt)), 28))) - for (Bi = new M(Ue.f); Bi.a < Bi.c.c.length; ) { - for (ai = f(O(Bi), 7), Gr = 0, v = new M(ai.e); v.a < v.c.c.length; ) - h = f(O(v), 12), Ue.d != h.d.f.d && ++Gr; - Gr > 0 && (e.a[ai.k] = yl++); - } - else { - for (Ri = 0, Bi = new M(Ue.f); Bi.a < Bi.c.c.length; ) { - for (ai = f(O(Bi), 7), v = new M(ai.e); v.a < v.c.c.length; ) - h = f(O(v), 12), Ue.d != h.d.f.d && ++Ri; - e.a[ai.k] = yl; - } - Ri > 0 && ++yl; - } - for (Du = 0, st = 0, Nn = n.length; st < Nn; ++st) - if (Ue = n[st], gi(f(z(Ue, (Ee(), dt)), 28))) { - for (Xi = 0, Bi = new M(Ue.f); Bi.a < Bi.c.c.length && (ai = f(O(Bi), 7), ai.g == (we(), rt)); ) - for (v = new M(ai.b); v.a < v.c.c.length; ) - if (h = f(O(v), 12), Ue.d != h.c.f.d) { - ++Xi; - break; - } - for (wc = 0, Xr = new fn(Ue.f, Ue.f.c.length); Xr.b > 0; ) { - for (ai = (ut(Xr.b > 0), f(Xr.a.sb(Xr.c = --Xr.b), 7)), Gr = 0, v = new M(ai.b); v.a < v.c.c.length; ) - h = f(O(v), 12), Ue.d != h.c.f.d && ++Gr; - Gr > 0 && (ai.g == (we(), rt) ? (e.a[ai.k] = Du, ++Du) : (e.a[ai.k] = Du + Xi + wc, ++wc)); - } - Du += wc; - } else { - for (Ri = 0, Bi = new M(Ue.f); Bi.a < Bi.c.c.length; ) { - for (ai = f(O(Bi), 7), v = new M(ai.b); v.a < v.c.c.length; ) - h = f(O(v), 12), Ue.d != h.c.f.d && ++Ri; - e.a[ai.k] = Du; - } - Ri > 0 && ++Du; - } - for (eu = (On(), new $t()), j = new _i(), Xe = 0, Tt = t.length; Xe < Tt; ++Xe) - for (Ue = t[Xe], av = new M(Ue.f); av.a < av.c.c.length; ) - for (Pu = f(O(av), 7), v = new M(Pu.e); v.a < v.c.c.length; ) - if (h = f(O(v), 12), wa = h.d, Ue.d != wa.f.d) - if (ss = f(ci(li(eu.d, Pu)), 197), ho = f(ci(li(eu.d, wa)), 197), !ss && !ho) - L = new U9(), j.a.db(L, j), Le(L.a, h), Le(L.d, Pu), ra(eu.d, Pu, L), Le(L.d, wa), ra(eu.d, wa, L); - else if (!ss) - Le(ho.a, h), Le(ho.d, Pu), ra(eu.d, Pu, ho); - else if (!ho) - Le(ss.a, h), Le(ss.d, wa), ra(eu.d, wa, ss); - else if (ss == ho) - Le(ss.a, h); - else { - for (Le(ss.a, h), Js = new M(ho.d); Js.a < Js.c.c.length; ) - wb = f(O(Js), 7), ra(eu.d, wb, ss); - Tn(ss.a, ho.a), Tn(ss.d, ho.d), j.a.eb(ho) != null; - } - for (I = f(Ky(j, ve(ste, { 674: 1, 3: 1, 5: 1, 6: 1 }, 197, j.a.Y(), 0, 1)), 674), Ne = t[0].d, Lu = n[0].d, S = 0, x = I.length; S < x; ++S) - for (m = I[S], m.e = yl, m.f = Du, Bi = new M(m.d); Bi.a < Bi.c.c.length; ) - ai = f(O(Bi), 7), Qa = e.a[ai.k], ai.f.d == Ne ? (Qa < m.e && (m.e = Qa), Qa > m.b && (m.b = Qa)) : ai.f.d == Lu && (Qa < m.f && (m.f = Qa), Qa > m.c && (m.c = Qa)); - for (ah(I, 0, I.length, (Ml(), Ml(), wf)), fo = ve(Kn, Wn, 26, I.length, 12, 1), i = ve(Kn, Wn, 26, Du + 1, 12, 1), Y = 0; Y < I.length; Y++) - fo[Y] = I[Y].f, i[fo[Y]] = 1; - for (l = 0, q = 0; q < i.length; q++) - i[q] == 1 ? i[q] = l : --l; - for (mc = 0, V = 0; V < fo.length; V++) - fo[V] += i[fo[V]], mc = Jr(mc, fo[V] + 1); - for (p = 1; p < mc; ) - p *= 2; - for (ov = 2 * p - 1, p -= 1, ju = ve(Kn, Wn, 26, ov, 12, 1), s = 0, Ce = 0; Ce < fo.length; Ce++) - for (ye = fo[Ce] + p, ++ju[ye]; ye > 0; ) - ye % 2 > 0 && (s += ju[ye + 1]), ye = (ye - 1) / 2 | 0, ++ju[ye]; - for (be = ve(Fz, Me, 156, I.length * 2, 0, 1), U = 0; U < I.length; U++) - be[2 * U] = new W1(I[U], I[U].e, I[U].b, (e0(), cb)), be[2 * U + 1] = new W1(I[U], I[U].b, I[U].e, ub); - for (ah(be, 0, be.length, wf), pc = 0, te = 0; te < be.length; te++) - switch (be[te].d.e) { - case 0: - ++pc; - break; - case 1: - --pc, s += pc; - } - for (Ns = ve(Fz, Me, 156, I.length * 2, 0, 1), ue = 0; ue < I.length; ue++) - Ns[2 * ue] = new W1(I[ue], I[ue].f, I[ue].c, (e0(), cb)), Ns[2 * ue + 1] = new W1(I[ue], I[ue].c, I[ue].f, ub); - for (ah(Ns, 0, Ns.length, wf), pc = 0, R = 0; R < Ns.length; R++) - switch (Ns[R].d.e) { - case 0: - ++pc; - break; - case 1: - --pc, s += pc; - } - return s; - } - function Ee() { - Ee = c; - var e, t; - fB = new nt("de.cau.cs.kieler.animate", (yn(), yn(), ii)), new nt("de.cau.cs.kieler.minAnimTime", gt(400)), new nt("de.cau.cs.kieler.maxAnimTime", gt(4e3)), new nt("de.cau.cs.kieler.animTimeFactor", gt(100)), Yg = new nt("de.cau.cs.kieler.additionalPortSpace", null), $d = new nt("de.cau.cs.kieler.commentBox", Rn), new Zn("de.cau.cs.kieler.diagramType"), da = new nt("de.cau.cs.kieler.edgeLabelPlacement", (ys(), W2)), Rx = new nt("de.cau.cs.kieler.edgeType", (P0(), Z2)), vB = new Zn("de.cau.cs.kieler.fontName"), gB = new nt("de.cau.cs.kieler.fontSize", gt(0)), qg = new nt("de.cau.cs.kieler.hypernode", Rn), Un = new nt("de.cau.cs.kieler.junctionPoints", new Ci()), new nt("de.cau.cs.kieler.layoutAncestors", Rn), Vg = new nt("de.cau.cs.kieler.margins", new e1()), Yd = new $l("de.cau.cs.kieler.minHeight", new Ut(0), new Ut(0)), Fd = new $l("de.cau.cs.kieler.minWidth", new Ut(0), new Ut(0)), Wg = new nt("de.cau.cs.kieler.noLayout", Rn), ul = new Zn("de.cau.cs.kieler.offset"), wu = new Zn("de.cau.cs.kieler.klay.layered.portAnchor"), mu = new Zn("de.cau.cs.kieler.portIndex"), Kg = new nt("de.cau.cs.kieler.portSide", (we(), cr)), new nt("de.cau.cs.kieler.progressBar", Rn), new nt("de.cau.cs.kieler.resetConfig", ii), new nt("de.cau.cs.kieler.scaleFactor", new Ut(1)), Jo = new nt("de.cau.cs.kieler.thickness", new Ut(1)), new nt("de.cau.cs.kieler.zoomToFit", Rn), Ox = new Zn("de.cau.cs.kieler.algorithm"), co = new nt("de.cau.cs.kieler.alignment", (Ko(), V2)), hB = new nt("de.cau.cs.kieler.aspectRatio", new Ut(0)), Q2 = new Zn("de.cau.cs.kieler.bendPoints"), Ax = new nt("de.cau.cs.kieler.borderSpacing", new Ut(-1)), Fg = new nt(u8, Rn), Do = new nt("de.cau.cs.kieler.direction", ($n(), Po)), of = new nt("de.cau.cs.kieler.edgeRouting", (fu(), K2)), dB = new nt("de.cau.cs.kieler.expandNodes", Rn), Bx = new nt("de.cau.cs.kieler.hierarchyHandling", (v0(), X2)), bB = new nt("de.cau.cs.kieler.interactive", Rn), wh = new $l("de.cau.cs.kieler.labelSpacing", new Ut(3), new Ut(0)), zx = new nt("de.cau.cs.kieler.layoutHierarchy", Rn), ia = new nt("de.cau.cs.kieler.nodeLabelPlacement", (gu(), t = f(Hi(Ln), 11), new ti(t, f(xi(t, t.length), 11), 0))), dt = new nt("de.cau.cs.kieler.portConstraints", (zn(), ac)), Ug = new nt("de.cau.cs.kieler.portLabelPlacement", (th(), Qg)), _x = new $l("de.cau.cs.kieler.portSpacing", new Ut(-1), new Ut(0)), J2 = new nt("de.cau.cs.kieler.portAlignment", (Zu(), Ls)), tk = new nt("de.cau.cs.kieler.portAlignment.north", sf), nk = new nt("de.cau.cs.kieler.portAlignment.south", sf), rk = new nt("de.cau.cs.kieler.portAlignment.west", sf), ek = new nt("de.cau.cs.kieler.portAlignment.east", sf), mh = new Zn("de.cau.cs.kieler.position"), Gx = new Zn("de.cau.cs.kieler.priority"), new Zn(c8), ik = new nt("de.cau.cs.kieler.selfLoopInside", Rn), $x = new Zn("de.cau.cs.kieler.separateConnComp"), ic = new nt("de.cau.cs.kieler.sizeConstraint", (du(), e = f(Hi(qd), 11), new ti(e, f(xi(e, e.length), 11), 0))), Zg = new nt("de.cau.cs.kieler.sizeOptions", Yt((sh(), tb), re(ie(hk, 1), De, 139, 0, [ck]))), Yx = new $l("de.cau.cs.kieler.spacing", new Ut(-1), new Ut(0)), pB = new nt("de.cau.cs.kieler.layoutPartitions", Rn), Hx = new Zn("de.cau.cs.kieler.partition"); - } - function Wee(e, t, n, i) { - CR(); - var s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V; - if (!(!i && (e.n ? e.n : (Qt(), Qt(), $L)).R(new GD(t)))) { - if (f(tT.a, 18).kb(t)) { - if (!n.lc()) - throw new mo(g8 + t + tf + n + ")."); - j = f(f(tT.b, 57).cb(t), 79), I = n.lc().a, ce(e, j, I); - return; - } else if (f(eT.a, 18).kb(t)) - try { - if (!n.jc()) - throw new M7(); - j = f(f(eT.b, 57).cb(t), 79), q = gt($X((mn(), "" + n.jc().a))), ce(e, j, q); - return; - } catch (U) { - throw U = Ur(U), xe(U, 130) ? new mo("Invalid integer format for property '" + t + tf + n + ").") : Kr(U); - } - else if (f(Zx.a, 18).kb(t)) { - if (!n.ic()) - throw new mo(g8 + t + tf + n + ")."); - j = f(f(Zx.b, 57).cb(t), 79), q = (yn(), n.ic().a ? ii : Rn), ce(e, j, q); - return; - } else if (f(Jx.a, 18).kb(t)) { - if (!n.jc()) - throw new mo("Invalid float format for property '" + t + tf + n + ")."); - j = f(f(Jx.b, 57).cb(t), 79), q = new t7(n.jc().a), ce(e, j, q); - return; - } else if (f(Qx.a, 18).kb(t)) { - if (!n.lc()) - throw new mo(nx + t + tf + n + ")."); - S = n.lc().a, x = null; - try { - Gn((Ee(), Kg), t) ? x = (we(), f(Br((sI(), CB), S), 32)) : Gn(co, t) ? x = (Ko(), f(Br((gI(), tB), S), 103)) : Gn(Do, t) ? x = ($n(), f(Br((oI(), nB), S), 59)) : Gn(of, t) ? x = (fu(), f(Br((ZN(), oB), S), 122)) : Gn(Bx, t) ? x = (v0(), f(Br((_N(), lB), S), 166)) : Gn(J2, t) || Gn(ek, t) || Gn(tk, t) || Gn(nk, t) || Gn(rk, t) ? x = (Zu(), f(Br((uI(), mB), S), 100)) : Gn(dt, t) ? x = (zn(), f(Br((pI(), kB), S), 28)) : Gn(Ug, t) ? x = (th(), f(Br((HN(), SB), S), 149)) : Gn(Rx, t) ? x = (P0(), f(Br((bI(), uB), S), 133)) : Gn(da, t) ? x = (ys(), f(Br((KN(), iB), S), 107)) : Gn((zt(), pE), t) ? x = (U1(), f(Br((LN(), Lz), S), 193)) : Gn(kE, t) ? x = (a0(), f(Br((GN(), Nz), S), 173)) : Gn(Nh, t) ? x = (C0(), f(Br((PI(), AH), S), 115)) : Gn(vE, t) ? x = (og(), f(Br((JN(), eH), S), 194)) : Gn(Pp, t) ? x = (tg(), f(Br((DN(), _z), S), 192)) : Gn(jp, t) ? x = (Xc(), f(Br((TI(), pz), S), 109)) : Gn(EE, t) ? x = (E0(), f(Br((LI(), Zz), S), 141)) : Gn(Np, t) ? x = (jd(), f(Br((wI(), kz), S), 125)) : Gn(CE, t) ? x = (t0(), f(Br((PN(), mz), S), 175)) : Gn(Dp, t) ? x = (mg(), f(Br((_I(), BH), S), 124)) : Gn(mE, t) ? x = (Dg(), f(Br((iM(), HH), S), 110)) : Gn(Er, t) ? x = ($i(), f(Br((DI(), VH), S), 85)) : Gn(xE, t) ? x = (p0(), f(Br((dI(), KH), S), 153)) : Gn(rv, t) ? x = (lu(), f(Br((vI(), XH), S), 172)) : Gn(yE, t) && (x = (J1(), f(Br((eI(), GH), S), 174))); - } catch (U) { - throw U = Ur(U), xe(U, 54) ? new mo(nx + t + tf + n + ").") : Kr(U); - } - j = f(f(Qx.b, 57).cb(t), 79), ce(e, j, x); - return; - } else if (f(Xx.a, 18).kb(t)) { - if (!n.lc()) - throw new mo(nx + t + tf + n + ")."); - for (m = n.lc().a, R = null, p = R0(m, "[\\[\\]\\s,]+"), h = 0, v = p.length; h < v; ++h) - l = p[h], $v(Wc(l)) != 0 && (Gn((Ee(), ia), t) ? (!R && (R = (s = f(Hi(Ln), 11), new ti(s, f(xi(s, s.length), 11), 0))), hi(R, (gu(), f(Br((OI(), wB), l), 41)))) : Gn(ic, t) ? (!R && (R = (s = f(Hi(qd), 11), new ti(s, f(xi(s, s.length), 11), 0))), hi(R, (du(), f(Br((QN(), xB), l), 150)))) : Gn(Zg, t) ? (!R && (R = (s = f(Hi(hk), 11), new ti(s, f(xi(s, s.length), 11), 0))), hi(R, (sh(), f(Br((XN(), TB), l), 139)))) : Gn((zt(), bE), t) && (!R && (R = (s = f(Hi(Wk), 11), new ti(s, f(xi(s, s.length), 11), 0))), hi(R, (Pd(), f(Br((HI(), MH), l), 123))))); - j = f(f(Xx.b, 57).cb(t), 79), ce(e, j, R); - return; - } else if (f(ap.a, 18).kb(t)) { - if (!n.lc()) - throw new mo("Invalid _other_ format for property '" + t + tf + n + ")."); - if (Gn((Ee(), mh), t) || Gn(wu, t)) - try { - Y = new Yr(), eJ(Y, n.lc().a), j = f(f(ap.b, 57).cb(t), 79), ce(e, j, Y); - return; - } catch (U) { - throw U = Ur(U), xe(U, 29) ? new mo("Invalid KVector format for property '" + t + "' " + n + ".") : Kr(U); - } - else if (Gn(Q2, t) || Gn(Un, t)) - try { - V = new Ci(), PQ(V, n.lc().a), j = f(f(ap.b, 57).cb(t), 79), ce(e, j, V); - return; - } catch (U) { - throw U = Ur(U), xe(U, 29) ? new mo("Invalid KVectorChain format for property '" + t + "' " + n + ".") : Kr(U); - } - else if (Gn(Vg, t) || Gn(Yg, t)) - try { - L = new e1(), uJ(L, n.lc().a), j = f(f(ap.b, 57).cb(t), 79), ce(e, j, L); - return; - } catch (U) { - throw U = Ur(U), xe(U, 29) ? new mo("Invalid Margins format for property '" + t + "' " + n + ".") : Kr(U); - } - } else if (f(ZB.a, 18).kb(t)) - return; - throw new mo("Unsupported layout option '" + t + tf + n + ")."); - } - } - var z0 = "object", Dr = { 3: 1, 8: 1, 5: 1, 6: 1 }, BC = { 3: 1, 46: 1 }, Gs = { 3: 1, 54: 1, 46: 1 }, $s = "null", y2 = "anonymous", zC = "Unknown", UR = "function", yr = 2147483647, KR = { 181: 1, 3: 1, 54: 1, 46: 1 }, jg = 65536, Cs = 65535, ZR = { 3: 1, 54: 1, 29: 1, 46: 1 }, k2 = 'For input string: "', Ys = -2147483648, jr = { 56: 1 }, HC = { 23: 1, 145: 1, 185: 1 }, mi = { 3: 1, 5: 1 }, _C = "Invalid UTF8 sequence", XR = "fromIndex: ", zr = "java.lang", GC = "com.google.gwt.core.client", H0 = "com.google.gwt.core.client.impl", _0 = "java.io", $C = "java.nio.charset", YC = "javaemul.internal", To = "com.google.common.base", QR = "%s (%s) must not be negative", Me = { 3: 1, 5: 1, 6: 1 }, JR = "negative size: ", De = { 3: 1, 8: 1, 5: 1, 11: 1, 6: 1 }, G0 = { 68: 1, 136: 1, 3: 1, 23: 1, 17: 1 }, Id = { 108: 1, 35: 1 }, Re = "com.google.common.collect", E2 = { 108: 1, 35: 1, 96: 1 }, Ng = { 144: 1, 3: 1 }, ir = { 35: 1 }, fh = { 57: 1 }, wt = "java.util", Md = { 22: 1, 19: 1 }, di = { 22: 1, 19: 1, 18: 1 }, hh = { 22: 1, 19: 1, 20: 1 }, S2 = { 22: 1, 19: 1, 20: 1, 63: 1 }, dh = { 35: 1, 96: 1 }, FC = { 22: 1, 19: 1, 18: 1, 137: 1 }, Ig = { 21: 1 }, e8 = "AbstractMapEntry", qC = { 207: 1, 22: 1, 19: 1 }, VC = { 159: 1, 3: 1, 23: 1, 17: 1 }, WC = 1073741824, Ju = { 22: 1 }, UC = { 3: 1, 22: 1, 19: 1 }, vh = { 87: 1, 3: 1, 22: 1, 19: 1, 20: 1, 63: 1 }, gh = { 3: 1, 57: 1 }, bh = { 3: 1, 22: 1, 19: 1, 18: 1 }, yi = { 64: 1 }, KC = "arraySize", nl = "initialArraySize", ZC = { 64: 1, 188: 1, 3: 1, 23: 1, 17: 1 }, XC = "occurrences", Wn = { 52: 1, 3: 1, 5: 1 }, QC = { 205: 1, 3: 1, 23: 1, 17: 1 }, Mg = 1e-4, Ql = "com.google.gwt.json.client", Va = 4194303, ec = 1048575, Jl = 4194304, tc = 17592186044416, C2 = -17592186044416, t8 = `([{"' \r -`, n8 = `)]}"' \r -`, r8 = "The given string contains parts that cannot be parsed as numbers.", i8 = "de.cau.cs.kieler.core.math", JC = -17976931348623157e292, $0 = "de.cau.cs.kieler.core.properties", a8 = { 79: 1, 23: 1 }, o8 = "de.cau.cs.kieler.core.util", s8 = "de.cau.cs.kieler.kiml", Od = "LEFT", Ad = "RIGHT", Y0 = "CENTER", Fs = "de.cau.cs.kieler.kiml.options", ef = "UNDEFINED", Rd = "NONE", u8 = "de.cau.cs.kieler.debugMode", c8 = "de.cau.cs.kieler.randomSeed", Bd = "de.cau.cs.kieler.kiml.util.nodespacing", ex = "de.cau.cs.kieler.kiml.util.labelspacing", l8 = "portRatioOrPosition", f8 = "NodeMarginCalculator", tx = "bottom", h8 = { 286: 1, 121: 1, 3: 1, 5: 1 }, Og = "undefined", x2 = "text", d8 = "stacktrace", Ht = { 34: 1, 3: 1, 8: 1, 5: 1, 6: 1 }, T2 = "properties", L2 = "bendPoints", v8 = "junctionPoints", P2 = "width", D2 = "height", j2 = "padding", zd = "children", Ni = { 38: 1, 39: 1, 42: 1, 51: 1, 71: 1, 3: 1, 8: 1, 5: 1, 6: 1 }, N2 = "de.cau.cs.kieler.klay.gwt.client.layout", g8 = "Invalid boolean format for property '", tf = "' (", nx = "Invalid enum format for property '", rx = "de.cau.cs.kieler.klay.layered", b8 = "Layered layout", ki = 1 / 0, Hr = -1 / 0, Ag = "de.cau.cs.kieler.klay.layered.compaction.components", Hd = "de.cau.cs.kieler.klay.layered.compaction.oned", p8 = " instance has been finished already.", nf = "de.cau.cs.kieler.klay.layered.compaction.oned.algs", qs = "de.cau.cs.kieler.klay.layered.compaction.recthull", uo = { 68: 1 }, xs = "de.cau.cs.kieler.klay.layered.components", ix = { 3: 1, 5: 1, 22: 1, 13: 1, 19: 1, 20: 1, 63: 1 }, w8 = 1.600000023841858, pu = 1e-3, pn = { 31: 1 }, Rg = "de.cau.cs.kieler.klay.layered.compound", Yi = { 38: 1, 39: 1, 47: 1, 42: 1, 3: 1, 8: 1, 5: 1, 6: 1 }, Zr = "de.cau.cs.kieler.klay.layered.graph", m8 = "Port side is undefined", bt = "de.cau.cs.kieler.klay.layered.intermediate", y8 = "Big nodes pre-processing", k8 = 34028234663852886e22, E8 = { 38: 1, 39: 1, 42: 1, 346: 1, 71: 1, 3: 1, 8: 1, 5: 1, 6: 1 }, ax = "Node '", S8 = "' has its layer constraint set to FIRST or FIRST_SEPARATE, but has ", C8 = "at least one incoming edge. Connections between nodes with these ", ox = "layer constraints are not supported.", Zo = 17976931348623157e292, x8 = "Odd port side processing", F0 = { 250: 1, 3: 1, 5: 1 }, nc = 1e-8, Lo = "de.cau.cs.kieler.klay.layered.intermediate.compaction", Da = "de.cau.cs.kieler.klay.layered.intermediate.greedyswitch", Bg = { 227: 1, 3: 1, 5: 1 }, _d = "de.cau.cs.kieler.klay.layered.networksimplex", I2 = "INTERACTIVE", sx = "de.cau.cs.kieler.klay.layered.p1cycles", Xo = { 106: 1, 31: 1 }, q0 = "de.cau.cs.kieler.klay.layered.p2layers", T8 = "NETWORK_SIMPLEX", rc = "de.cau.cs.kieler.klay.layered.p3order", M2 = 5960464477539063e-23, ux = "Port type is undefined", cx = 0.30000001192092896, lx = 0.699999988079071, L8 = 0.8999999761581421, P8 = "de.cau.cs.kieler.klay.layered.p3order.constraints", zg = "de.cau.cs.kieler.klay.layered.p3order.counting", Hg = "de.cau.cs.kieler.klay.layered.p4nodes", D8 = { 625: 1, 3: 1, 5: 1, 6: 1 }, Qo = "de.cau.cs.kieler.klay.layered.p4nodes.bk", rl = "de.cau.cs.kieler.klay.layered.p5edges", il = "de.cau.cs.kieler.klay.layered.p5edges.splines", al = 1e-6, V0 = -1e-6, j8 = "The list of vectors may not be empty.", O2 = 0.09999999999999998, Vs = "de.cau.cs.kieler.klay.layered.properties", ol = "_gwt_modCount", N8 = { 3: 1, 22: 1, 19: 1, 20: 1, 63: 1 }, I8 = { 3: 1, 5: 1, 57: 1 }, M8 = { 3: 1, 5: 1, 22: 1, 19: 1, 50: 1, 18: 1 }, A2 = "delete", R2 = 15525485, fx = 16777216, hx = 16777215, O8 = { 3: 1, 5: 1, 22: 1, 19: 1, 20: 1, 63: 1 }, B2 = { 3: 1, 23: 1, 17: 1, 138: 1 }, w, W0, z2; - uK(), A(1, null, {}, d), w.t = function(t) { - return this === t; - }, w.u = function() { - return this.$c; - }, w.v = function() { - return au(this); - }, w.w = function() { - return wN(this); - }, w.toString = function() { - return this.w(); - }, A(46, 1, BC), w.bc = function() { - return this.f; - }, w.w = function() { - var t, n; - return t = a1(this.$c), n = this.bc(), n != null ? t + ": " + n : t; - }, A(54, 46, Gs), A(72, 54, Gs, As), A(164, 72, { 164: 1, 3: 1, 54: 1, 46: 1 }, iI), w.bc = function() { - return pZ(this), this.c; - }, w.cc = function() { - return He(this.b) === He(U0) ? null : this.b; - }; - var U0, dx; - A(642, 1, {}), A(356, 642, {}, b), w.dc = function(t, n) { - var i = {}, s = []; - t.__gwt$backingJsError = { fnStack: s }; - for (var l = arguments.callee.caller; l; ) { - var h = (Cd(), l.name || (l.name = tU(l.toString()))); - s.push(h); - var v = ":" + h, p = i[v]; - if (p) { - var m, S; - for (m = 0, S = p.length; m < S; m++) - if (p[m] === l) - return; - } - (p || (i[v] = [])).push(l), l = l.caller; - } - }, w.ec = function(t) { - var n, i, s, l, h; - for (s = (Cd(), h = t.__gwt$backingJsError, h && h.fnStack ? h.fnStack : []), i = s.length, l = ve(JH, Dr, 146, i, 0, 1), n = 0; n < i; n++) - l[n] = new ny(s[n], null, -1); - return l; - }, A(643, 642, {}), w.dc = function(t, n) { - function i(l) { - if (!("stack" in l)) - try { - throw l; - } catch { - } - return l; - } - var s; - typeof n == "string" ? s = i(new Error(n.replace(` -`, " "))) : n && typeof n == z0 && "stack" in n ? s = n : s = i(new Error()), t.__gwt$backingJsError = s; - }, w.fc = function(t, n, i, s) { - return new ny(n, t + "@" + s, i < 0 ? -1 : i); - }, w.ec = function(t) { - var n, i, s, l, h, v, p; - if (l = (Cd(), p = t.__gwt$backingJsError, p && p.stack ? p.stack.split(` -`) : []), h = ve(JH, Dr, 146, 0, 0, 1), n = 0, s = l.length, s == 0) - return h; - for (v = NR(this, l[0]), zo(v.d, y2) || (h[n++] = v), i = 1; i < s; i++) - h[n++] = NR(this, l[i]); - return h; - }, A(357, 643, {}, nP), w.fc = function(t, n, i, s) { - return new ny(n, t, -1); - }; - var A8, R8, B8; - A(181, 54, KR), A(351, 181, KR, UY), A(288, 1, {}, m3), w.Oc = function(t) { - var n; - return n = new m3(), n.g = 4, t > 1 ? n.c = CN(this, t - 1) : n.c = this, n; - }, w.Pc = function() { - return Al(this), this.b; - }, w.Qc = function() { - return a1(this); - }, w.Rc = function() { - return iD(this); - }, w.Sc = function() { - return (this.g & 4) != 0; - }, w.Tc = function() { - return (this.g & 1) != 0; - }, w.w = function() { - return (this.g & 2 ? "interface " : this.g & 1 ? "" : "class ") + (Al(this), this.n); - }, w.g = 0, A(119, 72, { 3: 1, 119: 1, 54: 1, 46: 1 }, v7), A(29, 72, ZR, ed, tn), A(95, 72, Gs, G5, Ho), A(231, 1, { 3: 1, 231: 1 }); - var vx; - A(24, 231, { 3: 1, 23: 1, 24: 1, 231: 1 }, D5), w.F = function(t) { - return IF(this, f(t, 24)); - }, w.t = function(t) { - return xe(t, 24) && f(t, 24).a == this.a; - }, w.v = function() { - return this.a; - }, w.w = function() { - return o1(this.a); - }, w.a = 0, B8 = { 3: 1, 345: 1, 23: 1, 2: 1 }, A(350, 1, jr, Kh), w.$b = function(t, n) { - return oW(qf(t), qf(n)); - }, A(257, 95, Gs, lF), A(145, 1, { 23: 1, 145: 1 }), w.F = function(t) { - return NF(this, f(t, 145)); - }, w.t = function(t) { - var n; - return t === this ? !0 : xe(t, 145) ? (n = f(t, 145), zo(this.a, n.a)) : !1; - }, w.v = function() { - return Wy(this.a); - }, w.w = function() { - return this.a; - }, A(358, 29, ZR, Bq), A(256, 29, { 3: 1, 54: 1, 29: 1, 46: 1, 256: 1 }, Rq), A(185, 145, HC), A(289, 185, HC, fF), w.Zc = function(t, n, i) { - var s, l; - for (s = ve(o_, mi, 26, i, 12, 1), l = 0; l < i; ++l) - s[l] = t[n + l] & 255 & Cs; - return s; - }, A(355, 185, HC, jF), w.Zc = function(t, n, i) { - var s, l, h, v, p, m, S, x; - for (h = 0, S = 0; S < i; ) { - if (++h, l = t[n + S], (l & 192) == 128) - throw new tn(_C); - if (!(l & 128)) - ++S; - else if ((l & 224) == 192) - S += 2; - else if ((l & 240) == 224) - S += 3; - else if ((l & 248) == 240) - S += 4; - else - throw new tn(_C); - if (S > i) - throw new Ho(_C); - } - for (v = ve(o_, mi, 26, h, 12, 1), x = 0, p = 0, m = 0; m < i; ) { - for (l = t[n + m++], l & 128 ? (l & 224) == 192 ? (p = 2, l &= 31) : (l & 240) == 224 ? (p = 3, l &= 15) : (l & 248) == 240 ? (p = 4, l &= 7) : (l & 252) == 248 && (p = 5, l &= 3) : (p = 1, l &= 127); --p > 0; ) { - if (s = t[n + m++], (s & 192) != 128) - throw new tn("Invalid UTF8 sequence at " + (n + m - 1) + ", byte=" + (s >>> 0).toString(16)); - l = l << 6 | s & 63; - } - x += _K(l, v, x); - } - return v; - }; - var Ze = G(zr, "Object", 1), Uee = G(zr, "Throwable", 46); - G(zr, "Exception", 54), G(zr, "RuntimeException", 72), G(GC, "JavaScriptException", 164), G(H0, "StackTraceCreator/Collector", 642), G(H0, "StackTraceCreator/CollectorLegacy", 356), G(H0, "StackTraceCreator/CollectorModern", 643), G(H0, "StackTraceCreator/CollectorModernNoSourceMap", 357), G(_0, "IOException", 181), G(_0, "UnsupportedEncodingException", 351), G(zr, "Class", 288), G(zr, "ClassCastException", 119), G(zr, "IllegalArgumentException", 29), G(zr, "IndexOutOfBoundsException", 95), G(zr, "Number", 231); - var H2 = G(zr, "Integer", 24), _2 = G(zr, "String", 2); - G(zr, "String/1", 350), G(zr, "StringIndexOutOfBoundsException", 257), G($C, "Charset", 145), G($C, "IllegalCharsetNameException", 358), G($C, "UnsupportedCharsetException", 256), G(YC, "EmulatedCharset", 185), G(YC, "EmulatedCharset/LatinCharset", 289), G(YC, "EmulatedCharset/UtfCharset", 355), A(669, 1, { 3: 1 }), G(To, "Optional", 669), A(601, 669, { 3: 1 }, g), w.t = function(t) { - return t === this; - }, w.v = function() { - return 2040732332; - }, w.w = function() { - return "Optional.absent()"; - }, w.A = function(t) { - return vt(t), Pv(), G2; - }; - var G2; - G(To, "Absent", 601); - var Kee = B1(To, "Function"); - A(208, 1, {}, n1), w.C = function(t) { - return Wj(t); - }, G(To, "Joiner", 208), A(363, 208, {}, kj), w.C = function(t) { - return C1(this, t); - }, G(To, "Joiner/1", 363), A(362, 1, {}, G9), G(To, "Joiner/MapJoiner", 362); - var Zee = B1(To, "Predicate"), z8; - A(244, 1, { 68: 1, 244: 1, 3: 1 }, pP), w.D = function(t) { - var n; - for (n = 0; n < this.a.a.length; n++) - if (!f(Oj(this.a, n), 68).D(t)) - return !1; - return !0; - }, w.t = function(t) { - var n; - return xe(t, 244) ? (n = f(t, 244), mA(this.a, n.a)) : !1; - }, w.v = function() { - return EM(this.a) + 306654252; - }, w.w = function() { - return "Predicates.and(" + MS((d1(), z8), new Pf(this.a)) + ")"; - }, G(To, "Predicates/AndPredicate", 244), A(246, 1, { 68: 1, 246: 1, 3: 1 }, bD), w.D = function(t) { - try { - return this.a.kb(t); - } catch (n) { - if (n = Ur(n), xe(n, 76)) - return !1; - if (xe(n, 119)) - return !1; - throw Kr(n); - } - }, w.t = function(t) { - var n; - return xe(t, 246) ? (n = f(t, 246), this.a.t(n.a)) : !1; - }, w.v = function() { - return this.a.v(); - }, w.w = function() { - return "Predicates.in(" + this.a + ")"; - }, G(To, "Predicates/InPredicate", 246), A(245, 1, { 68: 1, 245: 1, 3: 1 }, wP), w.D = function(t) { - return xo(this.a, t); - }, w.t = function(t) { - var n; - return xe(t, 245) ? (n = f(t, 245), xo(this.a, n.a)) : !1; - }, w.v = function() { - return Uo(this.a); - }, w.w = function() { - return "Predicates.equalTo(" + this.a + ")"; - }, G(To, "Predicates/IsEqualToPredicate", 245), A(17, 1, { 3: 1, 23: 1, 17: 1 }), w.F = function(t) { - return XY(this, f(t, 17)); - }, w.t = function(t) { - return this === t; - }, w.v = function() { - return au(this); - }, w.w = function() { - return P1(this); - }, w.e = 0; - var an = G(zr, "Enum", 17); - A(136, 17, G0); - var H8, _8, gx, G8, K0 = At(To, "Predicates/ObjectPredicate", 136, an, PV); - A(591, 136, G0, rj), w.D = function(t) { - return !0; - }, w.w = function() { - return "Predicates.alwaysTrue()"; - }, At(To, "Predicates/ObjectPredicate/1", 591, K0, null), A(592, 136, G0, ij), w.D = function(t) { - return !1; - }, w.w = function() { - return "Predicates.alwaysFalse()"; - }, At(To, "Predicates/ObjectPredicate/2", 592, K0, null), A(593, 136, G0, E9), w.D = function(t) { - return t == null; - }, w.w = function() { - return "Predicates.isNull()"; - }, At(To, "Predicates/ObjectPredicate/3", 593, K0, null), A(594, 136, G0, N9), w.D = function(t) { - return t != null; - }, w.w = function() { - return "Predicates.notNull()"; - }, At(To, "Predicates/ObjectPredicate/4", 594, K0, null), A(177, 669, { 177: 1, 3: 1 }, Kb), w.t = function(t) { - var n; - return xe(t, 177) ? (n = f(t, 177), xo(this.a, n.a)) : !1; - }, w.v = function() { - return 1502476572 + Uo(this.a); - }, w.w = function() { - return "Optional.of(" + this.a + ")"; - }, w.A = function(t) { - return new Kb(oy(t.B(this.a), "the Function passed to Optional.transform() must not return null.")); - }, G(To, "Present", 177), A(108, 1, Id), w.I = function() { - RY(); - }, G(Re, "UnmodifiableIterator", 108), A(651, 108, E2), w.J = function(t) { - throw new Fn(); - }, w.O = function(t) { - throw new Fn(); - }, G(Re, "UnmodifiableListIterator", 651), A(378, 651, E2), w.G = function() { - return this.b < this.c; - }, w.K = function() { - return this.b > 0; - }, w.H = function() { - if (this.b >= this.c) - throw new sa(); - return aD(this, this.b++); - }, w.L = function() { - return this.b; - }, w.M = function() { - if (this.b <= 0) - throw new sa(); - return aD(this, --this.b); - }, w.N = function() { - return this.b - 1; - }, w.b = 0, w.c = 0, G(Re, "AbstractIndexedListIterator", 378), A(428, 108, Id), w.G = function() { - return qu(this); - }, w.H = function() { - return ql(this); - }, w.d = 1, G(Re, "AbstractIterator", 428), A(653, 1, { 144: 1 }), w.P = function() { - var t; - return t = this.f, t || (this.f = this.S()); - }, w.T = function() { - return new Uw(this.P()); - }, w.t = function(t) { - return w3(this, t); - }, w.v = function() { - return this.P().v(); - }, w.V = function() { - return this.Y() == 0; - }, w.W = function() { - return qm(this); - }, w.w = function() { - return this.P().w(); - }, G(Re, "AbstractMultimap", 653), A(294, 653, Ng), w.Q = function() { - M3(this); - }, w.R = function(t) { - return Qf(this.b, t); - }, w.S = function() { - return new Kw(this, this.b); - }, w.T = function() { - return new A9(this, this.b); - }, w.$ = function() { - return mK(this.Z()); - }, w.U = function(t) { - return Pa(this, t); - }, w.X = function(t) { - return o2(this, t); - }, w.Y = function() { - return this.c; - }, w.c = 0, G(Re, "AbstractMapBasedMultimap", 294), A(600, 294, Ng), w.Z = function() { - return new ji(this.a); - }, w.$ = function() { - return dr(), dr(), _g; - }, w.U = function(t) { - return f(Pa(this, t), 20); - }, w.X = function(t) { - return f(o2(this, t), 20); - }, w.P = function() { - var t; - return t = this.f, t || (this.f = new Kw(this, this.b)); - }, w.t = function(t) { - return w3(this, t); - }, G(Re, "AbstractListMultimap", 600), A(388, 1, ir), w.G = function() { - return this.b.b || this.d.G(); - }, w.H = function() { - var t; - return this.d.G() || (t = Sd(this.b), t.yb(), this.a = f(t.zb(), 19), this.d = this.a.mb()), this.d.H(); - }, w.I = function() { - this.d.I(), this.a.V() && q4(this.b), --this.c.c; - }, G(Re, "AbstractMapBasedMultimap/Itr", 388), A(389, 388, ir, $I), G(Re, "AbstractMapBasedMultimap/1", 389), A(638, 1, fh), w.Q = function() { - this.bb().Q(); - }, w._ = function(t) { - return Zy(this, t); - }, w.R = function(t) { - return !!V3(this, t, !1); - }, w.ab = function(t) { - var n, i, s; - for (i = this.bb().mb(); i.G(); ) - if (n = f(i.H(), 21), s = n.zb(), He(t) === He(s) || t != null && xo(t, s)) - return !0; - return !1; - }, w.t = function(t) { - return ZO(this, t); - }, w.cb = function(t) { - return ci(V3(this, t, !1)); - }, w.v = function() { - return v3(this.bb()); - }, w.V = function() { - return this.Y() == 0; - }, w.W = function() { - return new Wt(this); - }, w.db = function(t, n) { - throw new jf("Put not supported on this map"); - }, w.eb = function(t) { - return ci(V3(this, t, !0)); - }, w.Y = function() { - return this.bb().Y(); - }, w.w = function() { - return $O(this); - }, w.fb = function() { - return new Ev(this); - }, G(wt, "AbstractMap", 638), A(654, 638, fh), w.bb = function() { - return f4(this); - }, w.W = function() { - var t; - return t = this.d, t || (this.d = new Uw(this)); - }, w.fb = function() { - return Zj(this); - }, G(Re, "Maps/ViewCachingAbstractMap", 654), A(262, 654, fh, Kw), w.cb = function(t) { - return RW(this, t); - }, w.eb = function(t) { - return LU(this, t); - }, w.Q = function() { - this.a == this.b.b ? M3(this.b) : $1(new j4(this)); - }, w.R = function(t) { - return bO(this.a, t); - }, w.hb = function() { - return new mP(this); - }, w.gb = function() { - return this.hb(); - }, w.t = function(t) { - return this === t || ZO(this.a, t); - }, w.v = function() { - return v3(new iu(this.a)); - }, w.W = function() { - return qm(this.b); - }, w.Y = function() { - return h1(this.a); - }, w.w = function() { - return $O(this.a); - }, G(Re, "AbstractMapBasedMultimap/AsMap", 262), A(640, 1, Md), w.ib = function(t) { - return nW(); - }, w.jb = function(t) { - return na(this, t); - }, w.Q = function() { - q1(this); - }, w.kb = function(t) { - return hg(this, t, !1); - }, w.lb = function(t) { - return Wu(this, t); - }, w.V = function() { - return this.Y() == 0; - }, w.nb = function(t) { - return hg(this, t, !0); - }, w.ob = function() { - return this.pb(ve(Ze, Me, 1, this.Y(), 4, 1)); - }, w.pb = function(t) { - return Ky(this, t); - }, w.w = function() { - return Qu(this); - }, G(wt, "AbstractCollection", 640), A(641, 640, di), w.t = function(t) { - return JM(this, t); - }, w.v = function() { - return v3(this); - }, G(wt, "AbstractSet", 641), A(649, 641, di), G(Re, "Sets/ImprovedAbstractSet", 649), A(655, 649, di), w.Q = function() { - this.qb().Q(); - }, w.kb = function(t) { - return nO(this, t); - }, w.V = function() { - return this.qb().V(); - }, w.nb = function(t) { - var n; - return this.kb(t) ? (n = f(t, 21), this.qb().W().nb(n.yb())) : !1; - }, w.Y = function() { - return this.qb().Y(); - }, G(Re, "Maps/EntrySet", 655), A(387, 655, di, mP), w.kb = function(t) { - return pO(new iu(this.a.a), t); - }, w.mb = function() { - return new j4(this.a); - }, w.qb = function() { - return this.a; - }, w.nb = function(t) { - var n; - return pO(new iu(this.a.a), t) ? (n = f(t, 21), dW(this.a.b, n.yb()), !0) : !1; - }, G(Re, "AbstractMapBasedMultimap/AsMap/AsMapEntries", 387), A(299, 1, ir, j4), w.H = function() { - var t; - return t = Sd(this.b), this.a = f(t.zb(), 19), MW(this.c, t); - }, w.G = function() { - return this.b.b; - }, w.I = function() { - q4(this.b), this.c.b.c -= this.a.Y(), this.a.Q(); - }, G(Re, "AbstractMapBasedMultimap/AsMap/AsMapIterator", 299), A(260, 649, di, Uw), w.Q = function() { - this.b.Q(); - }, w.kb = function(t) { - return this.b.R(t); - }, w.V = function() { - return this.b.V(); - }, w.mb = function() { - return On(), Am(this.b.bb().mb(), (k1(), $2)); - }, w.nb = function(t) { - return this.b.R(t) ? (this.b.eb(t), !0) : !1; - }, w.Y = function() { - return this.b.Y(); - }, G(Re, "Maps/KeySet", 260), A(386, 260, di, A9), w.Q = function() { - var t; - $1((t = this.b.bb().mb(), new sS(this, t))); - }, w.lb = function(t) { - return this.b.W().lb(t); - }, w.t = function(t) { - return this === t || this.b.W().t(t); - }, w.v = function() { - return this.b.W().v(); - }, w.mb = function() { - var t; - return t = this.b.bb().mb(), new sS(this, t); - }, w.nb = function(t) { - var n, i; - return i = 0, n = f(this.b.eb(t), 19), n && (i = n.Y(), n.Q(), this.a.c -= i), i > 0; - }, G(Re, "AbstractMapBasedMultimap/KeySet", 386), A(300, 1, ir, sS), w.G = function() { - return this.c.G(); - }, w.H = function() { - return this.a = f(this.c.H(), 21), this.a.yb(); - }, w.I = function() { - var t; - Wl(!!this.a), t = f(this.a.zb(), 19), this.c.I(), this.b.a.c -= t.Y(), t.Q(); - }, G(Re, "AbstractMapBasedMultimap/KeySet/1", 300), A(216, 640, Md, ig), w.ib = function(t) { - return $W(this, t); - }, w.jb = function(t) { - return FU(this, t); - }, w.Q = function() { - qV(this); - }, w.kb = function(t) { - return La(this), this.d.kb(t); - }, w.lb = function(t) { - return La(this), this.d.lb(t); - }, w.t = function(t) { - return oV(this, t); - }, w.v = function() { - return La(this), this.d.v(); - }, w.mb = function() { - return La(this), new t4(this); - }, w.nb = function(t) { - return iW(this, t); - }, w.Y = function() { - return La(this), this.d.Y(); - }, w.w = function() { - return La(this), ha(this.d); - }, G(Re, "AbstractMapBasedMultimap/WrappedCollection", 216); - var Xee = B1(wt, "List"); - A(297, 216, hh, d4), w.rb = function(t, n) { - var i; - La(this), i = this.d.V(), f(this.d, 20).rb(t, n), ++this.a.c, i && I1(this); - }, w.sb = function(t) { - return La(this), f(this.d, 20).sb(t); - }, w.tb = function() { - return La(this), new m9(this); - }, w.ub = function(t) { - return La(this), new cN(this, t); - }, w.vb = function(t) { - var n; - return La(this), n = f(this.d, 20).vb(t), --this.a.c, Y1(this), n; - }, w.wb = function(t, n) { - return La(this), f(this.d, 20).wb(t, n); - }, w.xb = function(t, n) { - return La(this), R4(this.a, this.e, f(this.d, 20).xb(t, n), this.b ? this.b : this); - }, G(Re, "AbstractMapBasedMultimap/WrappedList", 297), A(385, 297, S2, Z9), G(Re, "AbstractMapBasedMultimap/RandomAccessWrappedList", 385), A(189, 1, ir, t4), w.G = function() { - return Wf(this), this.b.G(); - }, w.H = function() { - return Wf(this), this.b.H(); - }, w.I = function() { - this.b.I(), --this.d.f.c, Y1(this.d); - }, G(Re, "AbstractMapBasedMultimap/WrappedCollection/WrappedIterator", 189), A(298, 189, dh, m9, cN), w.J = function(t) { - var n; - n = TF(this.a) == 0, (Wf(this), f(this.b, 96)).J(t), ++this.a.a.c, n && I1(this.a); - }, w.K = function() { - return (Wf(this), f(this.b, 96)).K(); - }, w.L = function() { - return (Wf(this), f(this.b, 96)).L(); - }, w.M = function() { - return (Wf(this), f(this.b, 96)).M(); - }, w.N = function() { - return (Wf(this), f(this.b, 96)).N(); - }, w.O = function(t) { - (Wf(this), f(this.b, 96)).O(t); - }, G(Re, "AbstractMapBasedMultimap/WrappedList/WrappedListIterator", 298), A(295, 216, di, GS), G(Re, "AbstractMapBasedMultimap/WrappedSet", 295), A(296, 216, FC, $S), G(Re, "AbstractMapBasedMultimap/WrappedSortedSet", 296), A(668, 1, Ig), w.t = function(t) { - var n; - return xe(t, 21) ? (n = f(t, 21), Gl(this.yb(), n.yb()) && Gl(this.zb(), n.zb())) : !1; - }, w.v = function() { - var t, n; - return t = this.yb(), n = this.zb(), (t == null ? 0 : Uo(t)) ^ (n == null ? 0 : Uo(n)); - }, w.Ab = function(t) { - throw new Fn(); - }, w.w = function() { - return this.yb() + "=" + this.zb(); - }, G(Re, e8, 668), A(390, 640, Md, yP), w.Q = function() { - M3(this.a); - }, w.kb = function(t) { - return AU(this.a, t); - }, w.mb = function() { - return new $I(this.a); - }, w.Y = function() { - return this.a.c; - }, G(Re, "AbstractMultimap/Values", 390), A(656, 640, qC), w.ib = function(t) { - return this.Bb(t, 1), !0; - }, w.Bb = function(t, n) { - throw new Fn(); - }, w.jb = function(t) { - return dZ(this, t); - }, w.Q = function() { - $1(this.Eb()); - }, w.kb = function(t) { - return this.Cb(t) > 0; - }, w.Cb = function(t) { - var n, i; - for (i = Uf(this).mb(); i.G(); ) - if (n = f(i.H(), 83), Gl(n.Zb(), t)) - return n.Yb(); - return 0; - }, w.gb = function() { - return new kP(this); - }, w.bb = function() { - return Uf(this); - }, w.t = function(t) { - return tX(this, t); - }, w.v = function() { - return Uf(this).v(); - }, w.V = function() { - return Uf(this).V(); - }, w.mb = function() { - return Df(), new SD(this, Uf(this).mb()); - }, w.nb = function(t) { - return this.Fb(t, 1) > 0; - }, w.Fb = function(t, n) { - throw new Fn(); - }, w.Gb = function(t, n) { - var i, s; - return Df(), fi(n, "count"), i = this.Cb(t), s = n - i, s > 0 ? this.Bb(t, s) : s < 0 && this.Fb(t, -s), i; - }, w.Hb = function(t, n, i) { - return zU(this, t, n, i); - }, w.Y = function() { - return yU(this); - }, w.w = function() { - return ha(Uf(this)); - }, G(Re, "AbstractMultiset", 656), A(657, 649, di), w.Q = function() { - this.Ib().Q(); - }, w.kb = function(t) { - var n, i; - return xe(t, 83) ? (i = f(t, 83), i.Yb() <= 0 ? !1 : (n = this.Ib().Cb(i.Zb()), n == i.Yb())) : !1; - }, w.nb = function(t) { - var n, i, s, l; - return xe(t, 83) && (i = f(t, 83), n = i.Zb(), s = i.Yb(), s != 0) ? (l = this.Ib(), l.Hb(n, s, 0)) : !1; - }, G(Re, "Multisets/EntrySet", 657), A(396, 657, di, kP), w.mb = function() { - return this.a.Eb(); - }, w.Ib = function() { - return this.a; - }, w.Y = function() { - return this.a.Db(); - }, G(Re, "AbstractMultiset/EntrySet", 396), A(384, 294, Ng), w.Z = function() { - return new Ww(Ty(this.a)); - }, w.$ = function() { - return Ea(), Kf(), Gd; - }, w.U = function(t) { - return f(Pa(this, t), 18); - }, w.X = function(t) { - return f(o2(this, t), 18); - }, w.P = function() { - var t; - return t = this.f, t || (this.f = new Kw(this, this.b)); - }, w.t = function(t) { - return w3(this, t); - }, G(Re, "AbstractSetMultimap", 384), A(342, 656, qC), G(Re, "AbstractSortedMultiset", 342), A(280, 600, Ng, Im), w.a = 0, G(Re, "ArrayListMultimap", 280), A(159, 17, VC); - var Z0, Wa, bx = At(Re, "BoundType", 159, an, $q); - A(623, 159, VC, i9), At(Re, "BoundType/1", 623, bx, null), A(624, 159, VC, g9), At(Re, "BoundType/2", 624, bx, null); - var px; - A(234, 1, Ju), w.w = function() { - return tW(this.c.mb()); - }, G(Re, "FluentIterable", 234), A(170, 234, Ju, Gf), w.mb = function() { - return Dt(this); - }, G(Re, "FluentIterable/2", 170), A(664, 1, {}), w.w = function() { - return ha(xa(this.a.d).b); - }, G(Re, "ForwardingObject", 664), A(665, 664, Md), w.ib = function(t) { - return xa(this.a.d), w7(); - }, w.jb = function(t) { - return xa(this.a.d), m7(); - }, w.Q = function() { - xa(this.a.d), y7(); - }, w.kb = function(t) { - return bS(xa(this.a.d), t); - }, w.lb = function(t) { - return AD(xa(this.a.d), t); - }, w.V = function() { - return xa(this.a.d).b.V(); - }, w.mb = function() { - var t; - return t = xa(this.a.d).b.mb(), new M5(t); - }, w.nb = function(t) { - return xa(this.a.d), k7(); - }, w.Y = function() { - return xa(this.a.d).b.Y(); - }, w.ob = function() { - return dN(xa(this.a.d)); - }, w.pb = function(t) { - return L4(xa(this.a.d), t); - }, G(Re, "ForwardingCollection", 665), A(660, 640, UC), w.mb = function() { - return this.Kb(); - }, w.ib = function(t) { - return IY(); - }, w.jb = function(t) { - return MY(); - }, w.Q = function() { - OY(); - }, w.kb = function(t) { - return t != null && hg(this, t, !1); - }, w.Jb = function() { - switch (this.Y()) { - case 0: - return dr(), dr(), _g; - case 1: - return dr(), new cu(this.Kb().H()); - default: - return new Fj(this, this.ob()); - } - }, w.nb = function(t) { - return AY(); - }, G(Re, "ImmutableCollection", 660), A(316, 660, UC, K5), w.mb = function() { - return Ed(this.a.mb()); - }, w.kb = function(t) { - return t != null && this.a.kb(t); - }, w.lb = function(t) { - return this.a.lb(t); - }, w.V = function() { - return this.a.V(); - }, w.Kb = function() { - return Ed(this.a.mb()); - }, w.Y = function() { - return this.a.Y(); - }, w.ob = function() { - return this.a.ob(); - }, w.pb = function(t) { - return this.a.pb(t); - }, w.w = function() { - return ha(this.a); - }, G(Re, "ForwardingImmutableCollection", 316), A(87, 660, vh), w.mb = function() { - return this.Kb(); - }, w.tb = function() { - return this.Lb(0); - }, w.ub = function(t) { - return this.Lb(t); - }, w.xb = function(t, n) { - return this.Mb(t, n); - }, w.rb = function(t, n) { - throw new Fn(); - }, w.t = function(t) { - return sX(this, t); - }, w.v = function() { - return vU(this); - }, w.Kb = function() { - return this.Lb(0); - }, w.Lb = function(t) { - return OS(this, t); - }, w.vb = function(t) { - throw new Fn(); - }, w.wb = function(t, n) { - throw new Fn(); - }, w.Mb = function(t, n) { - var i; - return h0((i = new LD(this), new uy(i, t, n))); - }; - var _g; - G(Re, "ImmutableList", 87), A(667, 87, vh), w.mb = function() { - return Ed(this.Nb().mb()); - }, w.xb = function(t, n) { - return h0(this.Nb().xb(t, n)); - }, w.kb = function(t) { - return oj(this, t); - }, w.lb = function(t) { - return this.Nb().lb(t); - }, w.t = function(t) { - return this.Nb().t(t); - }, w.sb = function(t) { - return JD(this, t); - }, w.v = function() { - return this.Nb().v(); - }, w.V = function() { - return this.Nb().V(); - }, w.Kb = function() { - return Ed(this.Nb().mb()); - }, w.Y = function() { - return this.Nb().Y(); - }, w.Mb = function(t, n) { - return h0(this.Nb().xb(t, n)); - }, w.ob = function() { - return this.Nb().pb(ve(Ze, Me, 1, this.Nb().Y(), 4, 1)); - }, w.pb = function(t) { - return this.Nb().pb(t); - }, w.w = function() { - return ha(this.Nb()); - }, G(Re, "ForwardingImmutableList", 667), A(524, 1, gh), w.bb = function() { - return Bc(this); - }, w.W = function() { - return Gj(this); - }, w.fb = function() { - return this.Rb(); - }, w.Q = function() { - throw new Fn(); - }, w.R = function(t) { - return this.cb(t) != null; - }, w.ab = function(t) { - return this.Rb().kb(t); - }, w.Pb = function() { - return new T7(this); - }, w.Qb = function() { - return new L7(this); - }, w.t = function(t) { - return BU(this, t); - }, w.v = function() { - return Bc(this).v(); - }, w.V = function() { - return this.Y() == 0; - }, w.db = function(t, n) { - return BY(); - }, w.eb = function(t) { - throw new Fn(); - }, w.w = function() { - var t; - return On(), t = pd(zW(this.Y()), 123), qU(Y8, t, Bc(this).mb()), t.a += "}", t.a; - }, w.Rb = function() { - return this.g ? this.g : this.g = this.Qb(); - }, w.e = null, w.f = null, w.g = null, G(Re, "ImmutableMap", 524), A(320, 524, gh), w.R = function(t) { - return bO(this.d, t); - }, w.ab = function(t) { - return OD(this.d, t); - }, w.Ob = function() { - return S3(new EP(this)); - }, w.Pb = function() { - return S3(rN(this.d)); - }, w.Qb = function() { - return Ea(), new K5(aN(this.d)); - }, w.t = function(t) { - return dD(this.d, t); - }, w.cb = function(t) { - return t == null ? null : vg(this.d, t); - }, w.v = function() { - return this.d.c.v(); - }, w.V = function() { - return this.d.c.V(); - }, w.Y = function() { - return this.d.c.Y(); - }, w.w = function() { - return ha(this.d.c); - }, G(Re, "ForwardingImmutableMap", 320), A(666, 665, di), w.t = function(t) { - return t === this || hD(xa(this.a.d), t); - }, w.v = function() { - return xa(this.a.d).b.v(); - }, G(Re, "ForwardingSet", 666), A(523, 666, di, EP), w.kb = function(t) { - if (xe(t, 21) && f(t, 21).yb() == null) - return !1; - try { - return bS(xa(this.a.d), t); - } catch (n) { - if (n = Ur(n), xe(n, 119)) - return !1; - throw Kr(n); - } - }, w.pb = function(t) { - var n; - return n = L4(xa(this.a.d), t), xa(this.a.d).b.Y() < n.length && Ga(n, xa(this.a.d).b.Y(), null), n; - }, G(Re, "ForwardingImmutableMap/1", 523), A(663, 660, bh), w.mb = function() { - return this.Kb(); - }, w.t = function(t) { - return rA(this, t); - }, w.v = function() { - return aU(this); - }, G(Re, "ImmutableSet", 663), A(315, 663, bh), w.mb = function() { - return Ed(new Qh(this.a.b.mb())); - }, w.kb = function(t) { - return t != null && kF(this.a, t); - }, w.lb = function(t) { - return EF(this.a, t); - }, w.v = function() { - return this.a.b.v(); - }, w.V = function() { - return this.a.b.V(); - }, w.Kb = function() { - return Ed(new Qh(this.a.b.mb())); - }, w.Y = function() { - return this.a.b.Y(); - }, w.ob = function() { - return this.a.b.ob(); - }, w.pb = function(t) { - return SF(this.a, t); - }, w.w = function() { - return ha(this.a.b); - }, G(Re, "ForwardingImmutableSet", 315), A(178, 1, { 178: 1, 3: 1 }, j0), w.t = function(t) { - var n; - return xe(t, 178) ? (n = f(t, 178), this.a.t(n.a) && this.b == n.b && this.c == n.c && this.d == n.d && this.f == n.f && Gl(this.e, n.e) && Gl(this.g, n.g)) : !1; - }, w.v = function() { - return Ny(re(ie(Ze, 1), Me, 1, 4, [this.a, this.e, this.d, this.g, this.f])); - }, w.w = function() { - return pd(Hu(pd(Hu(pd(io(Hu(new ad(), this.a), ":"), this.d == (yo(), Z0) ? 91 : 40), this.b ? this.e : "-∞"), 44), this.c ? this.g : "∞"), this.f == Z0 ? 93 : 41).a; - }, w.b = !1, w.c = !1, G(Re, "GeneralRange", 178), A(215, 384, Ng, Rv), w.a = 2, G(Re, "HashMultimap", 215), A(661, 87, vh), w.kb = function(t) { - return this.Sb().kb(t); - }, w.V = function() { - return this.Sb().V(); - }, w.Y = function() { - return this.Sb().Y(); - }, G(Re, "ImmutableAsList", 661), A(275, 320, gh), w.Rb = function() { - return this.Ub(); - }, w.fb = function() { - return this.Ub(); - }, w.Ub = function() { - return Gj(this.Tb()); - }, G(Re, "ImmutableBiMap", 275), A(341, 668, { 3: 1, 21: 1 }, uS), w.yb = function() { - return this.a; - }, w.zb = function() { - return this.b; - }, w.Ab = function(t) { - throw new Fn(); - }, G(Re, "ImmutableEntry", 341), A(436, 315, bh, O7), G(Re, "ImmutableEnumSet", 436), A(379, 378, E2, Kj), G(Re, "ImmutableList/1", 379), A(266, 108, Id, Pw), w.G = function() { - return this.a.G(); - }, w.H = function() { - return f(this.a.H(), 21).yb(); - }, G(Re, "ImmutableMap/1", 266), A(670, 663, bh), w.mb = function() { - var t; - return t = Bc(this.a).Kb(), new Pw(t); - }, w.Jb = function() { - return new U5(this); - }, w.Kb = function() { - var t; - return (t = this.c, t || (this.c = new U5(this))).Kb(); - }, G(Re, "ImmutableSet/Indexed", 670), A(606, 670, bh, T7), w.mb = function() { - var t; - return t = Bc(this.a).Kb(), new Pw(t); - }, w.kb = function(t) { - return this.a.R(t); - }, w.Kb = function() { - var t; - return t = Bc(this.a).Kb(), new Pw(t); - }, w.Y = function() { - return this.a.Y(); - }, G(Re, "ImmutableMapKeySet", 606), A(604, 660, UC, L7), w.mb = function() { - return new Hm(this); - }, w.kb = function(t) { - return t != null && (_n(), _n(), SM(new Hm(this), (d1(), t == null ? (S4(), gx) : new wP(t))) != -1); - }, w.Jb = function() { - var t; - return t = _j(Bc(this.a)), new x9(this, t); - }, w.Kb = function() { - return new Hm(this); - }, w.Y = function() { - return this.a.Y(); - }, G(Re, "ImmutableMapValues", 604), A(282, 108, Id, Hm), w.G = function() { - return this.a.G(); - }, w.H = function() { - return f(this.a.H(), 21).zb(); - }, G(Re, "ImmutableMapValues/1", 282), A(605, 661, vh, x9), w.Sb = function() { - return this.a; - }, w.sb = function(t) { - return f(this.b.sb(t), 21).zb(); - }, G(Re, "ImmutableMapValues/2", 605), A(311, 661, vh, U5), w.Sb = function() { - return this.a; - }, w.sb = function(t) { - return Mq(this.a, t); - }, G(Re, "ImmutableSet/Indexed/1", 311), A(414, 234, Ju, h9), w.mb = function() { - return _S(this.a); - }, w.w = function() { - return Qu(this.a) + " (cycled)"; - }, G(Re, "Iterables/1", 414), A(105, 1, yi, T), w.B = function(t) { - return f(t, 22).mb(); - }, G(Re, "Iterables/12", 105), A(415, 234, Ju, Tj), w.mb = function() { - return vd(this); - }, G(Re, "Iterables/4", 415), A(416, 234, Ju, Lj), w.mb = function() { - return Go(this); - }, G(Re, "Iterables/5", 416); - var $8, wx; - A(424, 651, E2, P), w.G = function() { - return !1; - }, w.K = function() { - return !1; - }, w.H = function() { - throw new sa(); - }, w.L = function() { - return 0; - }, w.M = function() { - throw new sa(); - }, w.N = function() { - return -1; - }, G(Re, "Iterators/1", 424), A(264, 108, Id, Dw), w.G = function() { - return !this.a; - }, w.H = function() { - if (this.a) - throw new sa(); - return this.a = !0, this.b; - }, w.a = !1, G(Re, "Iterators/11", 264), A(425, 1, ir, N), w.G = function() { - return !1; - }, w.H = function() { - throw new sa(); - }, w.I = function() { - Wl(!1); - }, G(Re, "Iterators/2", 425), A(426, 108, Id, SP), w.G = function() { - return this.a.G(); - }, w.H = function() { - return this.a.H(); - }, G(Re, "Iterators/3", 426), A(427, 1, ir, sj), w.G = function() { - return this.a.G() || this.b.mb().G(); - }, w.H = function() { - return J4(this); - }, w.I = function() { - this.a.I(); - }, G(Re, "Iterators/4", 427), A(429, 428, Id, wD), G(Re, "Iterators/6", 429), A(261, 1, ir), w.G = function() { - return this.b.G(); - }, w.H = function() { - return zD(this); - }, w.I = function() { - this.b.I(); - }, G(Re, "TransformedIterator", 261), A(430, 261, ir, M9), w.Vb = function(t) { - return eD(this, t); - }, G(Re, "Iterators/7", 430), A(313, 1, ir), w.G = function() { - return xt(this); - }, w.H = function() { - return Et(this); - }, w.I = function() { - Wl(!!this.c), this.c.I(), this.c = null; - }, G(Re, "MultitransformedIterator", 313), A(90, 313, { 90: 1, 35: 1 }, _o), w.Wb = function(t) { - return f(t, 35); - }, G(Re, "Iterators/ConcatenatedIterator", 90), A(314, 313, ir, X5), w.Wb = function(t) { - return iU(f(t, 35)); - }, G(Re, "Iterators/ConcatenatedIterator/1", 314), A(329, 653, Ng, wS), w.U = function(t) { - return new Zw(this, t); - }, w.X = function(t) { - return B4(this, t); - }, w.Q = function() { - p4(this); - }, w.R = function(t) { - return lS(this, t); - }, w.S = function() { - return new pS(this); - }, w.T = function() { - return new CP(this); - }, w.V = function() { - return !this.a; - }, w.Y = function() { - return this.d; - }, w.c = 0, w.d = 0, G(Re, "LinkedListMultimap", 329), A(647, 640, hh), w.rb = function(t, n) { - throw new jf("Add not supported on this list"); - }, w.ib = function(t) { - return this.rb(this.Y(), t), !0; - }, w.Q = function() { - this.Xb(0, this.Y()); - }, w.t = function(t) { - return mA(this, t); - }, w.v = function() { - return EM(this); - }, w.mb = function() { - return new Pf(this); - }, w.tb = function() { - return this.ub(0); - }, w.ub = function(t) { - return new fn(this, t); - }, w.vb = function(t) { - throw new jf("Remove not supported on this list"); - }, w.Xb = function(t, n) { - var i, s; - for (s = this.ub(t), i = t; i < n; ++i) - s.H(), s.I(); - }, w.wb = function(t, n) { - throw new jf("Set not supported on this list"); - }, w.xb = function(t, n) { - return new uy(this, t, n); - }, w.d = 0, G(wt, "AbstractList", 647), A(648, 647, hh), w.rb = function(t, n) { - T1(this, t, n); - }, w.sb = function(t) { - return Td(this, t); - }, w.mb = function() { - return this.ub(0); - }, w.vb = function(t) { - return B3(this, t); - }, w.wb = function(t, n) { - var i, s; - i = this.ub(t); - try { - return s = i.H(), i.O(n), s; - } catch (l) { - throw l = Ur(l), xe(l, 74) ? new Ho("Can't set element " + t) : Kr(l); - } - }, G(wt, "AbstractSequentialList", 648), A(276, 648, hh, Zw), w.ub = function(t) { - return AS(this, t); - }, w.Y = function() { - var t; - return t = f(Kt(this.a.b, this.b), 126), t ? t.a : 0; - }, G(Re, "LinkedListMultimap/1", 276), A(330, 648, hh, x5), w.ub = function(t) { - return new RO(this.a, t); - }, w.Y = function() { - return this.a.d; - }, G(Re, "LinkedListMultimap/1EntriesImpl", 330), A(563, 649, di, CP), w.kb = function(t) { - return lS(this.a, t); - }, w.mb = function() { - return new YI(this.a); - }, w.nb = function(t) { - return !B4(this.a, t).a.V(); - }, w.Y = function() { - return h1(this.a.b); - }, G(Re, "LinkedListMultimap/1KeySetImpl", 563), A(562, 1, ir, YI), w.G = function() { - return VS(this), !!this.c; - }, w.H = function() { - VS(this), m1(this.c), this.a = this.c, vn(this.d, this.a.a); - do - this.c = this.c.b; - while (this.c && !vn(this.d, this.c.a)); - return this.a.a; - }, w.I = function() { - VS(this), Wl(!!this.a), $1(new by(this.e, this.a.a)), this.a = null, this.b = this.e.c; - }, w.b = 0, G(Re, "LinkedListMultimap/DistinctKeyIterator", 562), A(126, 1, { 126: 1 }, T4), w.a = 0, G(Re, "LinkedListMultimap/KeyList", 126), A(560, 668, Ig, mD), w.yb = function() { - return this.a; - }, w.zb = function() { - return this.f; - }, w.Ab = function(t) { - var n; - return n = this.f, this.f = t, n; - }, G(Re, "LinkedListMultimap/Node", 560), A(561, 1, dh, RO), w.J = function(t) { - f(t, 21), zY(); - }, w.H = function() { - return ON(this); - }, w.M = function() { - return AN(this); - }, w.O = function(t) { - f(t, 21), HY(); - }, w.G = function() { - return D1(this), !!this.c; - }, w.K = function() { - return D1(this), !!this.e; - }, w.L = function() { - return this.d; - }, w.N = function() { - return this.d - 1; - }, w.I = function() { - D1(this), Wl(!!this.a), this.a != this.c ? (this.e = this.a.d, --this.d) : this.c = this.a.b, fA(this.f, this.a), this.a = null, this.b = this.f.c; - }, w.b = 0, w.d = 0, G(Re, "LinkedListMultimap/NodeIterator", 561), A(241, 1, dh, by, oA), w.J = function(t) { - this.e = v2(this.f, this.b, t, this.c), ++this.d, this.a = null; - }, w.G = function() { - return !!this.c; - }, w.K = function() { - return !!this.e; - }, w.H = function() { - return sy(this); - }, w.L = function() { - return this.d; - }, w.M = function() { - return TN(this); - }, w.N = function() { - return this.d - 1; - }, w.I = function() { - Wl(!!this.a), this.a != this.c ? (this.e = this.a.e, --this.d) : this.c = this.a.c, fA(this.f, this.a), this.a = null; - }, w.O = function(t) { - w1(!!this.a), this.a.f = t; - }, w.d = 0, G(Re, "LinkedListMultimap/ValueForKeyIterator", 241), A(419, 647, hh), w.rb = function(t, n) { - this.a.rb(t, n); - }, w.kb = function(t) { - return this.a.kb(t); - }, w.sb = function(t) { - return this.a.sb(t); - }, w.vb = function(t) { - return this.a.vb(t); - }, w.wb = function(t, n) { - return this.a.wb(t, n); - }, w.Y = function() { - return this.a.Y(); - }, G(Re, "Lists/AbstractListWrapper", 419), A(420, 419, S2), G(Re, "Lists/RandomAccessListWrapper", 420), A(422, 420, S2, LD), w.ub = function(t) { - return this.a.ub(t); - }, G(Re, "Lists/1", 422), A(88, 647, { 88: 1, 22: 1, 19: 1, 20: 1 }, od), w.rb = function(t, n) { - this.a.rb(Vf(this, t), n); - }, w.Q = function() { - this.a.Q(); - }, w.sb = function(t) { - return this.a.sb(b4(this, t)); - }, w.mb = function() { - return jN(this, 0); - }, w.ub = function(t) { - return jN(this, t); - }, w.vb = function(t) { - return this.a.vb(b4(this, t)); - }, w.Xb = function(t, n) { - (yN(t, n, this.a.Y()), Cy(this.a.xb(Vf(this, n), Vf(this, t)))).Q(); - }, w.wb = function(t, n) { - return this.a.wb(b4(this, t), n); - }, w.Y = function() { - return this.a.Y(); - }, w.xb = function(t, n) { - return yN(t, n, this.a.Y()), Cy(this.a.xb(Vf(this, n), Vf(this, t))); - }, G(Re, "Lists/ReverseList", 88), A(220, 88, { 88: 1, 22: 1, 19: 1, 20: 1, 63: 1 }, Dv), G(Re, "Lists/RandomAccessReverseList", 220), A(421, 1, dh, ED), w.J = function(t) { - this.c.J(t), this.c.M(), this.a = !1; - }, w.G = function() { - return this.c.K(); - }, w.K = function() { - return this.c.G(); - }, w.H = function() { - if (!this.c.K()) - throw new sa(); - return this.a = !0, this.c.M(); - }, w.L = function() { - return Vf(this.b, this.c.L()); - }, w.M = function() { - if (!this.c.G()) - throw new sa(); - return this.a = !0, this.c.H(); - }, w.N = function() { - return Vf(this.b, this.c.L()) - 1; - }, w.I = function() { - Wl(this.a), this.c.I(), this.a = !1; - }, w.O = function(t) { - w1(this.a), this.c.O(t); - }, w.a = !1, G(Re, "Lists/ReverseList/1", 421); - var Y8; - A(376, 261, ir, O9), w.Vb = function(t) { - return On(), new uS(t, e9(this.a, t)); - }, G(Re, "Maps/1", 376), A(188, 17, ZC); - var $2, mx, yx = At(Re, "Maps/EntryFunction", 188, an, Gq); - A(374, 188, ZC, BD), w.B = function(t) { - return f(t, 21).yb(); - }, At(Re, "Maps/EntryFunction/1", 374, yx, null), A(375, 188, ZC, l9), w.B = function(t) { - return f(t, 21).zb(); - }, At(Re, "Maps/EntryFunction/2", 375, yx, null), A(373, 640, Md, PD), w.Q = function() { - this.a.Q(); - }, w.kb = function(t) { - return this.a.ab(t); - }, w.V = function() { - return this.a.V(); - }, w.mb = function() { - return Qj(this); - }, w.nb = function(t) { - var n, i; - try { - return hg(this, t, !0); - } catch (s) { - if (s = Ur(s), xe(s, 45)) { - for (i = this.a.bb().mb(); i.G(); ) - if (n = f(i.H(), 21), Gl(t, n.zb())) - return this.a.eb(n.yb()), !0; - return !1; - } else - throw Kr(s); - } - }, w.Y = function() { - return this.a.Y(); - }, G(Re, "Maps/Values", 373), A(301, 654, fh, pS), w.cb = function(t) { - return this.a.R(t) ? this.a.U(t) : null; - }, w.eb = function(t) { - return this.a.R(t) ? this.a.X(t) : null; - }, w.Q = function() { - this.a.Q(); - }, w.R = function(t) { - return this.a.R(t); - }, w.hb = function() { - return new xP(this); - }, w.gb = function() { - return this.hb(); - }, w.V = function() { - return this.a.V(); - }, w.W = function() { - return this.a.W(); - }, w.Y = function() { - return this.a.W().Y(); - }, G(Re, "Multimaps/AsMap", 301), A(393, 655, di, xP), w.mb = function() { - return fq(this.a.a.W(), new TP(this)); - }, w.qb = function() { - return this.a; - }, w.nb = function(t) { - var n; - return nO(this, t) ? (n = f(t, 21), FY(this.a, n.yb()), !0) : !1; - }, G(Re, "Multimaps/AsMap/EntrySet", 393), A(395, 1, yi, TP), w.B = function(t) { - return e9(this, t); - }, G(Re, "Multimaps/AsMap/EntrySet/1", 395), A(391, 656, qC, LP), w.Q = function() { - p4(this.a); - }, w.kb = function(t) { - return lS(this.a, t); - }, w.Cb = function(t) { - var n; - return n = f(vg(Hl(this.a), t), 19), n ? n.Y() : 0; - }, w.gb = function() { - return new DP(this); - }, w.Db = function() { - return Hl(this.a).Y(); - }, w.Eb = function() { - return new Q5(f4(Hl(this.a)).mb()); - }, w.mb = function() { - return Vj(this); - }, w.Fb = function(t, n) { - var i, s, l, h, v; - if (fi(n, XC), n == 0) - return v = f(vg(Hl(this.a), t), 19), v ? v.Y() : 0; - if (h = f(vg(Hl(this.a), t), 19), !h) - return 0; - if (l = h.Y(), n >= l) - h.Q(); - else - for (s = h.mb(), i = 0; i < n; i++) - s.H(), s.I(); - return l; - }, G(Re, "Multimaps/Keys", 391), A(302, 261, ir, Q5), w.Vb = function(t) { - return new PP(f(t, 21)); - }, G(Re, "Multimaps/Keys/1", 302), A(658, 1, { 83: 1 }), w.t = function(t) { - var n; - return xe(t, 83) ? (n = f(t, 83), this.Yb() == n.Yb() && Gl(this.Zb(), n.Zb())) : !1; - }, w.v = function() { - var t; - return t = this.Zb(), (t == null ? 0 : Uo(t)) ^ this.Yb(); - }, w.w = function() { - return qN(this); - }, G(Re, "Multisets/AbstractEntry", 658), A(394, 658, { 83: 1 }, PP), w.Yb = function() { - return f(this.a.zb(), 19).Y(); - }, w.Zb = function() { - return this.a.yb(); - }, G(Re, "Multimaps/Keys/1/1", 394), A(392, 657, di, DP), w.kb = function(t) { - var n, i; - return xe(t, 83) ? (i = f(t, 83), n = f(Hl(this.a.a).cb(i.Zb()), 19), !!n && n.Y() == i.Yb()) : !1; - }, w.V = function() { - return !this.a.a.a; - }, w.mb = function() { - return new Q5(f4(Hl(this.a.a)).mb()); - }, w.Ib = function() { - return this.a; - }, w.nb = function(t) { - var n, i; - return xe(t, 83) && (i = f(t, 83), n = f(Hl(this.a.a).cb(i.Zb()), 19), n && n.Y() == i.Yb()) ? (n.Q(), !0) : !1; - }, w.Y = function() { - return Hl(this.a.a).Y(); - }, G(Re, "Multimaps/Keys/KeysEntrySet", 392), A(659, 1, jr), G(Re, "Ordering", 659), A(398, 659, jr, k), w.$b = function(t, n) { - return UF(f(t, 83), f(n, 83)); - }, G(Re, "Multisets/1", 398), A(397, 658, { 83: 1, 3: 1 }, Pj), w.Yb = function() { - return this.a; - }, w.Zb = function() { - return this.b; - }, w.a = 0, G(Re, "Multisets/ImmutableEntry", 397), A(303, 1, ir, SD), w.G = function() { - return this.d > 0 || this.c.G(); - }, w.H = function() { - if (!(this.d > 0 || this.c.G())) - throw new sa(); - return this.d == 0 && (this.b = f(this.c.H(), 83), this.f = this.d = this.b.Yb()), --this.d, this.a = !0, this.b.Zb(); - }, w.I = function() { - Wl(this.a), this.f == 1 ? this.c.I() : this.e.Fb(this.b.Zb(), 1) > 0, --this.f, this.a = !1; - }, w.a = !1, w.d = 0, w.f = 0, G(Re, "Multisets/MultisetIteratorImpl", 303), A(622, 659, { 3: 1, 56: 1 }, E), w.$b = function(t, n) { - return iq(f(t, 23), f(n, 23)); - }, w.w = function() { - return "Ordering.natural()"; - }; - var F8; - G(Re, "NaturalOrdering", 622), A(343, 661, vh, Fj), w.ub = function(t) { - return OS(this.b, t); - }, w.Sb = function() { - return this.a; - }, w.sb = function(t) { - return JD(this.b, t); - }, w.Lb = function(t) { - return OS(this.b, t); - }, G(Re, "RegularImmutableAsList", 343), A(559, 275, gh, eN), w.Tb = function() { - return this.a; - }; - var q8; - G(Re, "RegularImmutableBiMap", 559), A(53, 667, vh, Qn), w.Nb = function() { - return this.a; - }, G(Re, "RegularImmutableList", 53), A(321, 320, gh, J5), G(Re, "RegularImmutableMap", 321), A(265, 315, bh, um); - var Gd; - G(Re, "RegularImmutableSet", 265), A(650, 641, di), G(Re, "Sets/SetView", 650), A(377, 650, di, lj), w.kb = function(t) { - return Pc(this.b, t) && Pc(this.c, t); - }, w.lb = function(t) { - return Wu(this.b, t) && Wu(this.c, t); - }, w.V = function() { - return ky(this); - }, w.mb = function() { - var t; - return zl((t = new Wt(this.b.a).a.bb().mb(), new Zt(t)), this.a); - }, w.Y = function() { - var t; - return dy(zl((t = new Wt(this.b.a).a.bb().mb(), new Zt(t)), this.a)); - }, G(Re, "Sets/2", 377), A(328, 275, gh, IN, yI), w.fb = function() { - return Ea(), new Bu(this.c); - }, w.Tb = function() { - var t; - return t = this.a, t || (this.a = new yI(this.c, this.b, this)); - }, w.Ub = function() { - return Ea(), new Bu(this.c); - }, G(Re, "SingletonImmutableBiMap", 328), A(127, 667, vh, cu), w.Nb = function() { - return this.a; - }, G(Re, "SingletonImmutableList", 127), A(135, 663, bh, Bu), w.mb = function() { - return _n(), new Dw(this.a); - }, w.kb = function(t) { - return xo(this.a, t); - }, w.Kb = function() { - return _n(), new Dw(this.a); - }, w.Y = function() { - return 1; - }, G(Re, "SingletonImmutableSet", 135), A(285, 342, { 207: 1, 3: 1, 22: 1, 19: 1 }, M4, gO), w.Bb = function(t, n) { - return N0(this, t, n); - }, w.Cb = function(t) { - return T0(this, t); - }, w.Db = function() { - return Jf(p3(this, (E1(), kx))); - }, w.Eb = function() { - return new R9(this); - }, w.Fb = function(t, n) { - return uC(this, t, n); - }, w.Gb = function(t, n) { - return HO(this, t, n); - }, w.Hb = function(t, n, i) { - var s, l, h; - return fi(i, "newCount"), fi(n, "oldCount"), _f(Wv(this.b, t)), h = this.c.a, h ? (l = ve(Kn, Wn, 26, 1, 12, 1), s = TC(h, this.d, t, n, i, l), _1(this.c, h, s), l[0] == n) : n == 0 ? (i > 0 && N0(this, t, i), !0) : !1; - }, w.Y = function() { - return Jf(p3(this, (E1(), Y2))); - }, G(Re, "TreeMultiset", 285), A(619, 658, { 83: 1 }, CD), w.Yb = function() { - var t; - return t = this.b.c, t == 0 ? T0(this.a, this.b.b) : t; - }, w.Zb = function() { - return this.b.b; - }, G(Re, "TreeMultiset/1", 619), A(620, 1, ir, R9), w.H = function() { - return RU(this); - }, w.G = function() { - return gM(this); - }, w.I = function() { - Wl(!!this.b), HO(this.c, this.b.b.b, 0), this.b = null; - }, G(Re, "TreeMultiset/2", 620), A(205, 17, QC); - var kx, Y2, Ex = At(Re, "TreeMultiset/Aggregate", 205, an, Yq); - A(617, 205, QC, a9), w._b = function(t) { - return t.c; - }, w.ac = function(t) { - return t ? t.j : 0; - }, At(Re, "TreeMultiset/Aggregate/1", 617, Ex, null), A(618, 205, QC, j9), w._b = function(t) { - return 1; - }, w.ac = function(t) { - return t ? t.a : 0; - }, At(Re, "TreeMultiset/Aggregate/2", 618, Ex, null), A(206, 658, { 83: 1, 206: 1 }, l0), w.Yb = function() { - return this.c; - }, w.Zb = function() { - return this.b; - }, w.w = function() { - return Df(), qN(new Pj(this.b, this.c)); - }, w.a = 0, w.c = 0, w.d = 0, w.j = 0, G(Re, "TreeMultiset/AvlNode", 206), A(616, 1, {}, C), G(Re, "TreeMultiset/Reference", 616); - var Qee = G(GC, "JavaScriptObject$", 0), F2; - A(628, 1, {}), G(GC, "Scheduler", 628); - var X0 = 0, V8 = 0, Q0 = -1; - A(360, 628, {}, y); - var Sx; - G(H0, "SchedulerImpl", 360), A(646, 1, {}), w.hc = function() { - return null; - }, w.ic = function() { - return null; - }, w.jc = function() { - return null; - }, w.kc = function() { - return null; - }, w.lc = function() { - return null; - }, G(Ql, "JSONValue", 646), A(214, 646, { 214: 1 }, A5, jP), w.t = function(t) { - return xe(t, 214) ? this.a == f(t, 214).a : !1; - }, w.gc = function() { - return SY; - }, w.v = function() { - return au(this.a); - }, w.hc = function() { - return this; - }, w.w = function() { - var t, n, i; - for (i = new id("["), n = 0, t = this.a.length; n < t; n++) - n > 0 && (i.a += ","), Hu(i, Fu(this, n)); - return i.a += "]", i.a; - }, G(Ql, "JSONArray", 214), A(292, 646, {}, T5), w.gc = function() { - return CY; - }, w.ic = function() { - return this; - }, w.w = function() { - return P9(this.a); - }, w.a = !1; - var W8, U8; - G(Ql, "JSONBoolean", 292), A(371, 72, Gs, A7), G(Ql, "JSONException", 371), A(435, 646, {}, D), w.gc = function() { - return DY; - }, w.w = function() { - return $s; - }; - var K8; - G(Ql, "JSONNull", 435), A(104, 646, { 104: 1 }, jw), w.t = function(t) { - return xe(t, 104) ? this.a == f(t, 104).a : !1; - }, w.gc = function() { - return xY; - }, w.v = function() { - return Xn(ge(this.a)); - }, w.jc = function() { - return this; - }, w.w = function() { - return this.a + ""; - }, w.a = 0, G(Ql, "JSONNumber", 104), A(69, 646, { 69: 1 }, Dl, Nw), w.t = function(t) { - return xe(t, 69) ? this.a == f(t, 69).a : !1; - }, w.gc = function() { - return TY; - }, w.v = function() { - return au(this.a); - }, w.kc = function() { - return this; - }, w.w = function() { - var t, n, i, s, l, h; - for (h = new id("{"), t = !0, l = JI(this, ve(_2, Dr, 2, 0, 5, 1)), i = 0, s = l.length; i < s; ++i) - n = l[i], t ? t = !1 : h.a += ", ", io(h, yA(n)), h.a += ":", Hu(h, Mn(this, n)); - return h.a += "}", h.a; - }, G(Ql, "JSONObject", 69), A(361, 641, di, TD), w.kb = function(t) { - return ko(t) && iF(this.a, qf(t)); - }, w.mb = function() { - return new Pf(new ro(this.b)); - }, w.Y = function() { - return this.b.length; - }, G(Ql, "JSONObject/1", 361); - var q2; - A(97, 646, { 97: 1 }, Rc), w.t = function(t) { - return xe(t, 97) ? zo(this.a, f(t, 97).a) : !1; - }, w.gc = function() { - return LY; - }, w.v = function() { - return Wy(this.a); - }, w.lc = function() { - return this; - }, w.w = function() { - return yA(this.a); - }, G(Ql, "JSONString", 97); - var Z8, X8, Cx; - A(186, 1, {}, j1, FS), w.b = !1, w.c = 0, w.d = -1, w.e = 0, w.f = !1, w.j = 0, G("de.cau.cs.kieler.core.alg", "BasicProgressMonitor", 186), A(10, 1, { 10: 1, 286: 1, 3: 1, 5: 1 }, Yr, zc, ot, qn), w.t = function(t) { - return QI(this, t); - }, w.v = function() { - return Xn(ge(this.a)) + UK(Xn(ge(this.b))); - }, w.w = function() { - return "(" + this.a + "," + this.b + ")"; - }, w.a = 0, w.b = 0; - var _t = G(i8, "KVector", 10); - A(58, 648, { 3: 1, 5: 1, 22: 1, 19: 1, 58: 1, 20: 1 }, Wr), w.ib = function(t) { - return rn(this, t); - }, w.Q = function() { - Bs(this); - }, w.ub = function(t) { - return Jt(this, t); - }, w.Y = function() { - return this.b; - }, w.b = 0, G(wt, "LinkedList", 58), A(44, 58, { 44: 1, 286: 1, 3: 1, 5: 1, 22: 1, 19: 1, 58: 1, 20: 1 }, Ci, Nm), w.w = function() { - var t, n, i; - for (t = new id("("), n = Jt(this, 0); n.b != n.d.c; ) - i = f(Ft(n), 10), io(t, i.a + "," + i.b), n.b != n.d.c && (t.a += "; "); - return t.a += ")", t.a; - }, G(i8, "KVectorChain", 44); - var rf = B1($0, "IProperty"); - A(131, 1, { 179: 1, 131: 1, 3: 1 }, H), G($0, "MapPropertyHolder", 131), A(14, 1, a8, H1, z1, Zn, nt, $l, Q1), w.F = function(t) { - return HF(this, f(t, 79)); - }, w.t = function(t) { - return k4(this, t); - }, w.mc = function() { - return this.b; - }, w.nc = function() { - return this.c; - }, w.oc = function() { - return this.d; - }, w.v = function() { - return Wy(this.b); - }, w.w = function() { - return this.b; - }; - var Q8, J8; - G($0, "Property", 14), A(366, 1, { 23: 1 }, _), w.F = function(t) { - return -1; - }, G($0, "Property/1", 366), A(367, 1, { 23: 1 }, B), w.F = function(t) { - return 1; - }, G($0, "Property/2", 367), A(27, 1, { 27: 1, 22: 1 }, pr), w.t = function(t) { - var n, i, s; - return xe(t, 27) ? (i = f(t, 27), n = this.a == null ? i.a == null : xo(this.a, i.a), s = this.b == null ? i.b == null : xo(this.b, i.b), n && s) : !1; - }, w.v = function() { - var t, n, i, s, l, h; - return i = this.a == null ? 0 : Uo(this.a), t = i & Cs, n = i & -65536, h = this.b == null ? 0 : Uo(this.b), s = h & Cs, l = h & -65536, t ^ l >> 16 & Cs | n ^ s << 16; - }, w.mb = function() { - return new NP(this); - }, w.w = function() { - return this.a == null && this.b == null ? "pair(null,null)" : this.a == null ? "pair(null," + ha(this.b) + ")" : this.b == null ? "pair(" + ha(this.a) + ",null)" : "pair(" + ha(this.a) + "," + ha(this.b) + ")"; - }, G(o8, "Pair", 27), A(431, 1, ir, NP), w.G = function() { - return !this.c && (!this.b && this.a.a != null || this.a.b != null); - }, w.H = function() { - if (!this.c && !this.b && this.a.a != null) - return this.b = !0, this.a.a; - if (!this.c && this.a.b != null) - return this.c = !0, this.a.b; - throw new sa(); - }, w.I = function() { - throw this.c && this.a.b != null ? this.a.b = null : this.b && this.a.a != null && (this.a.a = null), new Lv(); - }, w.b = !1, w.c = !1, G(o8, "Pair/1", 431), A(228, 72, Gs, t1), G(s8, "UnsupportedConfigurationException", 228), A(99, 72, Gs, mo), G(s8, "UnsupportedGraphException", 99); - var xx; - A(103, 17, { 103: 1, 3: 1, 23: 1, 17: 1 }, sd); - var V2, J0, ep, tp, np, rp, eB = At(Fs, "Alignment", 103, an, XV), tB; - A(59, 17, { 59: 1, 3: 1, 23: 1, 17: 1 }, Mv); - var Ts, ja, Fi, Po, Ws, Gg = At(Fs, "Direction", 59, an, NV), nB; - A(107, 17, { 107: 1, 3: 1, 23: 1, 17: 1 }, s1); - var $g, sl, ph, W2, rB = At(Fs, "EdgeLabelPlacement", 107, an, CV), iB; - A(122, 17, { 122: 1, 3: 1, 23: 1, 17: 1 }, u1); - var af, Tx, U2, K2, aB = At(Fs, "EdgeRouting", 122, an, xV), oB; - A(133, 17, { 133: 1, 3: 1, 23: 1, 17: 1 }, ud); - var Lx, Px, Dx, jx, Z2, Nx, sB = At(Fs, "EdgeType", 133, an, QV), uB; - A(166, 17, { 166: 1, 3: 1, 23: 1, 17: 1 }, em); - var Ix, X2, Mx, cB = At(Fs, "HierarchyHandling", 166, an, eV), lB, Yg, Ox, co, fB, hB, Q2, Ax, $d, Fg, Do, da, of, Rx, dB, vB, gB, Bx, qg, bB, Un, wh, zx, pB, Vg, Yd, Fd, ia, Wg, ul, Hx, J2, ek, tk, nk, rk, wu, dt, mu, Ug, Kg, _x, mh, Gx, ik, $x, ic, Zg, Yx, Jo; - A(41, 17, { 41: 1, 3: 1, 23: 1, 17: 1 }, Dc); - var Ua, qi, Vi, Wi, Ei, Ui, va, ga, ba, Ln = At(Fs, "NodeLabelPlacement", 41, an, LW), wB; - A(100, 17, { 100: 1, 3: 1, 23: 1, 17: 1 }, Ov); - var Fx, qx, Vx, Ls, sf, Wx = At(Fs, "PortAlignment", 100, an, KV), mB; - A(28, 17, { 28: 1, 3: 1, 23: 1, 17: 1 }, cd); - var yh, ni, es, Xg, jo, ac, yB = At(Fs, "PortConstraints", 28, an, ZV), kB; - A(149, 17, { 149: 1, 3: 1, 23: 1, 17: 1 }, tm); - var ak, ok, Qg, EB = At(Fs, "PortLabelPlacement", 149, an, tV), SB; - A(32, 17, { 32: 1, 3: 1, 23: 1, 17: 1 }, Av); - var Be, rt, kh, cl, pa, yu, ip, Eh, ll, Na, Fr, Ia, ts, Ma, uf, Sh, fl, Ch, ct, cr, qe, Nr = At(Fs, "PortSide", 32, an, jV), CB; - A(150, 17, { 150: 1, 3: 1, 23: 1, 17: 1 }, c1); - var Jg, sk, uk, eb, qd = At(Fs, "SizeConstraint", 150, an, LV), xB; - A(139, 17, { 139: 1, 3: 1, 23: 1, 17: 1 }, l1); - var ck, lk, tb, fk, hk = At(Fs, "SizeOptions", 139, an, TV), TB; - A(62, 1, { 62: 1 }, lm, $a), w.t = function(t) { - var n; - return t == null || !xe(t, 62) ? !1 : (n = f(t, 62), la(this.d, n.d) && la(this.e, n.e) && la(this.c, n.c) && la(this.b, n.b)); - }, w.v = function() { - return Ny(re(ie(Ze, 1), Me, 1, 4, [this.d, this.e, this.c, this.b])); - }, w.w = function() { - return "Rect[x=" + this.d + ",y=" + this.e + ",w=" + this.c + ",h=" + this.b + "]"; - }, w.b = 0, w.c = 0, w.d = 0, w.e = 0, G(Bd, "Rectangle", 62), A(283, 62, { 283: 1, 62: 1 }, d7), w.a = 0, G(ex, "LabelGroup", 283), A(67, 17, { 67: 1, 3: 1, 23: 1, 17: 1 }, Li); - var LB, PB, DB, jB, NB, IB, MB, OB, AB, RB, BB, zB, HB, _B, GB, $B, YB, FB, qB, VB, WB, dk, UB = At(ex, "LabelLocation", 67, an, D3); - A(225, 17, { 225: 1, 3: 1, 23: 1, 17: 1 }, nm); - var xh, oc, sc, Jee = At(ex, "TextAlignment", 225, an, nV), cf; - A(589, 1, {}, kR), w.a = 0, w.b = !1, w.d = 0, w.f = 0, w.k = 0, w.r = 0, w.s = 0, G(Bd, "LabelAndNodeSizeProcessor/NodeData", 589), A(171, 17, { 171: 1, 3: 1, 23: 1, 17: 1 }, rm); - var ns, Us, KB, nb, ete = At(Bd, "LabelSide", 171, an, Jq); - A(590, 1, {}, IP), w.b = !0, w.c = !0, w.d = !0, w.e = !0, G(Bd, f8, 590), A(121, 1, h8), w.t = function(t) { - var n; - return xe(t, 121) ? (n = f(t, 121), this.d == n.d && this.a == n.a && this.b == n.b && this.c == n.c) : !1; - }, w.v = function() { - var t, n; - return t = Xn(ge(this.b)) << 16, t |= Xn(ge(this.a)) & Cs, n = Xn(ge(this.c)) << 16, n |= Xn(ge(this.d)) & Cs, t ^ n; - }, w.w = function() { - return "[top=" + this.d + ",left=" + this.b + ",bottom=" + this.a + ",right=" + this.c + "]"; - }, w.a = 0, w.b = 0, w.c = 0, w.d = 0, G(Bd, "Spacing", 121), A(232, 121, h8, H5, X9, tj), G(Bd, "Spacing/Insets", 232), A(65, 121, { 286: 1, 121: 1, 65: 1, 3: 1, 5: 1 }, e1, qo, WS), G(Bd, "Spacing/Margins", 65), A(364, 1, {}, CO), w.c = !1, w.d = null, w.g = null; - var Ux, Kx, vk; - G(N2, "JsonGraphImporter", 364); - var Zx, Xx, Qx, Jx, eT, ZB, ap, tT, nT; - A(417, 14, a8, GD), G(N2, "LayoutOptionResolver/DummyProperty", 417), A(348, 1, {}, aP); - var rT; - G(N2, "RecursiveLGraphLayout", 348), A(73, 99, { 73: 1, 3: 1, 54: 1, 46: 1 }, _w, qv, gs); - var XB = G(N2, "UnsupportedJsonGraphException", 73); - A(380, 1, {}, tN); - var QB, JB; - G(rx, "GraphConfigurator", 380), A(49, 1, {}, An), G(rx, "IntermediateProcessingConfiguration", 49), A(365, 1, {}, WN), G(rx, "KlayLayered", 365), A(577, 1, {}, sM), w.i = 0; - var ez; - G(Ag, "ComponentsToCGraphTransformer", 577); - var tz; - A(578, 1, {}, Z), w.tc = function(t, n) { - return Xt(t.wc(), n.wc()); - }, w.uc = function(t, n) { - return Xt(t.xc(), n.xc()); - }, G(Ag, "ComponentsToCGraphTransformer/1", 578), A(25, 1, { 25: 1 }), w.k = 0, w.o = null, w.p = !0, w.r = Hr; - var op = G(Hd, "CNode", 25); - A(198, 25, { 198: 1, 25: 1 }, NS, i3), w.vc = function() { - this.b.d = this.j.d, this.b.e = this.j.e; - }, w.wc = function() { - return this.a != null ? ge(this.a) : this.c.i; - }, w.xc = function() { - return this.a != null ? ge(this.a) : this.c.i; - }, w.w = function() { - return ""; - }, G(Ag, "ComponentsToCGraphTransformer/CRectNode", 198), A(549, 1, {}, ae); - var gk, bk; - G(Ag, "OneDimensionalComponentsCompaction", 549), A(550, 1, yi, oe), w.B = function(t) { - return Py(), yn(), f(f(t, 27).a, 25).f.f != 0 ? ii : Rn; - }, G(Ag, "OneDimensionalComponentsCompaction/lambda$0$Type", 550), A(551, 1, yi, J), w.B = function(t) { - return Py(), yn(), T3(f(f(t, 27).a, 25).n, f(f(t, 27).b, 59)) || f(f(t, 27).a, 25).f.f != 0 && T3(f(f(t, 27).a, 25).n, f(f(t, 27).b, 59)) ? ii : Rn; - }, G(Ag, "OneDimensionalComponentsCompaction/lambda$1$Type", 551), A(324, 1, {}, v4), G(Hd, "CGraph", 324), A(78, 1, { 78: 1 }, m0), w.b = 0, w.c = 0, w.d = 0, w.f = 0, w.i = !0, w.j = Hr, G(Hd, "CGroup", 78), A(470, 1, {}, fe), w.tc = function(t, n) { - return je(t.wc(), n.wc()); - }, w.uc = function(t, n) { - return je(t.xc(), n.xc()); - }, G(Hd, "ISpacingsHandler/1", 470), A(323, 1, {}, rC), w.e = !1; - var nz, rz, iz, pk = G(Hd, "OneDimensionalCompactor", 323); - A(554, 1, yi, F), w.B = function(t) { - return Ym(), yn(), f(f(t, 27).a, 25).f.f != 0 ? ii : Rn; - }, G(Hd, "OneDimensionalCompactor/lambda$0$Type", 554), A(335, 1, {}, e4), w.a = !1, w.b = !1, w.c = !1, w.d = !1, G(Hd, "Quadruplet", 335), A(587, 1, {}, W), w.Cc = function(t) { - var n, i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (x = ki, s = new M(t.a.b); s.a < s.c.c.length; ) - n = f(O(s), 25), x = Xt(x, n.f.g.j.d + n.g.a); - for (q = new Wr(), p = new M(t.a.a); p.a < p.c.c.length; ) - v = f(O(p), 78), v.j = x, v.f == 0 && wr(q, v, q.c.b, q.c); - for (; q.b != 0; ) { - for (v = f(q.b == 0 ? null : (ut(q.b != 0), zs(q, q.a.a)), 78), l = v.g.j.d, I = (Y = new Wt(v.a.a).a.bb().mb(), new Zt(Y)); I.a.G(); ) - L = (h = f(I.a.H(), 21), f(h.yb(), 25)), U = v.j + L.g.a, L.f.i || L.j.d < U ? L.r = U : L.r = L.j.d; - for (l -= v.g.r, v.b += l, t.d == ($n(), Fi) || t.d == Ts ? v.c += l : v.c -= l, j = (R = new Wt(v.a.a).a.bb().mb(), new Zt(R)); j.a.G(); ) - for (L = (h = f(j.a.H(), 21), f(h.yb(), 25)), S = L.i.mb(); S.G(); ) - m = f(S.H(), 25), Nl(t.d) ? V = t.g.tc(L, m) : V = t.g.uc(L, m), m.f.j = je(m.f.j, L.r + L.j.c + V - m.g.a), m.p || (m.f.j = je(m.f.j, m.j.d - m.g.a)), --m.f.f, m.f.f == 0 && rn(q, m.f); - } - for (i = new M(t.a.b); i.a < i.c.c.length; ) - n = f(O(i), 25), n.j.d = n.r; - }, G(nf, "LongestPathCompaction", 587), A(588, 1, {}, Q), w.Dc = function(t) { - var n, i, s, l, h, v, p; - for (i = new M(t.a.b); i.a < i.c.c.length; ) - n = f(O(i), 25), n.i.Q(); - for (l = new M(t.a.b); l.a < l.c.c.length; ) - for (s = f(O(l), 25), v = new M(t.a.b); v.a < v.c.c.length; ) - h = f(O(v), 25), s != h && (s.f && s.f == h.f || (Nl(t.d) ? p = t.g.uc(s, h) : p = t.g.tc(s, h), s != h.o && (h.j.d > s.j.d || s.j.d == h.j.d && s.j.c < h.j.c) && cK(h.j.e + h.j.b + p, s.j.e) && j3(h.j.e, s.j.e + s.j.b + p) && s.i.ib(h))); - }, G(nf, "QuadraticConstraintCalculation", 588), A(317, 1, {}, n4), w.Dc = function(t) { - this.b = t, s2(this, new K(), new ee()); - }, G(nf, "ScanlineConstraintCalculator", 317); - var rb = B1(qs, "Scanline/EventHandler"); - A(464, 1, { 160: 1 }, uN), w.Ec = function(t) { - qX(this, f(t, 235)); - }, G(nf, "ScanlineConstraintCalculator/ConstraintsScanlineHandler", 464), A(465, 1, jr, X), w.$b = function(t, n) { - return mr((f(t, 25).j.d + f(t, 25).j.c) / 2, (f(n, 25).j.d + f(n, 25).j.c) / 2); - }, G(nf, "ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type", 465), A(235, 1, { 235: 1 }, fS), w.a = !1, G(nf, "ScanlineConstraintCalculator/Timestamp", 235), A(466, 1, jr, $), w.$b = function(t, n) { - return nZ(t, n); - }, G(nf, "ScanlineConstraintCalculator/lambda$0$Type", 466), A(467, 1, uo, K), w.D = function(t) { - return !0; - }, G(nf, "ScanlineConstraintCalculator/lambda$1$Type", 467), A(468, 1, yi, ee), w.B = function(t) { - return 0; - }, G(nf, "ScanlineConstraintCalculator/lambda$2$Type", 468), A(48, 1, { 48: 1 }, zf, XS), w.t = function(t) { - var n; - return t == null || tte != kd(t) ? !1 : (n = f(t, 48), la(this.c, n.c) && la(this.d, n.d)); - }, w.v = function() { - return Ny(re(ie(Ze, 1), Me, 1, 4, [this.c, this.d])); - }, w.w = function() { - return "(" + this.c + ", " + this.d + (this.a ? "cx" : "") + this.b + ")"; - }, w.a = !0, w.c = 0, w.d = 0; - var tte = G(qs, "Point", 48); - A(201, 17, { 201: 1, 3: 1, 23: 1, 17: 1 }, f1); - var uc, hl, lf, dl, nte = At(qs, "Point/Quadrant", 201, an, DV); - A(569, 1, {}, u7), w.b = null, w.c = null, w.d = null, w.e = null, w.f = null; - var az, oz, sz, uz, cz; - G(qs, "RectilinearConvexHull", 569), A(243, 1, { 160: 1 }, y0), w.Ec = function(t) { - SW(this, f(t, 48)); - }, w.b = 0; - var iT; - G(qs, "RectilinearConvexHull/MaximalElementsEventHandler", 243), A(571, 1, jr, se), w.$b = function(t, n) { - return Xj(t, n); - }, G(qs, "RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type", 571), A(570, 1, { 160: 1 }, rI), w.Ec = function(t) { - IX(this, f(t, 48)); - }, w.a = 0, w.b = null, w.c = null, w.d = null, w.e = null, G(qs, "RectilinearConvexHull/RectangleEventHandler", 570), A(572, 1, jr, pe), w.$b = function(t, n) { - return md(), f(t, 48).c == f(n, 48).c ? mr(f(n, 48).d, f(t, 48).d) : mr(f(t, 48).c, f(n, 48).c); - }, G(qs, "RectilinearConvexHull/lambda$0$Type", 572), A(573, 1, jr, he), w.$b = function(t, n) { - return md(), f(t, 48).c == f(n, 48).c ? mr(f(t, 48).d, f(n, 48).d) : mr(f(t, 48).c, f(n, 48).c); - }, G(qs, "RectilinearConvexHull/lambda$1$Type", 573), A(574, 1, jr, de), w.$b = function(t, n) { - return md(), f(t, 48).c == f(n, 48).c ? mr(f(n, 48).d, f(t, 48).d) : mr(f(n, 48).c, f(t, 48).c); - }, G(qs, "RectilinearConvexHull/lambda$2$Type", 574), A(575, 1, jr, ke), w.$b = function(t, n) { - return md(), f(t, 48).c == f(n, 48).c ? mr(f(t, 48).d, f(n, 48).d) : mr(f(n, 48).c, f(t, 48).c); - }, G(qs, "RectilinearConvexHull/lambda$3$Type", 575), A(576, 1, jr, Pe), w.$b = function(t, n) { - return TZ(t, n); - }, G(qs, "RectilinearConvexHull/lambda$4$Type", 576), A(469, 1, {}, YN), G(qs, "Scanline", 469), A(662, 1, {}), G(xs, "AbstractGraphPlacer", 662), A(222, 1, { 222: 1 }, aj); - var St; - G(xs, "ComponentGroup", 222), A(434, 662, {}, c7), w.Fc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - if (this.a.c = ve(Ze, Me, 1, 0, 4, 1), n.b.c = ve(Ze, Me, 1, 0, 4, 1), t.V()) { - n.e.a = 0, n.e.b = 0; - return; - } - for (h = f(t.sb(0), 55), hu(n, h), l = t.mb(); l.G(); ) - s = f(l.H(), 55), UU(this, s); - for (I = new Yr(), R = 2 * f(z(h, (le(), Oi)), 15).a, m = new M(this.a); m.a < m.c.c.length; ) - v = f(O(m), 222), S = jee(v, R), ws(w4(v.a), I.a, I.b), I.a += S.a, I.b += S.b; - if (n.e.a = I.a - R, n.e.b = I.b - R, Pt(ge(jt(z(h, (zt(), gE))))) && He(z(h, (Ee(), of))) === He((fu(), af))) { - for (j = t.mb(); j.G(); ) - x = f(j.H(), 55), Pg(x, x.d.a, x.d.b); - for (i = new Ae(), $R(i, t, R), L = t.mb(); L.G(); ) - x = f(L.H(), 55), dn(Rs(x.d), i.e); - dn(Rs(n.e), i.a); - } - for (p = new M(this.a); p.a < p.c.c.length; ) - v = f(O(p), 222), lI(n, w4(v.a)); - }, G(xs, "ComponentGroupGraphPlacer", 434), A(322, 1, {}, Ae), G(xs, "ComponentsCompactor", 322), A(13, 647, ix, Se, ji, _u), w.rb = function(t, n) { - Ac(this, t, n); - }, w.ib = function(t) { - return Le(this, t); - }, w.jb = function(t) { - return Tn(this, t); - }, w.Q = function() { - this.c = ve(Ze, Me, 1, 0, 4, 1); - }, w.kb = function(t) { - return Di(this, t, 0) != -1; - }, w.sb = function(t) { - return _e(this, t); - }, w.V = function() { - return this.c.length == 0; - }, w.mb = function() { - return new M(this); - }, w.vb = function(t) { - return Fl(this, t); - }, w.nb = function(t) { - return Cr(this, t); - }, w.Xb = function(t, n) { - xN(this, t, n); - }, w.wb = function(t, n) { - return $c(this, t, n); - }, w.Y = function() { - return this.c.length; - }, w.ob = function() { - return z9(this); - }, w.pb = function(t) { - return Vn(this, t); - }, G(wt, "ArrayList", 13), A(532, 13, ix, FN), w.ib = function(t) { - return xd(this, f(t, 48)); - }, G(xs, "ComponentsCompactor/Hullpoints", 532), A(529, 1, { 347: 1 }, EO), w.a = !1, G(xs, "ComponentsCompactor/InternalComponent", 529), A(528, 1, Ju, l7), w.mb = function() { - return new M(this.a); - }, G(xs, "ComponentsCompactor/InternalConnectedComponents", 528), A(531, 1, { 251: 1 }, dA), w.zc = function() { - return null; - }, w.Ac = function() { - return this.a; - }, w.yc = function() { - return qy(this.d); - }, w.Bc = function() { - return this.b; - }, G(xs, "ComponentsCompactor/InternalExternalExtension", 531), A(530, 1, { 251: 1 }, p7), w.Ac = function() { - return this.a; - }, w.yc = function() { - return qy(this.d); - }, w.zc = function() { - return this.c; - }, w.Bc = function() { - return this.b; - }, G(xs, "ComponentsCompactor/InternalUnionExternalExtension", 530), A(534, 1, {}, $A), G(xs, "ComponentsCompactor/OuterSegments", 534), A(533, 1, {}, f7), G(xs, "ComponentsCompactor/Segments", 533), A(381, 1, {}, Y9), G(xs, "ComponentsProcessor", 381), A(432, 662, {}, Te), w.Fc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be; - if (t.Y() == 1) { - te = f(t.sb(0), 55), te != n && (n.b.c = ve(Ze, Me, 1, 0, 4, 1), rR(n, te, 0, 0), hu(n, te), Nj(n.a, te.a), n.e.a = te.e.a, n.e.b = te.e.b); - return; - } else if (t.V()) { - n.b.c = ve(Ze, Me, 1, 0, 4, 1), n.e.a = 0, n.e.b = 0; - return; - } - for (p = t.mb(); p.G(); ) { - for (h = f(p.H(), 55), q = 0, R = new M(h.b); R.a < R.c.c.length; ) - I = f(O(R), 9), q += f(z(I, (le(), Xa)), 24).a; - h.k = q; - } - for (Ya(t, new Oe()), l = f(t.sb(0), 55), n.b.c = ve(Ze, Me, 1, 0, 4, 1), hu(n, l), j = 0, ye = 0, m = t.mb(); m.G(); ) - h = f(m.H(), 55), U = h.e, j = je(j, U.a), ye += U.a * U.b; - for (j = je(j, Math.sqrt(ye) * f(z(n, (le(), Ph)), 15).a), ue = w8 * f(z(n, Oi), 15).a, Ce = 0, be = 0, L = 0, i = ue, v = t.mb(); v.G(); ) - h = f(v.H(), 55), U = h.e, Ce + U.a > j && (Ce = 0, be += L + ue, L = 0), Y = h.d, Pg(h, Ce + Y.a, be + Y.b), Y.a = 0, Y.b = 0, i = je(i, Ce + U.a), L = je(L, U.b), Ce += U.a + ue; - if (n.e.a = i, n.e.b = be + L, V = f(z(n, Oi), 15).a, Pt(ge(jt(z(l, (zt(), gE)))))) { - for (s = new Ae(), $R(s, t, V), x = t.mb(); x.G(); ) - S = f(x.H(), 55), dn(Rs(S.d), s.e); - dn(Rs(n.e), s.a); - } - lI(n, t); - }, G(xs, "SimpleRowGraphPlacer", 432), A(433, 1, jr, Oe), w.$b = function(t, n) { - return wU(f(t, 55), f(n, 55)); - }, G(xs, "SimpleRowGraphPlacer/1", 433), A(369, 1, pn, oP), w.sc = function(t, n) { - VR(t, n); - }; - var lz; - G(Rg, "CompoundGraphPostprocessor", 369), A(370, 1, uo, ze), w.D = function(t) { - var n; - return n = f(z(f(t, 114).b, (Ee(), Un)), 44), !!n && n.b != 0; - }, G(Rg, "CompoundGraphPostprocessor/1", 370), A(368, 1, pn, XD), w.sc = function(t, n) { - fO(this, t, n); - }, G(Rg, "CompoundGraphPreprocessor", 368), A(187, 1, { 187: 1 }, $M), w.c = !1, G(Rg, "CompoundGraphPreprocessor/ExternalPort", 187), A(114, 1, { 114: 1 }, N1), w.w = function() { - return P1(this.c) + ":" + MI(this.b); - }, G(Rg, "CrossHierarchyEdge", 114), A(310, 1, jr, L5), w.$b = function(t, n) { - return KK(this, f(t, 114), f(n, 114)); - }, G(Rg, "CrossHierarchyEdgeComparator", 310), A(147, 131, { 179: 1, 131: 1, 147: 1, 3: 1 }), w.k = 0, G(Zr, "LGraphElement", 147), A(12, 147, { 179: 1, 131: 1, 12: 1, 147: 1, 3: 1 }, bs), w.w = function() { - return MI(this); - }; - var Ki = G(Zr, "LEdge", 12); - A(55, 147, { 179: 1, 131: 1, 55: 1, 147: 1, 3: 1, 22: 1 }, t3), w.mb = function() { - return new M(this.c); - }, w.w = function() { - return this.c.c.length == 0 ? "G-unlayered" + Qu(this.b) : this.b.c.length == 0 ? "G-layered" + Qu(this.c) : "G[layerless" + Qu(this.b) + ", layers" + Qu(this.c) + "]"; - }; - var rte = G(Zr, "LGraph", 55); - A(273, 1, {}), w.pc = function() { - return this.e.j; - }, G(Zr, "LGraphAdapters/AbstractLShapeAdapter", 273), A(240, 1, { 627: 1 }, Zb), w.b = null, G(Zr, "LGraphAdapters/LEdgeAdapter", 240), A(325, 1, {}, hS), w.pc = function() { - return this.a.e; - }, w.b = null, w.c = !1, G(Zr, "LGraphAdapters/LGraphAdapter", 325), A(224, 273, { 129: 1, 224: 1 }, Iw), G(Zr, "LGraphAdapters/LLabelAdapter", 224), A(555, 273, { 626: 1 }, jD), w.a = null, w.b = null, w.c = !1, G(Zr, "LGraphAdapters/LNodeAdapter", 555), A(556, 273, { 161: 1 }, ND), w.a = null, w.b = null, w.c = null, w.d = !1, G(Zr, "LGraphAdapters/LPortAdapter", 556), A(557, 1, jr, We), w.$b = function(t, n) { - return oQ(f(t, 7), f(n, 7)); - }, G(Zr, "LGraphAdapters/PortComparator", 557), A(168, 1, { 168: 1 }, Lw, lN), w.t = function(t) { - var n; - return xe(t, 168) ? (n = f(t, 168), this.d == n.d && this.a == n.a && this.b == n.b && this.c == n.c) : !1; - }, w.v = function() { - var t, n; - return t = Xn(ge(this.b)) << 16, t |= Xn(ge(this.a)) & Cs, n = Xn(ge(this.c)) << 16, n |= Xn(ge(this.d)) & Cs, t ^ n; - }, w.w = function() { - return "Insets[top=" + this.d + ",left=" + this.b + ",bottom=" + this.a + ",right=" + this.c + "]"; - }, w.a = 0, w.b = 0, w.c = 0, w.d = 0, G(Zr, "LInsets", 168), A(165, 147, { 179: 1, 131: 1, 147: 1, 165: 1, 3: 1 }), G(Zr, "LShape", 165), A(33, 165, { 179: 1, 131: 1, 147: 1, 33: 1, 165: 1, 3: 1 }, LS), w.w = function() { - return this.a == null ? "l_" + this.k : "l_" + this.a; - }, G(Zr, "LLabel", 33), A(9, 165, { 179: 1, 131: 1, 147: 1, 9: 1, 165: 1, 3: 1 }, qa), w.w = function() { - return pN(this); - }; - var kr = G(Zr, "LNode", 9); - A(132, 17, { 132: 1, 3: 1, 23: 1, 17: 1 }, ld); - var Ii, Cn, Ka, hn, Hn, er, aT = At(Zr, "LNode/NodeType", 132, an, JV); - A(7, 165, { 179: 1, 131: 1, 147: 1, 7: 1, 165: 1, 3: 1 }, Yn), w.w = function() { - var t; - return t = aI(this), t == null ? "p_" + this.k : "p_" + t; - }; - var wk, oT, mk, sT, yk, kk, fz = G(Zr, "LPort", 7); - A(399, 1, uo, $e), w.D = function(t) { - return J9(t); - }, G(Zr, "LPort/1", 399), A(400, 1, uo, Ge), w.D = function(t) { - return Q9(t); - }, G(Zr, "LPort/2", 400), A(401, 1, uo, me), w.D = function(t) { - return f(t, 7).g == (we(), rt); - }, G(Zr, "LPort/3", 401), A(402, 1, uo, Ve), w.D = function(t) { - return f(t, 7).g == (we(), Be); - }, G(Zr, "LPort/4", 402), A(403, 1, uo, Ke), w.D = function(t) { - return f(t, 7).g == (we(), ct); - }, G(Zr, "LPort/5", 403), A(404, 1, uo, at), w.D = function(t) { - return f(t, 7).g == (we(), qe); - }, G(Zr, "LPort/6", 404), A(190, 1, Ju, Zh), w.mb = function() { - var t; - return t = new M(this.a.b), new MP(t); - }, G(Zr, "LPort/7", 190), A(405, 1, ir, MP), w.H = function() { - return f(O(this.a), 12).c; - }, w.G = function() { - return Nc(this.a); - }, w.I = function() { - bd(this.a); - }, G(Zr, "LPort/7/1", 405), A(169, 1, Ju, Lf), w.mb = function() { - var t; - return t = new M(this.a.e), new P5(t); - }, G(Zr, "LPort/8", 169), A(304, 1, ir, P5), w.H = function() { - return f(O(this.a), 12).d; - }, w.G = function() { - return Nc(this.a); - }, w.I = function() { - bd(this.a); - }, G(Zr, "LPort/8/1", 304), A(16, 147, { 179: 1, 131: 1, 147: 1, 16: 1, 3: 1, 22: 1 }, Hc), w.mb = function() { - return new M(this.a); - }, w.w = function() { - return "L_" + Di(this.b.c, this, 0) + Qu(this.a); - }, G(Zr, "Layer", 16), A(437, 1, pn, ft), w.sc = function(t, n) { - var i, s, l, h, v, p, m; - for (Nt(n, "Big nodes intermediate-processing", 1), this.a = t, h = new M(this.a.c); h.a < h.c.c.length; ) - for (l = f(O(h), 16), m = ca(l.a), i = Eo(m, new en()), p = zl(i.b.mb(), i.a); qu(p); ) - v = f(ql(p), 9), He(z(v, (zt(), Er))) === He(($i(), ev)) || He(z(v, Er)) === He(Tu) ? (s = gC(this, v, !1), ce(s, Er, f(z(v, Er), 85)), ce(v, Er, pf)) : gC(this, v, !0); - Ct(n); - }, G(bt, "BigNodesIntermediateProcessor", 437), A(438, 1, uo, en), w.D = function(t) { - return fW(f(t, 9)); - }, G(bt, "BigNodesIntermediateProcessor/1", 438), A(582, 1, yi, OP), w.B = function(t) { - var n; - return oU((n = this, y1(t), n)); - }, G(bt, "BigNodesLabelHandler/CompoundFunction", 582), A(332, 1, {}, G3), w.a = 0, w.e = null, w.f = 0, G(bt, "BigNodesLabelHandler/Handler", 332), A(583, 1, yi, AP), w.B = function(t) { - var n; - return wZ((n = this, y1(t), n)); - }, G(bt, "BigNodesLabelHandler/Handler/1", 583), A(584, 1, yi, ID), w.B = function(t) { - var n; - return Pq((n = this, y1(t), n)); - }, G(bt, "BigNodesLabelHandler/Handler/2", 584), A(585, 1, yi, MD), w.B = function(t) { - var n; - return tee((n = this, y1(t), n)); - }, G(bt, "BigNodesLabelHandler/Handler/3", 585), A(439, 1, pn, gn), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (Nt(n, "Big nodes post-processing", 1), this.a = t, p = new M(this.a.c); p.a < p.c.c.length; ) - for (v = f(O(p), 16), i = Eo(v.a, new mt()), S = zl(i.b.mb(), i.a); qu(S); ) { - for (m = f(ql(S), 9), L = f(z(m, (le(), fb)), 15), h = xA(this, m), Y = new Se(), R = Jn(h, (we(), Be)).mb(); R.G(); ) - j = f(R.H(), 7), Y.c[Y.c.length] = j, x = j.i.a - h.j.a, j.i.a = L.a + x; - for (m.j.a = L.a, I = new M(Y); I.a < I.c.c.length; ) - j = f(O(I), 7), cn(j, m); - this.a.e.a < m.i.a + m.j.a && (this.a.e.a = m.i.a + m.j.a), l = f(z(m, mL), 20), Tn(m.c, l), s = f(z(m, aE), 64), s && s.B(null); - } - Ct(n); - }, G(bt, "BigNodesPostProcessor", 439), A(440, 1, uo, mt), w.D = function(t) { - return hW(f(t, 9)); - }, G(bt, "BigNodesPostProcessor/1", 440), A(441, 1, pn, z7), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I; - for (Nt(n, y8, 1), this.c = t, L = this.c.b, l = 0, m = new M(L); m.a < m.c.c.length; ) - v = f(O(m), 9), v.k = l++; - for (this.d = f(z(this.c, (le(), Oi)), 15).a, this.a = f(z(this.c, (Ee(), Do)), 59), this.b = L.c.length, h = k8, S = new M(L); S.a < S.c.c.length; ) - v = f(O(S), 9), v.g == (et(), Hn) && v.j.a < h && (h = v.j.a); - for (h = 50 > h ? 50 : h, i = new Se(), I = h + this.d, x = new M(L); x.a < x.c.c.length; ) - if (v = f(O(x), 9), v.g == (et(), Hn) && v.j.a > I) { - for (j = 1, s = v.j.a; s > h; ) - ++j, s = (v.j.a - (j - 1) * this.d) / j; - Le(i, new UN(this, v, j, s)); - } - for (p = new M(i); p.a < p.c.c.length; ) - v = f(O(p), 267), MQ(v.d) && lee(v); - Ct(n); - }, w.b = 0, w.d = 0, G(bt, "BigNodesPreProcessor", 441), A(267, 1, { 267: 1 }, UN), w.a = 0, w.c = 0, G(bt, "BigNodesPreProcessor/BigNode", 267), A(442, 1, pn, H7), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (Nt(n, y8, 1), hz = Pt(ge(jt(z(t, (Ee(), Fg))))), this.c = t, I = new Se(), v = new M(t.c); v.a < v.c.c.length; ) - h = f(O(v), 16), Tn(I, h.a); - for (l = 0, x = new M(I); x.a < x.c.c.length; ) - m = f(O(x), 9), m.k = l++; - for (this.d = f(z(this.c, (le(), Oi)), 15).a, this.a = f(z(this.c, Do), 59), this.b = I.c.length, p = k8, L = new M(I); L.a < L.c.c.length; ) - m = f(O(L), 9), m.g == (et(), Hn) && m.j.a < p && (p = m.j.a); - for (p = 50 > p ? 50 : p, i = new Se(), Y = p + this.d, j = new M(I); j.a < j.c.c.length; ) - if (m = f(O(j), 9), m.g == (et(), Hn) && m.j.a > Y) { - for (R = 1, s = m.j.a; s > p; ) - ++R, s = (m.j.a - (R - 1) * this.d) / R; - Le(i, new gN(this, m, R)); - } - for (S = new M(i); S.a < S.c.c.length; ) - m = f(O(S), 268), Iee(m) && sJ(m); - Ct(n); - }, w.b = 0, w.d = 0; - var hz = !1; - G(bt, "BigNodesSplitter", 442), A(268, 1, { 268: 1 }, gN), w.a = 0, w.e = 4, G(bt, "BigNodesSplitter/BigNode", 268), A(443, 1, pn, ht), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S; - for (Nt(n, "Comment post-processing", 1), m = f(z(t, (le(), Oi)), 15).a, h = new M(t.c); h.a < h.c.c.length; ) { - for (l = f(O(h), 16), s = new Se(), p = new M(l.a); p.a < p.c.c.length; ) - v = f(O(p), 9), S = f(z(v, Jd), 20), i = f(z(v, Zd), 20), (S || i) && (ree(v, S, i, m), S && Tn(s, S), i && Tn(s, i)); - Tn(l.a, s); - } - Ct(n); - }, G(bt, "CommentPostprocessor", 443), A(444, 1, pn, Rt), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q; - for (Nt(n, "Comment pre-processing", 1), p = new M(t.b); p.a < p.c.c.length; ) - if (v = f(O(p), 9), Pt(ge(jt(z(v, (Ee(), $d)))))) { - for (s = 0, i = null, m = null, I = new M(v.f); I.a < I.c.c.length; ) - L = f(O(I), 7), s += L.b.c.length + L.e.c.length, L.b.c.length == 1 && (i = f(_e(L.b, 0), 12), m = i.c), L.e.c.length == 1 && (i = f(_e(L.e, 0), 12), m = i.d); - if (s == 1 && m.b.c.length + m.e.c.length == 1 && !Pt(ge(jt(z(m.f, $d))))) - xee(v, i, m, m.f), bd(p); - else { - for (q = new Se(), j = new M(v.f); j.a < j.c.c.length; ) { - for (L = f(O(j), 7), x = new M(L.e); x.a < x.c.c.length; ) - S = f(O(x), 12), S.d.e.c.length == 0 || (q.c[q.c.length] = S); - for (h = new M(L.b); h.a < h.c.c.length; ) - l = f(O(h), 12), l.c.b.c.length == 0 || (q.c[q.c.length] = l); - } - for (Y = new M(q); Y.a < Y.c.c.length; ) - R = f(O(Y), 12), bu(R, !0); - } - } - Ct(n); - }, G(bt, "CommentPreprocessor", 444), A(445, 1, pn, Lt), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "Edge and layer constraint edge reversal", 1), S = new M(t.b); S.a < S.c.c.length; ) { - switch (m = f(O(S), 9), v = f(z(m, (zt(), Er)), 85), h = null, v.e) { - case 1: - case 2: - h = (nh(), lb); - break; - case 3: - case 4: - h = (nh(), yp); - } - if (h) - ce(m, (le(), oE), (nh(), lb)), h == yp ? jC(m, v, (sr(), ri)) : h == lb && jC(m, v, (sr(), Ai)); - else if (ds(f(z(m, (Ee(), dt)), 28)) && m.f.c.length != 0) { - for (i = !0, L = new M(m.f); L.a < L.c.c.length; ) { - if (x = f(O(L), 7), !(x.g == (we(), Be) && x.b.c.length - x.e.c.length > 0 || x.g == qe && x.b.c.length - x.e.c.length < 0)) { - i = !1; - break; - } - if (x.g == qe) { - for (l = new M(x.e); l.a < l.c.c.length; ) - if (s = f(O(l), 12), p = f(z(s.d.f, Er), 85), p == ($i(), ev) || p == Tu) { - i = !1; - break; - } - } - if (x.g == Be) { - for (l = new M(x.b); l.a < l.c.c.length; ) - if (s = f(O(l), 12), p = f(z(s.c.f, Er), 85), p == ($i(), db) || p == gc) { - i = !1; - break; - } - } - } - i && jC(m, v, (sr(), hE)); - } - } - Ct(n); - }, G(bt, "EdgeAndLayerConstraintEdgeReverser", 445), A(446, 1, pn, yt), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "End label placement", 1), v = f(z(t, (Ee(), wh)), 15).a, this.a = (On(), new $t()), this.c = new $t(), this.b = new $t(), m = new M(t.c); m.a < m.c.c.length; ) - for (p = f(O(m), 16), x = new M(p.a); x.a < x.c.c.length; ) - for (S = f(O(x), 9), s = Dt(En(S)); xt(s); ) - for (i = f(Et(s), 12), h = new M(i.b); h.a < h.c.c.length; ) - l = f(O(h), 33), (He(z(l, da)) === He((ys(), ph)) || He(z(l, da)) === He(sl)) && (L = null, He(z(l, da)) === He(ph) ? L = i.c : He(z(l, da)) === He(sl) && (L = i.d), Qf(this.a, L.f) || un(this.a, L.f, 0), Qf(this.c, L.f) || un(this.c, L.f, 0), Qf(this.b, L) || un(this.b, L, 0), He(z(l, (le(), lo))) === He((Gi(), ns)) ? fJ(l, L, v) : lJ(l, L, v)); - Ct(n); - }, G(bt, "EndLabelProcessor", 446), A(269, 1, pn, Mw), w.sc = function(t, n) { - var i, s, l, h, v; - for (Nt(n, "Graph transformation (" + this.a + ")", 1), l = Gc(t.b), s = new M(t.c); s.a < s.c.c.length; ) - i = f(O(s), 16), Tn(l, i.a); - switch (this.a.e) { - case 0: - HR(l, t); - break; - case 1: - MR(l), v = f(z(t, (zt(), Nh)), 115), v && ce(t, Nh, UM(v)), ao(t.d), ao(t.e); - break; - case 2: - HR(l, t), See(l, t), MR(l), h = f(z(t, (zt(), Nh)), 115), h && ce(t, Nh, UM(h)), ao(t.d), ao(t.e); - } - Ct(n); - }, G(bt, "GraphTransformer", 269), A(221, 17, { 221: 1, 3: 1, 23: 1, 17: 1 }, im); - var uT, cT, lT, ite = At(bt, "GraphTransformer/Mode", 221, an, rV); - A(448, 1, pn, Mt), w.sc = function(t, n) { - Nt(n, "Hierarchical port constraint processing", 1), gK(t), Gee(t), Ct(n); - }, G(bt, "HierarchicalPortConstraintProcessor", 448), A(449, 1, jr, In), w.$b = function(t, n) { - return CK(f(t, 9), f(n, 9)); - }, G(bt, "HierarchicalPortConstraintProcessor/NodeComparator", 449), A(450, 1, pn, Pn), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "Hierarchical port dummy size processing", 1), m = new Se(), L = new Se(), p = f(z(t, (le(), Oi)), 15).a, x = p * f(z(t, (zt(), Qs)), 15).a, i = x * 2, l = new M(t.c); l.a < l.c.c.length; ) { - for (s = f(O(l), 16), m.c = ve(Ze, Me, 1, 0, 4, 1), L.c = ve(Ze, Me, 1, 0, 4, 1), v = new M(s.a); v.a < v.c.c.length; ) - h = f(O(v), 9), h.g == (et(), Cn) && (S = f(z(h, _r), 32), S == (we(), rt) ? m.c[m.c.length] = h : S == ct && (L.c[L.c.length] = h)); - gA(m, !0, i), gA(L, !1, i); - } - Ct(n); - }, G(bt, "HierarchicalPortDummySizeProcessor", 450), A(451, 1, pn, Vt), w.sc = function(t, n) { - var i, s, l, h; - Nt(n, "Orthogonally routing hierarchical port edges", 1), this.a = 0, i = ZQ(t), eee(t, i), HJ(this, t, i), gee(t), s = f(z(t, (Ee(), dt)), 28), l = t.c, AR((Sn(0, l.c.length), f(l.c[0], 16)), s, t), AR(f(_e(l, l.c.length - 1), 16), s, t), h = t.c, bR((Sn(0, h.c.length), f(h.c[0], 16))), bR(f(_e(h, h.c.length - 1), 16)), Ct(n); - }, w.a = 0, G(bt, "HierarchicalPortOrthogonalEdgeRouter", 451), A(452, 1, jr, ar), w.$b = function(t, n) { - return _F(f(t, 9), f(n, 9)); - }, G(bt, "HierarchicalPortOrthogonalEdgeRouter/1", 452), A(453, 1, jr, Qe), w.$b = function(t, n) { - return xW(f(t, 9), f(n, 9)); - }, G(bt, "HierarchicalPortOrthogonalEdgeRouter/2", 453), A(454, 1, pn, ne), w.sc = function(t, n) { - var i; - Nt(n, "Hierarchical port position processing", 1), i = t.c, i.c.length > 0 && lR((Sn(0, i.c.length), f(i.c[0], 16)), t), i.c.length > 1 && lR(f(_e(i, i.c.length - 1), 16), t), Ct(n); - }, G(bt, "HierarchicalPortPositionProcessor", 454), A(471, 1, pn, Ie), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (Nt(n, "Hyperedge merging", 1), I = new fn(t.c, 0); I.b < I.d.Y(); ) - if (j = (ut(I.b < I.d.Y()), f(I.d.sb(I.c = I.b++), 16)), Y = j.a, Y.c.length != 0) - for (p = null, L = null, R = 0; R < Y.c.length; R++) - i = (Sn(R, Y.c.length), f(Y.c[R], 9)), v = i.g, v == (et(), hn) && L == hn && (l = f(z(i, (le(), Mi)), 7), S = f(z(p, Mi), 7), h = f(z(i, Si), 7), x = f(z(p, Si), 7), s = !!l || !!h, m = !!S || !!x, s && m && (l == S || h == x) && (YX(i, p, l == S, h == x), Sn(R, Y.c.length), aS(Y.c, R, 1), --R, i = p, v = L)), p = i, L = v; - Ct(n); - }, G(bt, "HyperedgeDummyMerger", 471), A(472, 1, pn, Je), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "Hypernodes processing", 1), l = new M(t.c); l.a < l.c.c.length; ) - for (s = f(O(l), 16), p = new M(s.a); p.a < p.c.c.length; ) - if (v = f(O(p), 9), Pt(ge(jt(z(v, (Ee(), qg))))) && v.f.c.length <= 2) { - for (L = 0, x = 0, i = 0, h = 0, S = new M(v.f); S.a < S.c.c.length; ) - switch (m = f(O(S), 7), m.g.e) { - case 1: - ++L; - break; - case 2: - ++x; - break; - case 3: - ++i; - break; - case 4: - ++h; - } - L == 0 && i == 0 && Mee(t, v, h <= x); - } - Ct(n); - }, G(bt, "HypernodesProcessor", 472), A(473, 1, pn, Ye), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x; - for (Nt(n, "Layer constraint edge reversal", 1), v = new M(t.c); v.a < v.c.c.length; ) { - for (h = f(O(v), 16), x = -1, i = new Se(), S = f(Vn(h.a, ve(kr, Ni, 9, h.a.c.length, 0, 1)), 51), l = 0; l < S.length; l++) - s = f(z(S[l], (le(), Zs)), 140), x == -1 ? s != (ms(), gf) && (x = l) : s == (ms(), gf) && (Ar(S[l], null), oh(S[l], x++, h)), s == (ms(), Lh) && Le(i, S[l]); - for (m = new M(i); m.a < m.c.c.length; ) - p = f(O(m), 9), Ar(p, null), Ar(p, h); - } - Ct(n); - }, G(bt, "InLayerConstraintProcessor", 473), A(474, 1, pn, Fe), w.sc = function(t, n) { - var i, s, l, h, v, p; - if (f(z(t, (le(), qr)), 18).kb((vr(), as))) { - for (p = new M(t.b); p.a < p.c.c.length; ) - h = f(O(p), 9), h.g == (et(), Hn) && (l = f(z(h, (Ee(), Vg)), 65), this.c = Xt(this.c, h.i.a - l.b), this.a = je(this.a, h.i.a + h.j.a + l.c), this.d = Xt(this.d, h.i.b - l.d), this.b = je(this.b, h.i.b + h.j.b + l.a)); - for (v = new M(t.b); v.a < v.c.c.length; ) - if (h = f(O(v), 9), h.g != (et(), Hn)) - switch (h.g.e) { - case 2: - if (s = f(z(h, (zt(), Er)), 85), s == ($i(), gc)) { - h.i.a = this.c - 10, aO(h, new bn()).A(new RP(h)); - break; - } - if (s == Tu) { - h.i.a = this.a + 10, aO(h, new tt()).A(new BP(h)); - break; - } - if (i = f(z(h, Zs), 140), i == (ms(), gf)) { - SR(h).A(new zP(h)), h.i.b = this.d - 10; - break; - } - if (i == Lh) { - SR(h).A(new HP(h)), h.i.b = this.b + 10; - break; - } - break; - default: - throw new tn("The node type " + h.g + " is not supported by the " + ate); - } - } - }, w.a = Hr, w.b = Hr, w.c = ki, w.d = ki; - var ate = G(bt, "InteractiveExternalPortPositioner", 474); - A(475, 1, yi, bn), w.B = function(t) { - return f(t, 12).d.f; - }, G(bt, "InteractiveExternalPortPositioner/lambda$0$Type", 475), A(476, 1, yi, RP), w.B = function(t) { - return GF(this.a, t); - }, G(bt, "InteractiveExternalPortPositioner/lambda$1$Type", 476), A(477, 1, yi, tt), w.B = function(t) { - return f(t, 12).c.f; - }, G(bt, "InteractiveExternalPortPositioner/lambda$2$Type", 477), A(478, 1, yi, BP), w.B = function(t) { - return $F(this.a, t); - }, G(bt, "InteractiveExternalPortPositioner/lambda$3$Type", 478), A(479, 1, yi, zP), w.B = function(t) { - return QF(this.a, t); - }, G(bt, "InteractiveExternalPortPositioner/lambda$4$Type", 479), A(480, 1, yi, HP), w.B = function(t) { - return JF(this.a, t); - }, G(bt, "InteractiveExternalPortPositioner/lambda$5$Type", 480), A(37, 17, { 37: 1, 3: 1, 23: 1, 17: 1 }, nn); - var Ek, ib, Sk, Ck, fT, hT, dT, vT, xk, sp, gT, bT, pT, wT, Vd, mT, yT, kT, Tk, up, Lk, ET, cp, lp, fp, ST, Th, hp, CT, xT, TT, Pk, Dk, LT, PT, dp, vp, DT, jT, NT, jk, Nk, Ik, IT, MT, OT, AT, RT, BT, zT, dz = At(bt, "IntermediateProcessorStrategy", 37, an, $Z); - A(503, 1, pn, Gt), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (Nt(n, "Inverted port preprocessing", 1), S = t.c, m = new fn(S, 0), i = null, U = new Se(); m.b < m.d.Y(); ) { - for (V = i, i = (ut(m.b < m.d.Y()), f(m.d.sb(m.c = m.b++), 16)), j = new M(U); j.a < j.c.c.length; ) - x = f(O(j), 9), Ar(x, V); - for (U.c = ve(Ze, Me, 1, 0, 4, 1), I = new M(i.a); I.a < I.c.c.length; ) - if (x = f(O(I), 9), x.g == (et(), Hn) && ds(f(z(x, (Ee(), dt)), 28))) { - for (q = vC(x, (sr(), Ai), (we(), Be)).mb(); q.G(); ) - for (R = f(q.H(), 7), p = R.b, v = f(Vn(p, ve(Ki, Yi, 12, p.c.length, 0, 1)), 47), l = 0, h = v.length; l < h; ++l) - s = v[l], GQ(t, R, s, U); - for (Y = vC(x, ri, qe).mb(); Y.G(); ) - for (R = f(Y.H(), 7), p = R.e, v = f(Vn(p, ve(Ki, Yi, 12, p.c.length, 0, 1)), 47), l = 0, h = v.length; l < h; ++l) - s = v[l], AX(t, R, s, U); - } - } - for (L = new M(U); L.a < L.c.c.length; ) - x = f(O(L), 9), Ar(x, i); - Ct(n); - }, G(bt, "InvertedPortProcessor", 503), A(481, 1, pn, tr), w.sc = function(t, n) { - Nt(n, "Node and Port Label Placement and Node Sizing", 1), jY((Rw(), Rw(), new hS(t, !1))), Ct(n); - }, G(bt, "LabelAndNodeSizeProcessor", 481), A(482, 1, pn, sP), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - for (Nt(n, "Label dummy insertions", 1), j = new Se(), x = f(z(t, (Ee(), wh)), 15).a, L = f(z(t, Do), 59), R = new M(t.b); R.a < R.c.c.length; ) - for (I = f(O(R), 9), q = new M(I.f); q.a < q.c.c.length; ) - for (Y = f(O(q), 7), p = new M(Y.e); p.a < p.c.c.length; ) - if (v = f(O(p), 12), v.c.f != v.d.f && Mj(v.b, vz)) { - for (U = Ic(v.b.c.length), i = new qa(t), Ha(i, (et(), Ka)), ce(i, (le(), lt), v), ce(i, DL, U), ce(i, dt, (zn(), ni)), ce(i, Mi, v.c), ce(i, Si, v.d), j.c[j.c.length] = i, GA(v, i), te = f(z(v, Jo), 15).a, te < 0 && (te = 0, ce(v, Jo, new Ut(te))), V = Math.floor(te / 2), l = new M(i.f); l.a < l.c.c.length; ) - s = f(O(l), 7), s.i.b = V; - for (h = i.j, m = new fn(v.b, 0); m.b < m.d.Y(); ) - S = (ut(m.b < m.d.Y()), f(m.d.sb(m.c = m.b++), 33)), He(z(S, da)) === He((ys(), $g)) && (L == ($n(), Ws) || L == Ts ? (h.a += S.j.a + x, h.b = je(h.b, S.j.b)) : (h.a = je(h.a, S.j.a), h.b += S.j.b + x), U.c[U.c.length] = S, So(m)); - (L == ($n(), Ws) || L == Ts) && (h.a -= x), h.b += x + te; - } - Tn(t.b, j), Ct(n); - }; - var vz; - G(bt, "LabelDummyInserter", 482), A(483, 1, uo, hr), w.D = function(t) { - return He(z(f(t, 33), (Ee(), da))) === He((ys(), $g)); - }, G(bt, "LabelDummyInserter/1", 483), A(484, 1, pn, Dn), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j; - for (Nt(n, "Label dummy removal", 1), l = f(z(t, (Ee(), wh)), 15).a, p = f(z(t, Do), 59), v = new M(t.c); v.a < v.c.c.length; ) - for (h = f(O(v), 16), S = new fn(h.a, 0); S.b < S.d.Y(); ) - m = (ut(S.b < S.d.Y()), f(S.d.sb(S.c = S.b++), 9)), m.g == (et(), Ka) && (x = f(z(m, (le(), lt)), 12), j = f(z(x, Jo), 15).a, i = new qn(m.i), He(z(m, lo)) === He((Gi(), Us)) && (i.b += j + l), s = new ot(m.j.a, m.j.b - j - l), L = f(z(m, DL), 20), p == ($n(), Ws) || p == Ts ? GU(L, i, l, s, He(z(m, lo)) !== He(ns)) : IU(L, i, l, s), Tn(x.b, L), TR(m, !1), So(S)); - Ct(n); - }, G(bt, "LabelDummyRemover", 484), A(485, 1, pn, rr), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (Nt(n, "Label dummy switching", 1), i = new Se(), L = new Se(), p = new Se(), I = new Se(), v = new M(t.c); v.a < v.c.c.length; ) - for (h = f(O(v), 16), x = new M(h.a); x.a < x.c.c.length; ) - if (S = f(O(x), 9), S.g == (et(), Ka)) { - i.c[i.c.length] = S, p.c = ve(Ze, Me, 1, 0, 4, 1), I.c = ve(Ze, Me, 1, 0, 4, 1), Y = S; - do - Y = f(Et(Dt(Lr(Y))), 12).c.f, Y.g == hn && (p.c[p.c.length] = Y); - while (Y.g == hn); - U = S; - do - U = f(Et(Dt(En(U))), 12).d.f, U.g == hn && (I.c[I.c.length] = U); - while (U.g == hn); - m = p.c.length, R = I.c.length, m > R + 1 ? (j = (m + R) / 2 | 0, Le(L, new pr(S, (Sn(j, p.c.length), f(p.c[j], 9))))) : R > m + 1 && (j = ((R - m) / 2 | 0) - 1, Le(L, new pr(S, (Sn(j, I.c.length), f(I.c[j], 9))))); - } - for (V = new M(L); V.a < V.c.c.length; ) - q = f(O(V), 27), gJ(f(q.a, 9), f(q.b, 9)); - for (l = new M(i); l.a < l.c.c.length; ) - s = f(O(l), 9), NM(s, new wn(), (le(), Si)), NM(s, new jn(), Mi); - Ct(n); - }, G(bt, "LabelDummySwitcher", 485), A(486, 1, yi, wn), w.B = function(t) { - return f(Et(Dt(Lr(f(t, 9)))), 12).c.f; - }, G(bt, "LabelDummySwitcher/lambda$0$Type", 486), A(487, 1, yi, jn), w.B = function(t) { - return f(Et(Dt(En(f(t, 9)))), 12).d.f; - }, G(bt, "LabelDummySwitcher/lambda$1$Type", 487), A(488, 1, pn, ui), w.sc = function(t, n) { - Nt(n, "Label management", 1), y1(z(t, (Y4(), xx))), Ct(n); - }, G(bt, "LabelManagementProcessor", 488), A(489, 1, pn, uP), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - switch (m = f(z(t, (zt(), Nh)), 115), Nt(n, "Label side selection (" + m + ")", 1), S = (vt(t), new Gf(t)), m.e) { - case 0: - AZ(S); - break; - case 1: - OZ(S); - break; - case 2: - xX(S); - break; - case 3: - CX(S); - break; - case 4: - XJ(S); - } - for (p = new M(t.c); p.a < p.c.c.length; ) - for (v = f(O(p), 16), s = new M(v.a); s.a < s.c.c.length; ) { - for (i = f(O(s), 9), I = new M(i.f); I.a < I.c.c.length; ) - for (L = f(O(I), 7), h = new M(L.c); h.a < h.c.c.length; ) - l = f(O(h), 33), He(z(l, (le(), lo))) === He((Gi(), nb)) && ce(l, lo, gz); - if (i.g == (et(), Ka) && He(z(i, (le(), lo))) === He((Gi(), ns))) - for (x = f(z(i, lt), 12), Y = f(z(x, (Ee(), Jo)), 15).a, R = i.j.b - Math.ceil(Y / 2), j = new M(i.f); j.a < j.c.c.length; ) - L = f(O(j), 7), L.i.b = R; - } - Ct(n); - }; - var gz; - G(bt, "LabelSideSelector", 489), A(490, 1, jr, aa), w.$b = function(t, n) { - return _q(f(t, 7), f(n, 7)); - }, G(bt, "LabelSideSelector/1", 490), A(495, 1, pn, cs), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - if (Nt(n, "Layer constraint application", 1), S = t.c, S.c.length == 0) { - Ct(n); - return; - } - for (h = (Sn(0, S.c.length), f(S.c[0], 16)), v = f(_e(S, S.c.length - 1), 16), U = new Hc(t), te = new Hc(t), m = new M(S); m.a < m.c.c.length; ) - for (p = f(O(m), 16), Y = f(Vn(p.a, ve(kr, Ni, 9, p.a.c.length, 0, 1)), 51), j = 0, R = Y.length; j < R; ++j) - switch (L = Y[j], i = f(z(L, (zt(), Er)), 85), i.e) { - case 1: - Ar(L, h), JA(L, !1); - break; - case 2: - Ar(L, U), JA(L, !0); - break; - case 3: - Ar(L, v), oR(L); - break; - case 4: - Ar(L, te), oR(L); - } - if (S.c.length >= 2) { - for (x = !0, q = (Sn(1, S.c.length), f(S.c[1], 16)), I = new M(h.a); I.a < I.c.c.length; ) { - if (L = f(O(I), 9), He(z(L, (zt(), Er))) === He(($i(), pf))) { - x = !1; - break; - } - for (l = Dt(En(L)); xt(l); ) - if (s = f(Et(l), 12), s.d.f.d == q) { - x = !1; - break; - } - if (!x) - break; - } - if (x) { - for (Y = f(Vn(h.a, ve(kr, Ni, 9, h.a.c.length, 0, 1)), 51), j = 0, R = Y.length; j < R; ++j) - L = Y[j], Ar(L, q); - Cr(S, h); - } - } - if (S.c.length >= 2) { - for (x = !0, V = f(_e(S, S.c.length - 2), 16), I = new M(v.a); I.a < I.c.c.length; ) { - if (L = f(O(I), 9), He(z(L, (zt(), Er))) === He(($i(), pf))) { - x = !1; - break; - } - for (l = Dt(Lr(L)); xt(l); ) - if (s = f(Et(l), 12), s.c.f.d == V) { - x = !1; - break; - } - if (!x) - break; - } - if (x) { - for (Y = f(Vn(v.a, ve(kr, Ni, 9, v.a.c.length, 0, 1)), 51), j = 0, R = Y.length; j < R; ++j) - L = Y[j], Ar(L, V); - Cr(S, v); - } - } - S.c.length == 1 && (Sn(0, S.c.length), f(S.c[0], 16)).a.c.length == 0 && Fl(S, 0), U.a.c.length == 0 || (qc(0, S.c.length), _v(S.c, 0, U)), te.a.c.length == 0 || (S.c[S.c.length] = te), Ct(n); - }, G(bt, "LayerConstraintProcessor", 495), A(496, 1, pn, ls), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - for (Nt(n, "Layer size calculation", 1), S = Zo, m = 5e-324, v = new M(t.c); v.a < v.c.c.length; ) - if (h = f(O(v), 16), p = h.c, p.a = 0, p.b = 0, h.a.c.length != 0) { - for (L = new M(h.a); L.a < L.c.c.length; ) - x = f(O(L), 9), I = x.j, j = x.e, p.a = je(p.a, I.a + j.b + j.c); - s = f(_e(h.a, 0), 9), R = s.i.b - s.e.d, l = f(_e(h.a, h.a.c.length - 1), 9), i = l.i.b + l.j.b + l.e.a, p.b = i - R, S = S < R ? S : R, m = m > i ? m : i; - } - t.e.b = m - S, t.d.b -= S, Ct(n); - }, G(bt, "LayerSizeAndGraphHeightCalculator", 496), A(497, 1, pn, Bo), w.sc = function(t, n) { - var i, s, l, h, v; - for (Nt(n, "Edge joining", 1), i = Pt(ge(jt(z(t, (zt(), dE))))), l = new M(t.c); l.a < l.c.c.length; ) - for (s = f(O(l), 16), v = new fn(s.a, 0); v.b < v.d.Y(); ) - h = (ut(v.b < v.d.Y()), f(v.d.sb(v.c = v.b++), 9)), h.g == (et(), hn) && (TR(h, i), So(v)); - Ct(n); - }, G(bt, "LongEdgeJoiner", 497), A(498, 1, pn, za), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I; - if (Nt(n, "Edge splitting", 1), t.c.c.length <= 2) { - Ct(n); - return; - } - for (h = new fn(t.c, 0), v = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 16)); h.b < h.d.Y(); ) - for (l = v, v = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 16)), m = new M(l.a); m.a < m.c.c.length; ) - for (p = f(O(m), 9), x = new M(p.f); x.a < x.c.c.length; ) - for (S = f(O(x), 7), s = new M(S.e); s.a < s.c.c.length; ) - i = f(O(s), 12), j = i.d, L = j.f.d, L != l && L != v && GA(i, (I = new qa(t), Ha(I, (et(), hn)), ce(I, (le(), lt), i), ce(I, (Ee(), dt), (zn(), ni)), Ar(I, v), I)); - Ct(n); - }, G(bt, "LongEdgeSplitter", 498), A(499, 1, pn, ru), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S; - for (Nt(n, "Node margin calculation", 1), i = new IP((Rw(), new hS(t, !0))), nK(i), p = f(z(t, (le(), Oi)), 15).a, l = new M(t.c); l.a < l.c.c.length; ) - for (s = f(O(l), 16), v = new M(s.a); v.a < v.c.c.length; ) - h = f(O(v), 9), kQ(h, p), m = h.e, S = f(z(h, jL), 65), m.b = je(m.b, S.b), m.c = je(m.c, S.c), m.a = je(m.a, S.a), m.d = je(m.d, S.d); - Ct(n); - }, G(bt, f8, 499), A(491, 1, pn, Mu), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - switch (Nt(n, "Node promotion heuristic", 1), this.g = t, vee(this), this.q = f(z(t, (zt(), jp)), 109), S = f(z(this.g, AL), 24).a, l = new Tl(), this.q.e) { - case 2: - case 1: - lh(this, l); - break; - case 3: - for (this.q = (Xc(), bp), lh(this, l), p = 0, v = new M(this.a); v.a < v.c.c.length; ) - h = f(O(v), 24), p = Jr(p, h.a); - p > this.j && (this.q = ab, lh(this, l)); - break; - case 4: - for (this.q = (Xc(), bp), lh(this, l), m = 0, s = new M(this.b); s.a < s.c.c.length; ) - i = Ot(O(s)), m = je(m, (or(i), i)); - m > this.k && (this.q = ob, lh(this, l)); - break; - case 6: - L = Xn(v1(this.f.length * S / 100)), lh(this, new _P(L)); - break; - case 5: - x = Xn(v1(this.d * S / 100)), lh(this, new GP(x)); - break; - default: - lh(this, l); - } - VX(this, t), Ct(n); - }, w.d = 0, w.e = 0, w.i = 0, w.j = 0, w.k = 0, w.n = 0, G(bt, "NodePromotion", 491), A(492, 1, yi, Tl), w.B = function(t) { - return yn(), yn(), ii; - }, G(bt, "NodePromotion/lambda$0$Type", 492), A(493, 1, yi, _P), w.B = function(t) { - return Nq(this.a, t); - }, w.a = 0, G(bt, "NodePromotion/lambda$1$Type", 493), A(494, 1, yi, GP), w.B = function(t) { - return Iq(this.a, t); - }, w.a = 0, G(bt, "NodePromotion/lambda$2$Type", 494), A(109, 17, { 109: 1, 3: 1, 23: 1, 17: 1 }, Il); - var HT, ab, _T, GT, ob, $T, gp, bp, bz = At(bt, "NodePromotionStrategy", 109, an, TW), pz; - A(500, 1, pn, xc), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue; - for (Nt(n, x8, 1), I = f(z(t, (Ee(), of)), 122), l = new M(t.c); l.a < l.c.c.length; ) - for (s = f(O(l), 16), m = f(Vn(s.a, ve(kr, Ni, 9, s.a.c.length, 0, 1)), 51), v = 0, p = m.length; v < p; ++v) - if (h = m[v], h.g == (et(), er)) { - if (I == (fu(), U2)) - for (x = new M(h.f); x.a < x.c.c.length; ) - S = f(O(x), 7), S.b.c.length == 0 || AK(S), S.e.c.length == 0 || RK(S); - else if (xe(z(h, (le(), lt)), 12)) - Y = f(z(h, lt), 12), q = f(Jn(h, (we(), qe)).mb().H(), 7), V = f(Jn(h, Be).mb().H(), 7), U = f(z(q, lt), 7), te = f(z(V, lt), 7), Bn(Y, te), kn(Y, U), ue = new qn(V.f.i), ue.a = ln(re(ie(_t, 1), Ht, 10, 0, [te.f.i, te.i, te.a])).a, rn(Y.a, ue), ue = new qn(q.f.i), ue.a = ln(re(ie(_t, 1), Ht, 10, 0, [U.f.i, U.i, U.a])).a, rn(Y.a, ue); - else { - if (h.f.c.length >= 2) { - for (R = !0, L = new M(h.f), i = f(O(L), 7); L.a < L.c.c.length; ) - if (j = i, i = f(O(L), 7), !xo(z(j, lt), z(i, lt))) { - R = !1; - break; - } - } else - R = !1; - for (x = new M(h.f); x.a < x.c.c.length; ) - S = f(O(x), 7), S.b.c.length == 0 || JX(S, R), S.e.c.length == 0 || eQ(S, R); - } - Ar(h, null); - } - Ct(n); - }, G(bt, "NorthSouthPortPostprocessor", 500), A(501, 1, pn, Ll), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue; - for (Nt(n, x8, 1), R = new Se(), ue = new Se(), S = new M(t.c); S.a < S.c.c.length; ) - for (m = f(O(S), 16), q = -1, I = f(Vn(m.a, ve(kr, Ni, 9, m.a.c.length, 0, 1)), 51), L = 0, j = I.length; L < j; ++L) - if (x = I[L], ++q, !!(x.g == (et(), Hn) && ds(f(z(x, (Ee(), dt)), 28)))) { - for (gi(f(z(x, (Ee(), dt)), 28)) || OX(x), ce(x, (le(), bl), x), R.c = ve(Ze, Me, 1, 0, 4, 1), ue.c = ve(Ze, Me, 1, 0, 4, 1), i = new Se(), te = new Wr(), h3(te, Jn(x, (we(), rt))), YR(t, te, R, ue, i), p = q, h = new M(R); h.a < h.c.c.length; ) - s = f(O(h), 9), oh(s, p, m), ++q, ce(s, bl, x), v = f(_e(s.f, 0), 7), Y = f(z(v, lt), 7), Pt(ge(jt(z(Y, (zt(), SE))))) || f(z(s, Dh), 20).ib(x); - for (Bs(te), U = Jn(x, ct).mb(); U.G(); ) - V = f(U.H(), 7), wr(te, V, te.a, te.a.a); - for (YR(t, te, ue, null, i), l = new M(ue); l.a < l.c.c.length; ) - s = f(O(l), 9), oh(s, ++q, m), ce(s, bl, x), v = f(_e(s.f, 0), 7), Y = f(z(v, lt), 7), Pt(ge(jt(z(Y, (zt(), SE))))) || f(z(x, Dh), 20).ib(s); - i.c.length == 0 || ce(x, wL, i); - } - Ct(n); - }, G(bt, "NorthSouthPortPreprocessor", 501), A(502, 1, jr, Vh), w.$b = function(t, n) { - var i, s; - return i = t.g, s = n.g, i != s ? i.e - s.e : t.k == n.k ? 0 : i == (we(), rt) ? t.k - n.k : n.k - t.k; - }, G(bt, "NorthSouthPortPreprocessor/lambda$0$Type", 502), A(504, 1, pn, oa), w.sc = function(t, n) { - var i, s, l, h, v, p; - for (Nt(n, "Removing partition constraint edges", 1), s = new M(t.c); s.a < s.c.c.length; ) - for (i = f(O(s), 16), h = new M(i.a); h.a < h.c.c.length; ) - for (l = f(O(h), 9), p = new M(l.f); p.a < p.c.c.length; ) - v = f(O(p), 7), Pt(ge(jt(z(v, (le(), Lp))))) && bd(p); - Ct(n); - }, G(bt, "PartitionPostprocessor", 504), A(505, 1, pn, Tc), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "Adding partition constraint edges", 1), this.a = new Se(), p = new M(t.b); p.a < p.c.c.length; ) - h = f(O(p), 9), l = f(z(h, (Ee(), Hx)), 24), AW(this, l.a).ib(h); - for (s = 0; s < this.a.c.length - 1; s++) - for (v = f(_e(this.a, s), 20).mb(); v.G(); ) - for (h = f(v.H(), 9), x = new Yn(), cn(x, h), Bt(x, (we(), Be)), ce(x, (le(), Lp), (yn(), yn(), ii)), S = f(_e(this.a, s + 1), 20).mb(); S.G(); ) - m = f(S.H(), 9), L = new Yn(), cn(L, m), Bt(L, qe), ce(L, Lp, ii), i = new bs(), ce(i, Lp, ii), ce(i, (Ee(), Gx), gt(20)), Bn(i, x), kn(i, L); - this.a = null, Ct(n); - }, G(bt, "PartitionPreprocessor", 505), A(506, 1, pn, eo), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (Nt(n, "Port distribution", 1), i = iA(t), I = 0, x = 0, l = 0, v = i.length; l < v; ++l) - for (s = i[l], m = 0, S = s.length; m < S; ++m) - for (p = s[m], p.k = x++, j = new M(p.f); j.a < j.c.c.length; ) - L = f(O(j), 7), L.k = I++; - for (h = new M(t.c); h.a < h.c.c.length; ) - s = f(O(h), 16), vX(s); - Y = f(z(t, (le(), jh)), 154), R = Xl(Y, 1) != 0 ? new Gw(ve(Op, F0, 26, I, 12, 1)) : new eS(ve(Op, F0, 26, I, 12, 1)), OO(R, i), Ct(n); - }, G(bt, "PortDistributionProcessor", 506), A(507, 1, pn, ma), w.sc = function(t, n) { - var i, s, l, h, v; - for (Nt(n, "Port order processing", 1), v = new to(), s = new M(t.c); s.a < s.c.c.length; ) - for (i = f(O(s), 16), h = new M(i.a); h.a < h.c.c.length; ) - l = f(O(h), 9), ds(f(z(l, (Ee(), dt)), 28)) && Ya(l.f, v); - Ct(n); - }, G(bt, "PortListSorter", 507), A(508, 1, jr, to), w.$b = function(t, n) { - return LQ(f(t, 7), f(n, 7)); - }, G(bt, "PortListSorter/PortComparator", 508), A(509, 1, pn, Wh), w.sc = function(t, n) { - var i, s, l, h, v; - for (Nt(n, "Port side processing", 1), v = new M(t.b); v.a < v.c.c.length; ) - l = f(O(v), 9), uA(l); - for (s = new M(t.c); s.a < s.c.c.length; ) - for (i = f(O(s), 16), h = new M(i.a); h.a < h.c.c.length; ) - l = f(O(h), 9), uA(l); - Ct(n); - }, G(bt, "PortSideProcessor", 509), A(510, 1, pn, Os), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "Restoring reversed edges", 1), p = new M(t.c); p.a < p.c.c.length; ) - for (v = f(O(p), 16), S = new M(v.a); S.a < S.c.c.length; ) - for (m = f(O(S), 9), L = new M(m.f); L.a < L.c.c.length; ) - for (x = f(O(L), 7), h = f(Vn(x.e, ve(Ki, Yi, 12, x.e.c.length, 0, 1)), 47), s = 0, l = h.length; s < l; ++s) - i = h[s], Pt(ge(jt(z(i, (le(), Xs))))) && bu(i, !1); - Ct(n); - }, G(bt, "ReversedEdgeRestorer", 510), A(511, 1, pn, qb), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn; - if (Nt(n, "Sausage Folding", 1), this.b = f(z(t, (le(), Oi)), 15).a, this.a = this.b * f(z(t, (zt(), tv)), 15).a, R = _Z(this, t), I = t.c.c.length, Y = xZ(this, t), st = I * Y, l = f(z(t, (Ee(), Do)), 59), l == ($n(), ja) || l == Fi || l == Po ? s = f(z(t, Ph), 15).a : s = 1 / f(z(t, Ph), 15).a, i = st / R, s > i) { - Ct(n); - return; - } - Xe = 0, h = Zo; - do - ++Xe, i = st / Xe / (R * Xe), j = h, h = i - s <= 0 ? 0 - (i - s) : i - s; - while (i > s); - for (j < h && --Xe, Ne = I / (1 > Xe ? 1 : Xe) | 0, S = Ne, ue = Ne, Nn = !0; S < I; ) { - L = f(_e(t.c, S), 16), Ue = !0, U = null, te = null; - e: - for (xn = new M(L.a); xn.a < xn.c.c.length; ) - for (Tt = f(O(xn), 9), p = Dt(Lr(Tt)); xt(p); ) { - if (v = f(Et(p), 12), U && U != Tt) { - Ue = !1; - break e; - } - if (U = Tt, it = v.c.f, te && te != it) { - Ue = !1; - break e; - } - te = it; - } - if (Nn && Ue && (ue = 0, Nn = !1), S != ue) { - for (ye = f(_e(t.c, ue), 16), V = new M(Gc(L.a)); V.a < V.c.c.length; ) - if (q = f(O(V), 9), oh(q, ye.a.c.length, ye), ue == 0) - for (p = new M(Gc(Lr(q))); p.a < p.c.c.length; ) - for (v = f(O(p), 12), bu(v, !0), ce(t, EL, (yn(), yn(), ii)), UQ(t, v), m = new Se(), VQ(t, v.c, v, m), be = new M(m); be.a < be.c.c.length; ) - Ce = f(O(be), 9), oh(Ce, ye.a.c.length - 1, ye); - } - ue >= Ne && (Nn = !0), ++ue, ++S; - } - for (x = new fn(t.c, 0); x.b < x.d.Y(); ) - L = (ut(x.b < x.d.Y()), f(x.d.sb(x.c = x.b++), 16)), L.a.c.length == 0 && So(x); - Ct(n); - }, w.a = 0, w.b = 0, G(bt, "SausageFolding", 511), A(512, 1, pn, bw), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (Nt(n, "Self-loop processing", 1), i = new Se(), x = new M(t.c); x.a < x.c.c.length; ) { - for (S = f(O(x), 16), i.c = ve(Ze, Me, 1, 0, 4, 1), j = new M(S.a); j.a < j.c.c.length; ) - for (L = f(O(j), 9), R = new M(L.f); R.a < R.c.c.length; ) - for (I = f(O(R), 7), m = f(Vn(I.e, ve(Ki, Yi, 12, I.e.c.length, 0, 1)), 47), v = 0, p = m.length; v < p; ++v) - h = m[v], h.c.f == h.d.f && (Y = h.c, V = h.d, q = Y.g, U = V.g, ((q == (we(), rt) || q == ct) && U == qe || q == ct && U == rt || q == Be && U != Be) && bu(h, !1), q == Be && U == qe ? Le(i, IA(t, h, V, Y)) : q == qe && U == Be && Le(i, IA(t, h, Y, V))); - for (l = new M(i); l.a < l.c.c.length; ) - s = f(O(l), 9), Ar(s, S); - } - Ct(n); - }, G(bt, "SelfLoopProcessor", 512), A(513, 1, pn, pw), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - for (Nt(n, "Spline SelfLoop positioning", 1), x = f(z(t, (zt(), xE)), 153), S = new M(t.c); S.a < S.c.c.length; ) - for (m = f(O(S), 16), j = new M(m.a); j.a < j.c.c.length; ) { - for (L = f(O(j), 9), v = f(z(L, (le(), lE)), 20), p = new Se(), l = v.mb(); l.G(); ) - i = f(l.H(), 75), zK(i), (I = y4(i.g), na(I, i.i), I).a.Y() == 0 ? p.c[p.c.length] = i : (JQ(i), i.g.a.Y() == 0 || VJ(i)); - switch (x.e) { - case 0: - R = new f9(L), fU(R), Oee(R, p); - break; - case 2: - for (h = new M(p); h.a < h.c.c.length; ) - i = f(O(h), 75), Dd(i, (wi(), Ds), !0); - break; - case 1: - for (s = new M(p); s.a < s.c.c.length; ) - i = f(O(s), 75), Dd(i, (wi(), Ds), !0); - } - switch (x.e) { - case 0: - case 1: - mQ(v); - break; - case 2: - wQ(v); - } - } - Ct(n); - }, G(bt, "SplineSelfLoopPositioner", 513), A(515, 1, {}, f9), G(bt, "SplineSelfLoopPositioner/DistributedLoopSidesCalculator", 515), A(516, 1, {}, KA), w.d = !0, G(bt, "SplineSelfLoopPositioner/DistributedLoopSidesCalculator/SortedLoopSides", 516), A(116, 1, { 116: 1 }, X7), w.a = 0, w.b = 0, G(bt, "SplineSelfLoopPositioner/DistributedLoopSidesCalculator/SortedLoopSides/SizeOfSide", 116), A(318, 1, {}, yC); - var vl; - G(bt, "SplineSelfLoopPositioner/PortReadder", 318), A(514, 1, jr, Tf), w.$b = function(t, n) { - return DF(f(t, 75), f(n, 75)); - }, G(bt, "SplineSelfLoopPositioner/TextWidthComparator", 514), A(517, 1, pn, yv), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U; - for (Nt(n, "Spline SelfLoop pre-processing.", 1), x = new _i(), j = new M(t.b); j.a < j.c.c.length; ) { - for (L = f(O(j), 9), oK(L), x.a.Q(), p = Dt(En(L)); xt(p); ) - h = f(Et(p), 12), Fc(h) && (I = x.a.db(h, x), I == null); - for (v = (R = new Wt(x.a).a.bb().mb(), new Zt(R)); v.a.G(); ) - h = (m = f(v.a.H(), 21), f(m.yb(), 12)), V = h.c.g, U = h.d.g, (V == (we(), rt) && (U == Be || U == ct) || V == Be && U == ct || V == ct && U == qe || V == qe && (U == rt || U == Be)) && bu(h, !1); - if (i = nX(x, L), ce(L, (le(), lE), i), !gi(f(z(L, (Ee(), dt)), 28))) { - for (q = new $r(), l = new M(i); l.a < l.c.c.length; ) - s = f(O(l), 75), na(q, ay(s)), na(q, s.i); - for (S = new fn(L.f, 0); S.b < S.d.Y(); ) - Y = (ut(S.b < S.d.Y()), f(S.d.sb(S.c = S.b++), 7)), q.a.R(Y) && So(S); - } - } - Ct(n); - }, G(bt, "SplineSelfLoopPreProcessor", 517), A(518, 1, pn, Uh), w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn; - for (Nt(n, "Spline SelfLoop routing", 1), Xe = new Wb(), j = new M(t.c); j.a < j.c.c.length; ) - for (L = f(O(j), 16), U = new M(L.a); U.a < U.c.c.length; ) { - for (V = f(O(U), 9), ue = V.f, I = new _i(), s = f(z(V, (le(), lE)), 20).mb(); s.G(); ) - i = f(s.H(), 75), na(I, i.a); - for (ye = new Se(), v = (te = new Wt(I.a).a.bb().mb(), new Zt(te)); v.a.G(); ) { - for (h = (p = f(v.a.H(), 21), f(p.yb(), 12)), Ne = h.c, st = h.d, x = new M(h.c.f.f), be = 0, it = 0, m = 0, S = 0; m < 2; ) - l = f(O(x), 7), Ne == l && (be = S, ++m), st == l && (it = S, ++m), ++S; - Ce = f(z(h, hb), 60), Ue = Ce == (wi(), No) || Ce == rs ? ue.c.length - (it - be < 0 ? -(it - be) : it - be) + 1 : it - be < 0 ? -(it - be) : it - be, Le(ye, new $N(be, it, Ue, Ce, h)); - } - if (Ya(ye, Xe), Y = new $r(), R = new M(ye), R.a < R.c.c.length) { - for (q = zR(f(O(R), 195), Y); R.a < R.c.c.length; ) - n3(q, zR(f(O(R), 195), Y)); - ce(V, jL, (Tt = new e1(), xn = new tA(V.j.a, V.j.b), Tt.d = je(0, xn.d - q.d), Tt.b = je(0, xn.b - q.b), Tt.a = je(0, q.a - xn.a), Tt.c = je(0, q.c - xn.c), Tt)); - } - } - Ct(n); - }, G(bt, "SplineSelfLoopRouter", 518), A(91, 1, { 91: 1 }, Nd), w.w = function() { - return this.b + ": " + this.d + " -> " + this.a + " " + P1(this.c); - }, w.a = 0, w.b = 0, w.d = 0, G(bt, "SplineSelfLoopRouter/LoopPadding", 91), A(521, 1, uo, Ej), w.D = function(t) { - return DK(this, f(t, 91)); - }, w.a = 0, w.c = 0, G(bt, "SplineSelfLoopRouter/LoopPadding/EnclosingPredicate", 521), A(520, 1, jr, Vb), w.$b = function(t, n) { - return PF(f(t, 91), f(n, 91)); - }, G(bt, "SplineSelfLoopRouter/LoopPadding/MarginComparator", 520), A(196, 1, uo, Xh), w.D = function(t) { - return f(t, 91).c == this.a; - }, G(bt, "SplineSelfLoopRouter/LoopPadding/PortSidePredicate", 196), A(195, 1, { 195: 1 }, $N), w.c = 0, w.d = 0, w.e = 0, G(bt, "SplineSelfLoopRouter/SelfLoopEdge", 195), A(519, 1, jr, Wb), w.$b = function(t, n) { - return QY(f(t, 195), f(n, 195)); - }, G(bt, "SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator", 519), A(82, 25, { 25: 1, 82: 1 }, aC), w.vc = function() { - var t, n, i, s; - for (n = Jt(this.a, 0); n.b != n.d.c; ) - t = f(Ft(n), 10), t.a = this.j.d; - for (s = Jt(this.c, 0); s.b != s.d.c; ) - i = f(Ft(s), 10), i.a = this.j.d; - }, w.wc = function() { - return this.b; - }, w.xc = function() { - return this.e; - }, w.w = function() { - return Qu(new Wt(this.d.a)); - }, w.b = 0, w.e = 0, G(Lo, "CLEdge", 82), A(93, 25, { 25: 1, 93: 1 }, QA), w.vc = function() { - this.b.i.a = this.j.d + this.b.e.b; - }, w.wc = function() { - return this.b.g == (et(), Cn) ? 0 : this.a; - }, w.xc = function() { - return this.b.g == (et(), Cn) ? 0 : this.c; - }, w.w = function() { - return ha(z(this.b, (le(), lt))); - }, w.a = 0, w.c = 0, G(Lo, "CLNode", 93), A(175, 17, { 175: 1, 3: 1, 23: 1, 17: 1 }, dS); - var YT, Mk, wz = At(Lo, "ConstraintCalculationStrategy", 175, an, Fq), mz; - A(125, 17, { 125: 1, 3: 1, 23: 1, 17: 1 }, fd); - var FT, qT, VT, WT, sb, UT, yz = At(Lo, "GraphCompactionStrategy", 125, an, eW), kz; - A(455, 1, pn, y9), w.sc = function(t, n) { - var i, s, l; - if (s = f(z(t, (zt(), Np)), 125), s != (jd(), sb)) { - switch (Nt(n, "Horizontal Compaction", 1), this.a = t, l = new QD(), i = new rC(nQ(l, t)), F7(i, this.b), f(z(t, CE), 175).e) { - case 1: - Y7(i, Ez); - break; - default: - Y7(i, (Ym(), rz)); - } - switch (s.e) { - case 1: - _s(i); - break; - case 2: - _s(Ss(i, ($n(), Fi))); - break; - case 3: - _s(Iv(Ss(_s(i), ($n(), Fi)))); - break; - case 4: - _s(Iv($w(Ss(_s(i), ($n(), Fi)), new ww()))); - break; - case 5: - _s(KY(i, Sz)); - } - Ss(i, ($n(), ja)), i.e = !0, yQ(l), Ct(n); - } - }; - var Ez, Sz; - G(Lo, "HorizontalGraphCompactor", 455), A(462, 1, {}, $P), w.tc = function(t, n) { - var i, s, l; - return xe(t, 82) && xe(n, 82) && !ky(r3(f(t, 82).d, f(n, 82).d)) || (i = null, xe(t, 93) && (i = f(t, 93).b), s = null, xe(n, 93) && (s = f(n, 93).b), i && i.g == (et(), Cn) || s && s.g == (et(), Cn)) ? 0 : (l = f(z(this.a.a, (le(), ml)), 134), xm(l, i ? i.g : (et(), hn), s ? s.g : (et(), hn))); - }, w.uc = function(t, n) { - return xe(t, 82) && xe(n, 82) && !ky(r3(f(t, 82).d, f(n, 82).d)) ? 1 : Xt(t.xc(), n.xc()); - }, G(Lo, "HorizontalGraphCompactor/1", 462), A(456, 317, {}, Sj), w.Dc = function(t) { - var n, i, s; - for (this.b = t, s2(this, new mw(), this.a), s2(this, new yw(), this.a), n = ki, s = new M(this.b.a.b); s.a < s.c.c.length; ) - i = f(O(s), 25), !(xe(i, 93) && f(i, 93).b.g == (et(), Cn)) && (n = Xt(n, ge(sD(this.a, i)))); - n == ki && (n = 0), s2(this, new kw(), new FP(n)); - }, G(Lo, "HorizontalGraphCompactor/EdgeAwareScanlineConstraintCalculation", 456), A(457, 1, yi, YP), w.B = function(t) { - return sD(this, t); - }, G(Lo, "HorizontalGraphCompactor/EdgeAwareScanlineConstraintCalculation/lambda$0$Type", 457), A(458, 1, uo, mw), w.D = function(t) { - return xe(f(t, 25), 82); - }, G(Lo, "HorizontalGraphCompactor/EdgeAwareScanlineConstraintCalculation/lambda$1$Type", 458), A(459, 1, uo, yw), w.D = function(t) { - return xe(f(t, 25), 93); - }, G(Lo, "HorizontalGraphCompactor/EdgeAwareScanlineConstraintCalculation/lambda$2$Type", 459), A(460, 1, uo, kw), w.D = function(t) { - return !0; - }, G(Lo, "HorizontalGraphCompactor/EdgeAwareScanlineConstraintCalculation/lambda$3$Type", 460), A(461, 1, yi, FP), w.B = function(t) { - return this.a; - }, w.a = 0, G(Lo, "HorizontalGraphCompactor/EdgeAwareScanlineConstraintCalculation/lambda$4$Type", 461), A(463, 1, yi, ww), w.B = function(t) { - return jS(), yn(), T3(f(f(t, 27).a, 25).n, f(f(t, 27).b, 59)) ? Rn : ii; - }, G(Lo, "HorizontalGraphCompactor/lambda$0$Type", 463), A(553, 1, {}, QD), w.c = !1, G(Lo, "LGraphToCGraphTransformer", 553), A(552, 1, {}, Ew), w.Cc = function(t) { - var n, i, s, l, h; - for (this.a = t, this.d = new Bw(), this.c = ve(KT, Me, 61, this.a.a.a.c.length, 0, 1), this.b = 0, i = new M(this.a.a.a); i.a < i.c.c.length; ) - n = f(O(i), 78), n.d = this.b, h = Fv(fD(iS(new Jh(), this.b), n), this.d), this.c[this.b] = h, ++this.b; - for (LJ(this), kee(this), kX(this), pC(US(this.d), new j1()), l = new M(this.a.a.b); l.a < l.c.c.length; ) - s = f(O(l), 25), s.r = this.c[s.f.d].e + s.g.a, s.j.d = s.r; - }, w.b = 0, G(Lo, "NetworkSimplexCompaction", 552), A(142, 1, { 142: 1, 23: 1 }, xg), w.F = function(t) { - return CW(this, f(t, 142)); - }, w.c = !1, w.d = !0, w.i = 0, w.j = 0, w.k = 0, w.n = 0, G(Lo, "VerticalSegment", 142), A(586, 1, {}, r9), w.e = !1, G(Da, "AllCrossingsCounter", 586), A(339, 1, {}), G(Da, "BetweenLayerEdgeAllCrossingsCounter", 339), A(613, 1, {}, zO), w.c = 0, w.e = 0, w.i = 0, G(Da, "BetweenLayerEdgeTwoNodeCrossingsCounter", 613), A(284, 1, { 284: 1 }, tM), w.w = function() { - return "AdjacencyList [node=" + this.d + ", adjacencies= " + this.a + "]"; - }, w.b = 0, w.c = 0, w.f = 0, G(Da, "BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList", 284), A(128, 1, { 128: 1, 23: 1 }, _9), w.F = function(t) { - return bq(this, f(t, 128)); - }, w.w = function() { - return "Adjacency [position=" + this.c + ", cardinality=" + this.a + ", currentCardinality=" + this.b + "]"; - }, w.a = 0, w.b = 0, w.c = 0, G(Da, "BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency", 128), A(610, 339, {}, R7), w.Gc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn, Ri, Xi, pc, wc, wb, Js, ai, Bi, eu, Gr, Xr, Qa, mc, Ns, Lu, yl, ss, Pu, av, fo, Du, ho, wa, ju, ov, mf, yf, yc, sv, jE, u_; - for (ho = 0, xn = 0, Xi = t.length; xn < Xi; ++xn) - if (st = t[xn], gi(f(z(st, (Ee(), dt)), 28))) - for (Xr = new M(st.f); Xr.a < Xr.c.c.length; ) { - for (Gr = f(O(Xr), 7), mc = 0, v = new M(Gr.e); v.a < v.c.c.length; ) - h = f(O(v), 12), st.d != h.d.f.d && ++mc; - mc > 0 && (this.a[Gr.k] = ho++); - } - else { - for (wc = 0, Xr = new M(st.f); Xr.a < Xr.c.c.length; ) { - for (Gr = f(O(Xr), 7), v = new M(Gr.e); v.a < v.c.c.length; ) - h = f(O(v), 12), st.d != h.d.f.d && ++wc; - this.a[Gr.k] = ho; - } - wc > 0 && ++ho; - } - for (yf = 0, Nn = 0, pc = n.length; Nn < pc; ++Nn) - if (st = n[Nn], gi(f(z(st, (Ee(), dt)), 28))) { - for (wb = 0, Xr = new M(st.f); Xr.a < Xr.c.c.length && (Gr = f(O(Xr), 7), Gr.g == (we(), rt)); ) - for (v = new M(Gr.b); v.a < v.c.c.length; ) - if (h = f(O(v), 12), st.d != h.c.f.d) { - ++wb; - break; - } - for (ai = 0, Ns = new fn(st.f, st.f.c.length); Ns.b > 0; ) { - for (Gr = (ut(Ns.b > 0), f(Ns.a.sb(Ns.c = --Ns.b), 7)), mc = 0, v = new M(Gr.b); v.a < v.c.c.length; ) - h = f(O(v), 12), st.d != h.c.f.d && ++mc; - mc > 0 && (Gr.g == (we(), rt) ? (this.a[Gr.k] = yf, ++yf) : (this.a[Gr.k] = yf + wb + ai, ++ai)); - } - yf += ai; - } else { - for (wc = 0, Xr = new M(st.f); Xr.a < Xr.c.c.length; ) { - for (Gr = f(O(Xr), 7), v = new M(Gr.b); v.a < v.c.c.length; ) - h = f(O(v), 12), st.d != h.c.f.d && ++wc; - this.a[Gr.k] = yf; - } - wc > 0 && ++yf; - } - for (Qa = new $t(), Y = new $r(), Tt = 0, Ri = t.length; Tt < Ri; ++Tt) - for (st = t[Tt], ov = new M(st.f); ov.a < ov.c.c.length; ) - for (ju = f(O(ov), 7), v = new M(ju.e); v.a < v.c.c.length; ) - if (h = f(O(v), 12), sv = h.d, st.d != sv.f.d) - if (wa = f(ci(li(Qa.d, ju)), 204), yc = f(ci(li(Qa.d, sv)), 204), !wa && !yc) - R = new $9(), Y.a.db(R, Y), rn(R.a, h), rn(R.e, ju), ra(Qa.d, ju, R), rn(R.e, sv), ra(Qa.d, sv, R); - else if (!wa) - rn(yc.a, h), rn(yc.e, ju), ra(Qa.d, ju, yc); - else if (!yc) - rn(wa.a, h), rn(wa.e, sv), ra(Qa.d, sv, wa); - else if (wa == yc) - rn(wa.a, h); - else { - for (rn(wa.a, h), eu = Jt(yc.e, 0); eu.b != eu.d.c; ) - Bi = f(Ft(eu), 7), ra(Qa.d, Bi, wa); - na(wa.a, yc.a), na(wa.e, yc.e), Y.a.eb(yc) != null; - } - for (q = f(Ky(Y, ve(ote, { 675: 1, 3: 1, 5: 1, 6: 1 }, 204, Y.a.Y(), 0, 1)), 675), it = t[0].d, Du = n[0].d, j = 0, I = q.length; j < I; ++j) - for (L = q[j], L.f = ho, L.g = yf, Xr = Jt(L.e, 0); Xr.b != Xr.d.c; ) - Gr = f(Ft(Xr), 7), Lu = this.a[Gr.k], Gr.f.d == it ? (Lu < L.f && (L.f = Lu, L.b = au(Gr)), Lu > L.c && (L.c = Lu)) : Gr.f.d == Du && (Lu < L.g && (L.g = Lu), Lu > L.d && (L.d = Lu)); - for (ah(q, 0, q.length, (Ml(), Ml(), wf)), mf = ve(Kn, Wn, 26, q.length, 12, 1), i = ve(Kn, Wn, 26, yf + 1, 12, 1), U = 0; U < q.length; U++) - mf[U] = q[U].g, i[mf[U]] = 1; - for (l = 0, te = 0; te < i.length; te++) - i[te] == 1 ? i[te] = l : --l; - for (yl = 0, ue = 0; ue < mf.length; ue++) - mf[ue] += i[mf[ue]], yl = Jr(yl, mf[ue] + 1); - for (x = 1; x < yl; ) - x *= 2; - for (u_ = 2 * x - 1, x -= 1, jE = ve(Kn, Wn, 26, u_, 12, 1), s = 0, m = 0, S = mf.length; m < S; ++m) - for (p = mf[m], Ce = p + x, ++jE[Ce]; Ce > 0; ) - Ce % 2 > 0 && (s += jE[Ce + 1]), Ce = (Ce - 1) / 2 | 0, ++jE[Ce]; - for (Xe = ve(Cz, Me, 158, q.length * 2, 0, 1), ye = 0; ye < q.length; ye++) - Xe[2 * ye] = new V1(q[ye], q[ye].f, q[ye].c, 0), Xe[2 * ye + 1] = new V1(q[ye], q[ye].c, q[ye].f, 1); - for (ah(Xe, 0, Xe.length, wf), Js = 0, Ne = 0, Ue = Xe.length; Ne < Ue; ++Ne) - switch (be = Xe[Ne], be.d) { - case 0: - ++Js; - break; - case 1: - --Js, s += Js; - } - for (fo = ve(Cz, Me, 158, q.length * 2, 0, 1), V = 0; V < q.length; V++) - fo[2 * V] = new V1(q[V], q[V].g, q[V].d, 0), fo[2 * V + 1] = new V1(q[V], q[V].d, q[V].g, 1); - for (ah(fo, 0, fo.length, wf), Js = 0, Pu = 0, av = fo.length; Pu < av; ++Pu) - switch (ss = fo[Pu], ss.d) { - case 0: - ++Js; - break; - case 1: - --Js, s += Js; - } - return s; - }, G(Da, "BetweenLayerHyperedgeAllCrossingsCounter", 610), A(204, 1, { 204: 1, 23: 1 }, $9), w.F = function(t) { - return fK(this, f(t, 204)); - }, w.b = 0, w.c = 0, w.d = 0, w.f = 0, w.g = 0; - var ote = G(Da, "BetweenLayerHyperedgeAllCrossingsCounter/Hyperedge", 204); - A(158, 1, { 158: 1, 23: 1 }, V1), w.F = function(t) { - return JZ(this, f(t, 158)); - }, w.b = 0, w.c = 0, w.d = 0; - var Cz = G(Da, "BetweenLayerHyperedgeAllCrossingsCounter/HyperedgeCorner", 158); - A(611, 339, {}, B7), w.Gc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne; - for (Ne = 0, h = 0, p = t[0].d, ue = n[0].d, x = 0, j = n.length; x < j; ++x) - if (m = n[x], gi(f(z(m, (Ee(), dt)), 28))) { - for (R = 0, V = new M(m.f); V.a < V.c.c.length && (q = f(O(V), 7), q.g == (we(), rt)); ) - for (l = new M(q.b); l.a < l.c.c.length; ) - if (s = f(O(l), 12), s.c.f.d == p) { - ++R; - break; - } - for (Y = 0, te = new fn(m.f, m.f.c.length); te.b > 0; ) { - for (q = (ut(te.b > 0), f(te.a.sb(te.c = --te.b), 7)), U = 0, l = new M(q.b); l.a < l.c.c.length; ) - s = f(O(l), 12), s.c.f.d == p && ++U; - U > 0 && (q.g == (we(), rt) ? (this.a[q.k] = Ne, ++Ne) : (this.a[q.k] = Ne + R + Y, ++Y), h += U); - } - Ne += Y; - } else { - for (I = 0, V = new M(m.f); V.a < V.c.c.length; ) { - for (q = f(O(V), 7), l = new M(q.b); l.a < l.c.c.length; ) - s = f(O(l), 12), s.c.f.d == p && ++I; - this.a[q.k] = Ne; - } - I > 0 && (++Ne, h += I); - } - for (ye = ve(Kn, Wn, 26, h, 12, 1), v = 0, S = 0, L = t.length; S < L; ++S) - if (m = t[S], gi(f(z(m, (Ee(), dt)), 28))) - for (V = new M(m.f); V.a < V.c.c.length; ) - for (q = f(O(V), 7), Ce = v, l = new M(q.e); l.a < l.c.c.length; ) - s = f(O(l), 12), be = s.d, be.f.d == ue && cM(ye, Ce, v++, this.a[be.k]); - else - for (Ce = v, V = new M(m.f); V.a < V.c.c.length; ) - for (q = f(O(V), 7), l = new M(q.e); l.a < l.c.c.length; ) - s = f(O(l), 12), be = s.d, be.f.d == ue && cM(ye, Ce, v++, this.a[be.k]); - return i = jZ(Ne, h, ye), i; - }, G(Da, "BetweenLayerStraightEdgeAllCrossingsCounter", 611), A(338, 1, {}, K3), w.b = 0, w.e = !1, G(Da, "CrossingMatrixFiller", 338), A(447, 1, pn, Sw), w.sc = function(t, n) { - var i, s, l, h; - if (Nt(n, "Greedy switch crossing reduction", 1), this.e = f(z(t, (zt(), mE)), 110), i = t.c.c.length, i < 2 || this.e == (Dg(), nE)) { - Ct(n); - return; - } - oJ(this, t), this.e.b ? (this.e.a ? C3(this) : W4(this), s = VK(this), l = this.e.a ? this.c : Qy(this.b, this.d), this.i = !this.i, this.d = this.g, this.e.a ? C3(this) : W4(this), h = this.e.a ? this.c : Qy(this.b, this.d), l <= h && f3(this, s)) : this.e.a ? C3(this) : W4(this), ZZ(this, this.a), Ct(n); - }, w.c = 0, w.i = !0, G(Da, "GreedySwitchProcessor", 447), A(340, 1, {}, L3), G(Da, "InLayerEdgeAllCrossingsCounter", 340), A(614, 340, {}, nj), w.b = 0, w.d = 0, G(Da, "InLayerEdgeTwoNodeCrossingCounter", 614), A(226, 1, { 226: 1, 23: 1 }, E4), w.F = function(t) { - return jK(this, f(t, 226)); - }, w.w = function() { - return "ComparableEdgeAndPort [port=" + this.b + ", edge=" + this.a + ", portPosition=" + this.c + "]"; - }, w.c = 0, G(Da, "InLayerEdgeTwoNodeCrossingCounter/ComparableEdgeAndPort", 226), A(612, 1, {}, PO), w.e = !0, w.f = 0, w.g = 0, w.k = !1, G(Da, "NorthSouthEdgeAllCrossingsCounter", 612), A(615, 1, {}, oM), w.b = 0, w.d = 0, w.e = !1, G(Da, "NorthSouthEdgeNeighbouringNodeCrossingsCounter", 615), A(143, 1, Ju, Oc), w.mb = function() { - return Qc(this); - }, w.b = 0, G(Da, "PortIterable", 143), A(344, 1, ir, I4), w.H = function() { - return f(Yj(this.a), 7); - }, w.G = function() { - return this.a.b > 0; - }, w.I = function() { - throw new Fn(); - }, G(Da, "PortIterable/1", 344), A(336, 1, {}, q3), G(Da, "SwitchDecider", 336), A(89, 1, { 89: 1 }, no), w.w = function() { - return "NEdge[id=" + this.b + " w=" + this.f + " d=" + this.a + "]"; - }, w.a = 1, w.b = 0, w.e = !1, w.f = 0; - var xz = G(_d, "NEdge", 89); - A(157, 1, {}, Pl), G(_d, "NEdge/NEdgeBuilder", 157), A(278, 1, {}, Bw), G(_d, "NGraph", 278), A(61, 1, { 61: 1 }, VN), w.b = 0, w.d = -1, w.e = 0, w.i = -1, w.j = !1; - var KT = G(_d, "NNode", 61); - A(333, 13, ix, _5), w.rb = function(t, n) { - ++this.d, qc(t, this.c.length), _v(this.c, t, n); - }, w.ib = function(t) { - return Yu(this, t); - }, w.jb = function(t) { - return ++this.d, Tn(this, t); - }, w.Q = function() { - ++this.d, this.c = ve(Ze, Me, 1, 0, 4, 1); - }, w.vb = function(t) { - return ++this.d, Fl(this, t); - }, w.nb = function(t) { - return PS(this, t); - }, G(_d, "NNode/ChangeAwareArrayList", 333), A(199, 1, {}, Jh), G(_d, "NNode/NNodeBuilder", 199), A(595, 1, {}, kv), w.a = !1, w.f = yr, w.j = 0, G(_d, "NetworkSimplex", 595), A(193, 17, { 180: 1, 193: 1, 3: 1, 23: 1, 17: 1 }, vS), w.rc = function() { - switch (this.e) { - case 0: - return new vj(); - case 1: - return new iP(); - default: - throw new tn("No implementation is available for the cycle breaker " + (this.d != null ? this.d : "" + this.e)); - } - }; - var Ok, ZT, Tz = At(sx, "CycleBreakingStrategy", 193, an, qq), Lz; - A(539, 1, Xo, vj), w.qc = function(t) { - return Pz; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn; - for (Nt(n, "Greedy cycle removal", 1), V = t.b, Nn = V.c.length, this.a = ve(Kn, Wn, 26, Nn, 12, 1), this.c = ve(Kn, Wn, 26, Nn, 12, 1), this.b = ve(Kn, Wn, 26, Nn, 12, 1), p = 0, Y = new M(V); Y.a < Y.c.c.length; ) { - for (I = f(O(Y), 9), I.k = p, Ce = new M(I.f); Ce.a < Ce.c.c.length; ) { - for (ue = f(O(Ce), 7), h = new M(ue.b); h.a < h.c.c.length; ) - i = f(O(h), 12), i.c.f != I && (Ue = f(z(i, (le(), Xa)), 24).a, this.a[p] += Ue > 0 ? Ue + 1 : 1); - for (l = new M(ue.e); l.a < l.c.c.length; ) - i = f(O(l), 12), i.d.f != I && (Ue = f(z(i, (le(), Xa)), 24).a, this.c[p] += Ue > 0 ? Ue + 1 : 1); - } - this.c[p] == 0 ? rn(this.d, I) : this.a[p] == 0 && rn(this.e, I), ++p; - } - for (j = -1, L = 1, S = new Se(), Xe = f(z(t, (le(), jh)), 154); Nn > 0; ) { - for (; this.d.b != 0; ) - st = f(JS(this.d), 9), this.b[st.k] = j--, mC(this, st), --Nn; - for (; this.e.b != 0; ) - Tt = f(JS(this.e), 9), this.b[Tt.k] = L++, mC(this, Tt), --Nn; - if (Nn > 0) { - for (x = Ys, q = new M(V); q.a < q.c.c.length; ) - I = f(O(q), 9), this.b[I.k] == 0 && (U = this.c[I.k] - this.a[I.k], U >= x && (U > x && (S.c = ve(Ze, Me, 1, 0, 4, 1), x = U), S.c[S.c.length] = I)); - m = f(_e(S, A3(Xe, S.c.length)), 9), this.b[m.k] = L++, mC(this, m), --Nn; - } - } - for (it = V.c.length + 1, p = 0; p < V.c.length; p++) - this.b[p] < 0 && (this.b[p] += it); - for (R = new M(V); R.a < R.c.c.length; ) - for (I = f(O(R), 9), Ne = f(Vn(I.f, ve(fz, E8, 7, I.f.c.length, 0, 1)), 346), ye = 0, be = Ne.length; ye < be; ++ye) - for (ue = Ne[ye], te = f(Vn(ue.e, ve(Ki, Yi, 12, ue.e.c.length, 0, 1)), 47), s = 0, v = te.length; s < v; ++s) - i = te[s], xn = i.d.f.k, this.b[I.k] > this.b[xn] && (bu(i, !0), ce(t, EL, (yn(), yn(), ii))); - this.a = null, this.c = null, this.b = null, Bs(this.e), Bs(this.d), Ct(n); - }; - var Pz; - G(sx, "GreedyCycleBreaker", 539), A(540, 1, Xo, iP), w.qc = function(t) { - return Dz; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (Nt(n, "Interactive cycle breaking", 1), x = new Se(), j = new M(t.b); j.a < j.c.c.length; ) - for (L = f(O(j), 9), L.k = 1, I = $3(L).a, S = ks(L, (sr(), ri)).mb(); S.G(); ) - for (m = f(S.H(), 7), l = new M(m.e); l.a < l.c.c.length; ) - i = f(O(l), 12), R = i.d.f, R != L && (Y = $3(R).a, Y < I && (x.c[x.c.length] = i)); - for (h = new M(x); h.a < h.c.c.length; ) - i = f(O(h), 12), bu(i, !0); - for (x.c = ve(Ze, Me, 1, 0, 4, 1), p = new M(t.b); p.a < p.c.c.length; ) - v = f(O(p), 9), v.k > 0 && eA(this, v, x); - for (s = new M(x); s.a < s.c.c.length; ) - i = f(O(s), 12), bu(i, !0); - x.c = ve(Ze, Me, 1, 0, 4, 1), Ct(n); - }; - var Dz; - G(sx, "InteractiveCycleBreaker", 540), A(543, 1, Xo, Ub), w.qc = function(t) { - return pi($u(new An(), (Pr(), Tk)), hp); - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y; - for (Nt(n, "Interactive node layering", 1), i = new Se(), L = new M(t.b); L.a < L.c.c.length; ) { - for (S = f(O(L), 9), p = S.i.a, v = p + S.j.a, v = p + 1 > v ? p + 1 : v, Y = new fn(i, 0), s = null; Y.b < Y.d.Y(); ) - if (I = (ut(Y.b < Y.d.Y()), f(Y.d.sb(Y.c = Y.b++), 239)), I.c >= v) { - ut(Y.b > 0), Y.a.sb(Y.c = --Y.b); - break; - } else - I.a > p && (s ? (Tn(s.b, I.b), s.a = je(s.a, I.a), So(Y)) : (Le(I.b, S), I.c = Xt(I.c, p), I.a = je(I.a, v), s = I)); - s || (s = new h7(), s.c = p, s.a = v, su(Y, s), Le(s.b, S)); - } - for (h = t.c, m = 0, R = new M(i); R.a < R.c.c.length; ) - for (I = f(O(R), 239), l = new Hc(t), l.k = m++, h.c[h.c.length] = l, j = new M(I.b); j.a < j.c.c.length; ) - S = f(O(j), 9), Ar(S, l), S.k = 0; - for (x = new M(t.b); x.a < x.c.c.length; ) - S = f(O(x), 9), S.k == 0 && WA(this, S, t); - for (; (Sn(0, h.c.length), f(h.c[0], 16)).a.c.length == 0; ) - Sn(0, h.c.length), h.c.splice(0, 1); - t.b.c = ve(Ze, Me, 1, 0, 4, 1), Ct(n); - }, G(q0, "InteractiveLayerer", 543), A(239, 1, { 239: 1 }, h7), w.a = 0, w.c = 0, G(q0, "InteractiveLayerer/LayerSpan", 239), A(173, 17, { 180: 1, 173: 1, 3: 1, 23: 1, 17: 1 }, am), w.rc = function() { - switch (this.e) { - case 0: - return new d9(); - case 1: - return new rP(); - case 2: - return new Ub(); - default: - throw new tn("No implementation is available for the layerer " + (this.d != null ? this.d : "" + this.e)); - } - }; - var XT, QT, Ak, jz = At(q0, "LayeringStrategy", 173, an, iV), Nz; - A(542, 1, Xo, rP), w.qc = function(t) { - var n; - return n = O1(Iz), Pt(ge(jt(z(t, (zt(), wE))))) || He(z(t, rv)) === He((lu(), iv)) ? xr(n, Mz) : He(z(t, rv)) === He((lu(), gb)) && xr(n, Oz), Pt(ge(jt(z(t, BL)))) && Ca(n, (Pr(), IT)), n; - }, w.sc = function(t, n) { - var i, s, l, h, v; - for (Nt(n, "Longest path layering", 1), this.a = t, v = this.a.b, this.b = ve(Kn, Wn, 26, v.c.length, 12, 1), i = 0, h = new M(v); h.a < h.c.c.length; ) - s = f(O(h), 9), s.k = i, this.b[i] = -1, ++i; - for (l = new M(v); l.a < l.c.c.length; ) - s = f(O(l), 9), PA(this, s); - v.c = ve(Ze, Me, 1, 0, 4, 1), this.a = null, this.b = null, Ct(n); - }; - var Iz, Mz, Oz; - G(q0, "LongestPathLayerer", 542), A(541, 1, Xo, d9), w.qc = function(t) { - var n; - return n = O1(Az), Pt(ge(jt(z(t, (zt(), wE))))) || He(z(t, rv)) === He((lu(), iv)) ? (xr(n, Rz), this.d = (lu(), iv)) : He(z(t, rv)) === He((lu(), gb)) && (xr(n, Bz), this.d = gb), n; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - if (Nt(n, "Network simplex layering", 1), this.b = t, L = f(z(t, (zt(), nv)), 24).a * 4, x = this.b.b, x.c.length < 1) { - Ct(n); - return; - } - for (s = Jt(EQ(this, x), 0); s.b != s.d.c; ) - for (i = f(Ft(s), 20), h = L * Xn(VD(i.Y())), l = pQ(i), pC(q7(ZY(V7(US(l), h), this.b), this.d == (lu(), iv)), Vl(n, 1)), p = this.b.c, S = new M(l.a); S.a < S.c.c.length; ) { - for (m = f(O(S), 61); p.c.length <= m.e; ) - Ac(p, p.c.length, new Hc(this.b)); - v = f(m.f, 9), Ar(v, f(_e(p, m.e), 16)); - } - x.c = ve(Ze, Me, 1, 0, 4, 1), this.a = null, this.b = null, this.c = null, Ct(n); - }; - var Az, Rz, Bz; - G(q0, "NetworkSimplexLayerer", 541), A(326, 1, {}), G(rc, "AbstractPortDistributor", 326), A(558, 1, jr, VP), w.$b = function(t, n) { - return pK(this, f(t, 7), f(n, 7)); - }, G(rc, "AbstractPortDistributor/1", 558), A(564, 1, {}, kI), G(rc, "BarycenterHeuristic", 564), A(272, 1, { 272: 1 }, KP), w.b = 0, w.d = 0, w.e = !1; - var zz = G(rc, "BarycenterHeuristic/BarycenterState", 272); - A(565, 1, jr, WP), w.$b = function(t, n) { - return vZ(this.a, t, n); - }, G(rc, "BarycenterHeuristic/lambda$0$Type", 565), A(192, 17, { 180: 1, 192: 1, 3: 1, 23: 1, 17: 1 }, gS), w.rc = function() { - switch (this.e) { - case 0: - return new cD(); - case 1: - return new cP(); - default: - throw new tn("No implementation is available for the crossing minimizer " + (this.d != null ? this.d : "" + this.e)); - } - }; - var Rk, Bk, Hz = At(rc, "CrossingMinimizationStrategy", 192, an, Vq), _z; - A(526, 1, Xo, cP), w.qc = function(t) { - var n; - return n = O1(Gz), f(z(t, (le(), qr)), 18).kb((vr(), df)) && pi(n, (Pr(), jk)), n; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - for (Nt(n, "Interactive crossing minimization", 1), j = 0, l = new M(t.c); l.a < l.c.c.length; ) { - for (s = f(O(l), 16), i = 0, S = 0, m = new M(s.a); m.a < m.c.c.length; ) - for (v = f(O(m), 9), v.i.a > 0 && (i += v.i.a + v.j.a / 2, ++S), L = new M(v.f); L.a < L.c.c.length; ) - x = f(O(L), 7), x.k = j++; - for (i /= S, R = ve(Zi, mi, 26, s.a.c.length, 12, 1), h = 0, p = new M(s.a); p.a < p.c.c.length; ) - v = f(O(p), 9), v.k = h++, R[v.k] = OJ(v, i), v.g == (et(), hn) && ce(v, (le(), TL), R[v.k]); - Ya(s.a, new UP(R)); - } - I = new Gw(ve(Op, F0, 26, j, 12, 1)), OO(I, iA(t)), Ct(n); - }; - var Gz; - G(rc, "InteractiveCrossingMinimizer", 526), A(527, 1, jr, UP), w.$b = function(t, n) { - return uZ(this, f(t, 9), f(n, 9)); - }, G(rc, "InteractiveCrossingMinimizer/1", 527), A(525, 1, Xo, cD), w.qc = function(t) { - var n; - return n = O1($z), f(z(t, (le(), qr)), 18).kb((vr(), df)) && pi(n, (Pr(), jk)), n; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt; - if (Nt(n, "Layer sweep crossing minimization", 1), it = f(z(t, (le(), jh)), 154), q = t.c.c.length, q < 2) { - Ct(n); - return; - } - for (Aee(this, t), s = yr, Tt = f(z(t, (zt(), nv)), 24).a, i = ve(zz, Dr, 671, t.c.c.length, 0, 2), j = 0, Y = new M(t.c); Y.a < Y.c.c.length; ) { - for (R = f(O(Y), 16), R.k = j, i[j] = ve(zz, { 671: 1, 3: 1, 5: 1, 6: 1 }, 272, R.a.c.length, 0, 1), I = 0, ye = new M(R.a); ye.a < ye.c.c.length; ) - ue = f(O(ye), 9), ue.k = I, i[j][I] = new KP(ue), ++I; - ++j; - } - for (l = new hA(i, this.g), h = new kI(i, l, it, this.j), be = new Gw(this.j), te = new eS(this.j), st = 0; st < Tt && s > 0; st++) { - x = Xl(it, 1) != 0, S = x ? 0 : q - 1, m = this.b[S], Ue = Xl(it, 1) != 0 ? be : te, x3(m, h, x, !1, !0), v = yr, p = !0; - do { - if (s3(this.b, this.k), Xe = v, v = 0, v += K4(this.f, m, S), x) { - for (V = 1; V < q; V++) - L = this.b[V], G4(Ue, m, (sr(), ri)), x3(L, h, !0, !p, !1), v += K4(this.f, L, V), this.d[V] || this.c[V - 1] ? v += WR(this.e, m, L) : v += qR(this.i, m, L), m = L; - S = q - 1; - } else { - for (V = q - 2; V >= 0; V--) - L = this.b[V], G4(Ue, m, (sr(), Ai)), x3(L, h, !1, !p, !1), v += K4(this.f, L, V), this.c[V] || this.d[V + 1] ? v += WR(this.e, L, m) : v += qR(this.i, L, m), m = L; - S = 0; - } - p = !1, x = !x; - } while (v < Xe && v > 0); - (v < s || Xe < s) && (v <= Xe ? (s3(this.b, this.a), s = v) : (s3(this.k, this.a), s = Xe)); - } - for (U = new fn(t.c, 0); U.b < U.d.Y(); ) - for (R = (ut(U.b < U.d.Y()), f(U.d.sb(U.c = U.b++), 16)), Ne = this.a[U.b - 1], Ce = new fn(R.a, 0); Ce.b < Ce.d.Y(); ) - ut(Ce.b < Ce.d.Y()), Ce.d.sb(Ce.c = Ce.b++), KS(Ce, Ne[Ce.b - 1]); - this.j = null, this.a = null, this.b = null, this.k = null, this.i = null, this.e = null, this.c = null, this.d = null, p4(this.g), Ct(n); - }; - var $z; - G(rc, "LayerSweepCrossingMinimizer", 525), A(327, 326, {}, eS), w.Hc = function(t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I, R; - if (j = this.a, gi(f(z(t, (Ee(), dt)), 28))) - switch (i.e) { - case 1: { - for (l = 0, p = 0, L = new M(t.f); L.a < L.c.c.length; ) - S = f(O(L), 7), S.b.c.length != 0 && (++l, S.g == (we(), rt) && ++p); - for (m = n + p, R = n + l, x = ks(t, (sr(), Ai)).mb(); x.G(); ) - S = f(x.H(), 7), S.g == (we(), rt) ? (j[S.k] = m, --m) : (j[S.k] = R, --R); - return l; - } - case 2: { - for (I = 0, x = ks(t, (sr(), ri)).mb(); x.G(); ) - S = f(x.H(), 7), ++I, j[S.k] = n + I; - return I; - } - default: - throw new ed(); - } - else { - for (v = 4, h = 0, L = ks(t, i).mb(); L.G(); ) - S = f(L.H(), 7), s = jA(i, S.g), v = v < s - 1 ? v : s - 1, h = h > s ? h : s; - if (h > v) { - for (x = ks(t, i).mb(); x.G(); ) - S = f(x.H(), 7), j[S.k] = n + jA(i, S.g) - v; - return h - v; - } - return 0; - } - }, G(rc, "LayerTotalPortDistributor", 327), A(274, 326, {}, Gw), w.Hc = function(t, n, i) { - var s, l, h, v, p, m, S, x, L, j, I; - if (L = this.a, gi(f(z(t, (Ee(), dt)), 28))) - switch (i.e) { - case 1: { - for (l = 0, h = 0, x = new M(t.f); x.a < x.c.c.length; ) - m = f(O(x), 7), m.b.c.length != 0 && (++l, m.g == (we(), rt) && ++h); - for (s = 1 / (l + 1), v = n + h * s, I = n + 1 - s, S = ks(t, (sr(), Ai)).mb(); S.G(); ) - m = f(S.H(), 7), m.g == (we(), rt) ? (L[m.k] = v, v -= s) : (L[m.k] = I, I -= s); - break; - } - case 2: { - for (p = 0, x = new M(t.f); x.a < x.c.c.length; ) - m = f(O(x), 7), m.e.c.length == 0 || ++p; - for (s = 1 / (p + 1), j = n + s, S = ks(t, (sr(), ri)).mb(); S.G(); ) - m = f(S.H(), 7), L[m.k] = j, j += s; - break; - } - default: - throw new tn(ux); - } - else - for (S = ks(t, i).mb(); S.G(); ) - m = f(S.H(), 7), L[m.k] = n + PX(i, m.g); - return 1; - }, G(rc, "NodeRelativePortDistributor", 274), A(566, 1, {}, hA), G(P8, "ForsterConstraintResolver", 566), A(102, 1, { 102: 1 }, sN, LR), w.w = function() { - var t, n; - for (n = new ad(), n.a += "[", t = 0; t < this.d.length; t++) - io(n, pN(this.d[t])), ka(this.g, this.d[0]).a != null && io(io((n.a += "<", n), vD(ge(ka(this.g, this.d[0]).a))), ">"), t < this.d.length - 1 && (n.a += ", "); - return n.a += "]", n.a; - }, w.a = 0, w.c = 0, w.f = 0; - var Yz = G(P8, "ForsterConstraintResolver/ConstraintGroup", 102); - A(331, 1, {}), G(zg, "AbstractCrossingsCounter", 331), A(568, 331, {}, Dj), G(zg, "BarthJuengerMutzelCrossingsCounter", 568), A(567, 331, {}, jj), G(zg, "HyperedgeCrossingsCounter", 567), A(197, 1, { 197: 1, 23: 1 }, U9), w.F = function(t) { - return TK(this, f(t, 197)); - }, w.b = 0, w.c = 0, w.e = 0, w.f = 0; - var ste = G(zg, "HyperedgeCrossingsCounter/Hyperedge", 197); - A(156, 1, { 156: 1, 23: 1 }, W1), w.F = function(t) { - return yX(this, f(t, 156)); - }, w.b = 0, w.c = 0; - var Fz = G(zg, "HyperedgeCrossingsCounter/HyperedgeCorner", 156); - A(242, 17, { 242: 1, 3: 1, 23: 1, 17: 1 }, mS); - var ub, cb, ute = At(zg, "HyperedgeCrossingsCounter/HyperedgeCorner/Type", 242, an, dV); - A(545, 1, Xo, lP), w.qc = function(t) { - return f(z(t, (le(), qr)), 18).kb((vr(), as)) ? qz : null; - }, w.sc = function(t, n) { - var i, s; - for (Nt(n, "Interactive node placement", 1), this.a = f(z(t, (le(), ml)), 134), s = new M(t.c); s.a < s.c.c.length; ) - i = f(O(s), 16), GX(this, i); - Ct(n); - }; - var qz; - G(Hg, "InteractiveNodePlacer", 545), A(546, 1, Xo, fP), w.qc = function(t) { - return f(z(t, (le(), qr)), 18).kb((vr(), as)) ? Vz : null; - }, w.sc = function(t, n) { - Nt(n, "Linear segments node placement", 1), this.b = f(z(t, (le(), ml)), 134), $ee(this, t), FQ(this, t), wJ(this, t), Dee(this), this.a = null, this.b = null, Ct(n); - }; - var Vz, pp, wp; - G(Hg, "LinearSegmentsNodePlacer", 546), A(111, 1, { 111: 1, 23: 1 }, $5), w.F = function(t) { - return aF(this, f(t, 111)); - }, w.t = function(t) { - var n; - return xe(t, 111) ? (n = f(t, 111), this.b == n.b) : !1; - }, w.v = function() { - return this.b; - }, w.w = function() { - return "ls" + Qu(this.f); - }, w.a = 0, w.b = 0, w.c = -1, w.d = -1, w.i = 0; - var Wz = G(Hg, "LinearSegmentsNodePlacer/LinearSegment", 111); - A(548, 1, Xo, hP), w.qc = function(t) { - return f(z(t, (le(), qr)), 18).kb((vr(), as)) ? Uz : null; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn; - for (Tt = f(z(t, (le(), ml)), 134), ue = (On(), new $t()), te = 0, l = new Bw(), m = new M(t.c); m.a < m.c.c.length; ) - for (v = f(O(m), 16), Xe = null, Ue = null, I = new M(v.a); I.a < I.c.c.length; ) - j = f(O(I), 9), ++te, U = Fv(new Jh(), l), U.f = j, ra(ue.d, j, U), j.e.d = v1(j.e.d), Ue && (V = new no(), V.f = 0, V.a = Xn(xS(Xe.e.d + Xe.j.b + Xe.e.a + Kv(Tt, f(Ue.f, 9), j))), V.c = Ue, V.d = U, Yu(Ue.g, V), Yu(U.c, V)), Xe = j, Ue = U; - for (S = new M(t.c); S.a < S.c.c.length; ) - for (v = f(O(S), 16), I = new M(v.a); I.a < I.c.c.length; ) - for (j = f(O(I), 9), be = new M(j.f); be.a < be.c.c.length; ) - Ce = f(O(be), 7), Nn = Ce.i.b + Ce.a.b, Nn != Math.floor(Nn) && (ye = Nn - YV(ZW(Math.round(Nn))), Ce.i.b -= ye); - for (p = new M(t.c); p.a < p.c.c.length; ) - for (v = f(O(p), 16), I = new M(v.a); I.a < I.c.c.length; ) - for (j = f(O(I), 9), L = Dt(En(j)); xt(L); ) - x = f(Et(L), 12), !Fc(x) && x.d.f.d != v && (st = x.c.f.e.d + x.c.i.b + x.c.a.b, xn = x.d.f.e.d + x.d.i.b + x.d.a.b, i = xn - st, Ne = Xn(i), s = Fv(new Jh(), l), R = new no(), R.f = xO(x), R.a = Ne > 0 ? Ne : 0, R.c = s, R.d = f(Kt(ue, x.c.f), 61), Yu(R.c.g, R), Yu(R.d.c, R), it = new no(), it.f = xO(x), it.a = Ne < 0 ? -Ne : 0, it.c = s, it.d = f(Kt(ue, x.d.f), 61), Yu(it.c.g, it), Yu(it.d.c, it)); - for (h = f(z(t, (zt(), nv)), 24).a * Xn(Math.sqrt(te)), pC(q7(V7(US(l), h), !1), Vl(n, 1)), q = new M(l.a); q.a < q.c.c.length; ) - Y = f(O(q), 61), Y.f != null && (j = f(Y.f, 9), j.i.b = Y.e + j.e.d); - }; - var Uz; - G(Hg, "NetworkSimplexPlacer", 548), A(141, 17, { 180: 1, 141: 1, 3: 1, 23: 1, 17: 1 }, Bv), w.rc = function() { - switch (this.e) { - case 0: - return new dP(); - case 1: - return new lP(); - case 2: - return new fP(); - case 3: - return new UD(); - case 4: - return new hP(); - default: - throw new tn("No implementation is available for the node placer " + (this.d != null ? this.d : "" + this.e)); - } - }; - var zk, JT, eL, tL, nL, Kz = At(Hg, "NodePlacementStrategy", 141, an, pW), Zz; - A(544, 1, Xo, dP), w.qc = function(t) { - return f(z(t, (le(), qr)), 18).kb((vr(), as)) ? Xz : null; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (Nt(n, "Simple node placement", 1), L = f(z(t, (le(), ml)), 134), p = 0, h = new M(t.c); h.a < h.c.c.length; ) { - for (s = f(O(h), 16), v = s.c, v.b = 0, i = null, S = new M(s.a); S.a < S.c.c.length; ) - m = f(O(S), 9), i && (v.b += xm(L, m.g, i.g) * L.d), v.b += m.e.d + m.j.b + m.e.a, i = m; - p = je(p, v.b); - } - for (l = new M(t.c); l.a < l.c.c.length; ) - for (s = f(O(l), 16), v = s.c, x = (p - v.b) / 2, i = null, S = new M(s.a); S.a < S.c.c.length; ) - m = f(O(S), 9), i && (x += xm(L, m.g, i.g) * L.d), x += m.e.d, m.i.b = x, x += m.j.b + m.e.a, i = m; - Ct(n); - }; - var Xz; - G(Hg, "SimpleNodePlacer", 544), A(81, 1, { 81: 1 }, Jc), w.w = function() { - var t; - return t = "", this.c == (Co(), cc) ? t += Ad : this.c == Ps && (t += Od), this.k == (oo(), ku) ? t += "DOWN" : this.k == Za ? t += "UP" : t += "BALANCED", t; - }, G(Qo, "BKAlignedLayout", 81), A(248, 17, { 248: 1, 3: 1, 23: 1, 17: 1 }, yS); - var Ps, cc, cte = At(Qo, "BKAlignedLayout/HDirection", 248, an, vV); - A(247, 17, { 247: 1, 3: 1, 23: 1, 17: 1 }, kS); - var ku, Za, lte = At(Qo, "BKAlignedLayout/VDirection", 247, an, gV); - A(596, 1, {}, YD), G(Qo, "BKAligner", 596), A(599, 1, {}, MO), G(Qo, "BKCompactor", 599), A(279, 1, { 279: 1 }, fs), w.a = 0, G(Qo, "BKCompactor/ClassEdge", 279), A(200, 1, { 200: 1 }, b7), w.a = 0, w.b = 0, G(Qo, "BKCompactor/ClassNode", 200), A(547, 1, Xo, UD), w.qc = function(t) { - return f(z(t, (le(), qr)), 18).kb((vr(), as)) ? Qz : null; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te; - switch (Nt(n, "Brandes & Koepf node placement", 1), this.b = t, this.d = YQ(t), this.a = Pt(ge(jt(z(t, (zt(), NL))))), this.e = He(z(t, Dp)) === He((mg(), Qk)), MJ(this, t), I = (fi(4, nl), new ji(4)), f(z(t, Dp), 124).e) { - case 3: - R = new Jc(t, this.d.d, (oo(), ku), (Co(), Ps)), I.c[I.c.length] = R; - break; - case 1: - Y = new Jc(t, this.d.d, (oo(), Za), (Co(), Ps)), I.c[I.c.length] = Y; - break; - case 4: - U = new Jc(t, this.d.d, (oo(), ku), (Co(), cc)), I.c[I.c.length] = U; - break; - case 2: - te = new Jc(t, this.d.d, (oo(), Za), (Co(), cc)), I.c[I.c.length] = te; - break; - default: - R = new Jc(t, this.d.d, (oo(), ku), (Co(), Ps)), Y = new Jc(t, this.d.d, Za, Ps), U = new Jc(t, this.d.d, ku, cc), te = new Jc(t, this.d.d, Za, cc), I.c[I.c.length] = U, I.c[I.c.length] = te, I.c[I.c.length] = R, I.c[I.c.length] = Y; - } - for (i = new YD(t, this.d), h = new M(I); h.a < h.c.c.length; ) - s = f(O(h), 81), Eee(i, s, this.c), XQ(s); - for (x = new MO(t, this.d), v = new M(I); v.a < v.c.c.length; ) - s = f(O(v), 81), oee(x, s); - if (this.a) - for (p = new M(I); p.a < p.c.c.length; ) - s = f(O(p), 81), Rl(), s + "" + u2(s); - if (S = null, this.e && (m = mee(this, I, this.d.d), aR(this, t, m) && (S = m)), !S) - for (p = new M(I); p.a < p.c.c.length; ) - s = f(O(p), 81), aR(this, t, s) && (!S || u2(S) > u2(s)) && (S = s); - for (!S && (S = (Sn(0, I.c.length), f(I.c[0], 81))), j = new M(t.c); j.a < j.c.c.length; ) - for (L = f(O(j), 16), V = new M(L.a); V.a < V.c.c.length; ) - q = f(O(V), 9), q.i.b = ge(S.n[q.k]) + ge(S.d[q.k]); - for (this.a && (Rl(), "" + CA(S), "" + jX(S)), l = new M(I); l.a < l.c.c.length; ) - s = f(O(l), 81), s.f = null, s.b = null, s.a = null, s.d = null, s.i = null, s.g = null, s.n = null; - uU(this.d), this.c.a.Q(), Ct(n); - }, w.a = !1, w.e = !1; - var Qz; - G(Qo, "BKNodePlacer", 547), A(194, 17, { 194: 1, 3: 1, 23: 1, 17: 1 }, ES); - var Hk, _k, Jz = At(Qo, "CompactionStrategy", 194, an, bV), eH; - A(597, 1, {}, Cw), w.d = 0, G(Qo, "NeighborhoodInformation", 597), A(598, 1, jr, XP), w.$b = function(t, n) { - return sU(this, f(t, 27), f(n, 27)); - }, G(Qo, "NeighborhoodInformation/NeighborComparator", 598), A(334, 1, {}), G(Qo, "ThresholdStrategy", 334), A(602, 334, {}, j7), w.Ic = function(t, n, i) { - return this.a.k == (oo(), Za) ? ki : Hr; - }, w.Jc = function() { - }, G(Qo, "ThresholdStrategy/NullThresholdStrategy", 602), A(249, 1, { 249: 1 }, FD), w.c = !1, w.d = !1, G(Qo, "ThresholdStrategy/Postprocessable", 249), A(603, 334, {}, N7), w.Ic = function(t, n, i) { - var s, l, h; - return l = n == i, s = this.a.a[i.k] == n, l || s ? (h = t, this.a.c == (Co(), cc) ? (l && (h = g2(this, n, !0)), (h == 1 / 0 || h == -1 / 0) && s && (h = g2(this, i, !1))) : (l && (h = g2(this, n, !0)), (h == 1 / 0 || h == -1 / 0) && s && (h = g2(this, i, !1))), h) : t; - }, w.Jc = function() { - for (var t, n, i, s; this.d.b != 0; ) - s = f(aV(this.d), 249), i = ZA(this, s), i.a && (t = i.a, this.c.a[t.c.f.d.k] !== this.c.a[t.d.f.d.k] && (n = TA(this, s), n || t9(this.e, s))); - for (; this.e.a.c.length != 0; ) - TA(this, f(xM(this.e), 249)); - }, G(Qo, "ThresholdStrategy/SimpleThresholdStrategy", 603), A(423, 1, { 180: 1 }, U6), w.rc = function() { - switch (this.a.e) { - case 1: - return new KD(); - case 3: - return new gP(); - default: - return new vP(); - } - }, G(rl, "EdgeRouterFactory", 423), A(538, 1, Xo, vP), w.qc = function(t) { - var n, i; - return i = f(z(t, (le(), qr)), 18), n = new An(), i.kb((vr(), Ep)) && (xr(n, iH), xr(n, rL)), (i.kb(df) || Pt(ge(jt(z(t, (zt(), vb)))))) && (xr(n, rL), i.kb(vf) && xr(n, oH)), i.kb(as) && xr(n, rH), i.kb(Sp) && xr(n, sH), i.kb(tE) && xr(n, aH), i.kb(Ud) && xr(n, tH), i.kb(Kd) && xr(n, nH), n; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R; - Nt(n, "Orthogonal edge routing", 1), j = f(z(t, (le(), ml)), 134), Pt(ge(jt(z(t, (Ee(), Fg))))), x = new e2(0, j.a), R = 0, h = new fn(t.c, 0), v = null, p = null; - do - m = h.b < h.d.Y() ? (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 16)) : null, S = m ? m.a : null, v && (IC(v, R), R += v.c.a), I = v ? R + j.b : R, L = xC(x, t, p, S, I), s = !v || wm(p, (S0(), mp)), l = !m || wm(S, (S0(), mp)), L > 0 ? (i = j.b + (L - 1) * j.a, m && (i += j.b), i < j.f && !s && !l && (i = j.f), R += i) : !s && !l && (R += j.f), v = m, p = S; - while (m); - t.e.a = R, Ct(n); - }; - var tH, nH, rH, iH, aH, rL, oH, sH; - G(rl, "OrthogonalEdgeRouter", 538), A(277, 1, {}, e2), w.a = 0, w.c = 0, G(rl, "OrthogonalRoutingGenerator", 277), A(118, 1, { 118: 1 }, u0), w.w = function() { - return this.a + "->" + this.b; - }, w.c = 0, G(rl, "OrthogonalRoutingGenerator/Dependency", 118), A(80, 1, { 80: 1, 23: 1 }, uM), w.F = function(t) { - return oF(this, f(t, 80)); - }, w.t = function(t) { - var n; - return xe(t, 80) ? (n = f(t, 80), this.d == n.d) : !1; - }, w.v = function() { - return this.d; - }, w.w = function() { - var t, n, i, s; - for (t = new id("{"), s = new M(this.g); s.a < s.c.c.length; ) - i = f(O(s), 7), n = n0(i.f), n == null && (n = "n" + ej(i.f)), t.a += "" + n, s.a < s.c.c.length && (t.a += ","); - return t.a += "}", t.a; - }, w.a = NaN, w.c = 0, w.d = 0, w.f = 0, w.i = 0, w.k = NaN, G(rl, "OrthogonalRoutingGenerator/HyperNode", 80), A(580, 1, {}, QP), w.Kc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (L = n + t.i * this.a.c, p = new M(t.g); p.a < p.c.c.length; ) - for (v = f(O(p), 7), m = ln(re(ie(_t, 1), Ht, 10, 0, [v.f.i, v.i, v.a])).a, s = new M(v.e); s.a < s.c.c.length; ) - i = f(O(s), 12), S = i.d, x = ln(re(ie(_t, 1), Ht, 10, 0, [S.f.i, S.i, S.a])).a, (m - x <= 0 ? 0 - (m - x) : m - x) > pu && (l = new ot(m, L), rn(i.a, l), Lg(this.a, i, t, l, !1), h = new ot(x, L), rn(i.a, h), Lg(this.a, i, t, h, !1)); - }, w.Lc = function(t) { - return t.f.i.a + t.i.a + t.a.a; - }, w.Mc = function() { - return we(), ct; - }, w.Nc = function() { - return we(), rt; - }, G(rl, "OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy", 580), A(581, 1, {}, JP), w.Kc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (L = n - t.i * this.a.c, p = new M(t.g); p.a < p.c.c.length; ) - for (v = f(O(p), 7), m = ln(re(ie(_t, 1), Ht, 10, 0, [v.f.i, v.i, v.a])).a, s = new M(v.e); s.a < s.c.c.length; ) - i = f(O(s), 12), S = i.d, x = ln(re(ie(_t, 1), Ht, 10, 0, [S.f.i, S.i, S.a])).a, (m - x <= 0 ? 0 - (m - x) : m - x) > pu && (l = new ot(m, L), rn(i.a, l), Lg(this.a, i, t, l, !1), h = new ot(x, L), rn(i.a, h), Lg(this.a, i, t, h, !1)); - }, w.Lc = function(t) { - return t.f.i.a + t.i.a + t.a.a; - }, w.Mc = function() { - return we(), rt; - }, w.Nc = function() { - return we(), ct; - }, G(rl, "OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy", 581), A(579, 1, {}, e7), w.Kc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L; - for (L = n + t.i * this.a.c, p = new M(t.g); p.a < p.c.c.length; ) - for (v = f(O(p), 7), m = ln(re(ie(_t, 1), Ht, 10, 0, [v.f.i, v.i, v.a])).b, s = new M(v.e); s.a < s.c.c.length; ) - i = f(O(s), 12), S = i.d, x = ln(re(ie(_t, 1), Ht, 10, 0, [S.f.i, S.i, S.a])).b, (m - x <= 0 ? 0 - (m - x) : m - x) > pu && (l = new ot(L, m), rn(i.a, l), Lg(this.a, i, t, l, !0), h = new ot(L, x), rn(i.a, h), Lg(this.a, i, t, h, !0)); - }, w.Lc = function(t) { - return t.f.i.b + t.i.b + t.a.b; - }, w.Mc = function() { - return we(), Be; - }, w.Nc = function() { - return we(), qe; - }, G(rl, "OrthogonalRoutingGenerator/WestToEastRoutingStrategy", 579), A(535, 1, Xo, KD), w.qc = function(t) { - var n, i; - return i = f(z(t, (le(), qr)), 18), n = new An(), (i.kb((vr(), df)) || Pt(ge(jt(z(t, (zt(), vb)))))) && (xr(n, lH), i.kb(vf) && xr(n, fH)), i.kb(Ud) && xr(n, uH), i.kb(Kd) && xr(n, cH), n; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye; - for (Nt(n, "Polyline edge routing", 1), L = f(z(t, (le(), Oi)), 15).a, i = f(z(t, (zt(), Qs)), 15).a, q = 0, t.c.c.length != 0 && (V = LA(f(_e(t.c, 0), 16)), q = 0.4 * i * V), h = new fn(t.c, 0); h.b < h.d.Y(); ) { - for (l = (ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 16)), s = wm(l, mp), s && q > 0 && (q -= L), IC(l, q), m = 0, x = new M(l.a); x.a < x.c.c.length; ) { - for (S = f(O(x), 9), p = 0, I = Dt(En(S)); xt(I); ) - j = f(Et(I), 12), R = Pi(j.c).b, Y = Pi(j.d).b, l == j.d.f.d && (U = j.c, te = j.d, ue = (ln(re(ie(_t, 1), Ht, 10, 0, [U.f.i, U.i, U.a])).b + ln(re(ie(_t, 1), Ht, 10, 0, [te.f.i, te.i, te.a])).b) / 2, U.g == (we(), Be) ? ye = new ot(q + U.f.d.c.a + 0.4 * i * (R - Y <= 0 ? 0 - (R - Y) : R - Y), ue) : ye = new ot(q - 0.4 * i * (R - Y <= 0 ? 0 - (R - Y) : R - Y), ue), T1(j.a, 0, ye), j.c.g == qe && (R = 0, Y = 0)), p = p > (Y - R <= 0 ? 0 - (Y - R) : Y - R) ? p : Y - R <= 0 ? 0 - (Y - R) : Y - R; - switch (S.g.e) { - case 0: - case 4: - case 1: - case 3: - tJ(this, S, q); - } - m = m > p ? m : p; - } - h.b < h.d.Y() && (V = LA((ut(h.b < h.d.Y()), f(h.d.sb(h.c = h.b++), 16))), m = m > V ? m : V, ut(h.b > 0), h.a.sb(h.c = --h.b)), v = 0.4 * i * m, !s && h.b < h.d.Y() && (v += L), q += l.c.a + v; - } - this.a.a.Q(), t.e.a = q, Ct(n); - }; - var uH, cH, lH, fH, mp; - G(rl, "PolylineEdgeRouter", 535), A(536, 1, uo, K6), w.D = function(t) { - return nM(f(t, 9)); - }, G(rl, "PolylineEdgeRouter/1", 536), A(75, 1, { 75: 1 }, GM), w.w = function() { - var t, n, i, s; - for (i = new ad(), this.e && io(io(i, P1(this.e)), ": "), n = Jt(ay(this), 0); n.b != n.d.c; ) - t = f(Ft(n), 7), io(io(pd(io(i, (s = aI(t), s == null ? "p_" + t.k : "p_" + s)), 32), P1(t.g)), " / "); - return AF(i, $v(i.a) - 2 - 1); - }, w.j = 0, w.k = 0, G(il, "ConnectedSelfLoopComponent", 75), A(60, 17, { 60: 1, 3: 1, 23: 1, 17: 1 }, ps), w.c = 0; - var hH, dH, vH, Eu, lc, rs, fc, Ds, No, is, Su, Cu, gH, bH, pH, wH, mH, yH, kH, EH, SH, CH, xH, TH, LH, gl, ff, hc, dc, Wd = At(il, "LoopSide", 60, an, b3); - A(203, 1, {}, uO, CC, I3), w.w = function() { - return this.b.w(); - }, w.c = 0, w.d = !1, w.e = !1, w.f = !1, w.i = 0, w.j = 0, G(il, "NubSpline", 203), A(92, 1, { 92: 1 }, iy, YA), G(il, "NubSpline/PolarCP", 92), A(281, 203, {}, ey), G(il, "NubsSelfLoop", 281), A(112, 1, {}, tA, TO, rg, Jy, t2), w.a = JC, w.b = Zo, w.c = JC, w.d = Zo, G(il, "Rectangle", 112), A(537, 1, Xo, gP), w.qc = function(t) { - var n, i; - return n = new An(), i = f(z(t, (le(), qr)), 18), i.kb((vr(), Sp)) && xr(n, IH), i.kb(Ud) && xr(n, PH), (i.kb(df) || Pt(ge(jt(z(t, (zt(), vb)))))) && (xr(n, jH), i.kb(vf) && xr(n, NH)), i.kb(Kd) && xr(n, DH), n; - }, w.sc = function(t, n) { - var i, s, l, h, v, p, m, S, x, L, j, I, R, Y, q, V, U, te, ue, ye, Ce, be, Ne, Ue, Xe, it, st, Tt, xn, Nn, Ri, Xi; - Nt(n, "Spline edge routing", 1), ue = f(z(t, (le(), Oi)), 15).a, this.a = ue * f(z(t, (zt(), Qs)), 15).a, Xi = 0, q = new M(t.c), V = null, Nn = (On(), new $t()), xn = new Se(), m = !0, S = !0; - do { - for (be = q.a < q.c.c.length ? f(O(q), 16) : null, j = new Se(), v = new Se(), U = new _i(), Ue = new _i(), st = new _i(), wee(new pr(V, be), new pr(U, Ue), v, Nn, xn, st), w2(U, Ue, (_c(), Ks), !0, v, j), w2(U, Ue, Ks, !1, v, j), w2(U, Ue, hf, !0, v, j), w2(U, Ue, hf, !1, v, j), NQ(v, U, Ue, j), Tt = new fn(j, 0); Tt.b < Tt.d.Y(); ) - for (x = (ut(Tt.b < Tt.d.Y()), f(Tt.d.sb(Tt.c = Tt.b++), 77)), Ri = new fn(j, Tt.b); Ri.b < Ri.d.Y(); ) - L = (ut(Ri.b < Ri.d.Y()), f(Ri.d.sb(Ri.c = Ri.b++), 77)), fee(x, L); - if (Ree(j, f(z(t, jh), 154)), RJ(j), Ne = Xi + 10, be) { - for (S = !be || wm(be.a, (S0(), mp)), te = -1, l = new M(j); l.a < l.c.c.length; ) - i = f(O(l), 77), te = Jr(te, i.n); - ++te, te > 0 ? (I = (te + 1) * this.a, I < ue && !m && !S && (I = ue), Ne += I) : m || S || rO(V) || rO(be) || (Ne += ue), IC(be, Ne); - } - for (it = (Ce = new Wt(st.a).a.bb().mb(), new Zt(Ce)); it.a.G(); ) - for (Xe = (p = f(it.a.H(), 21), f(p.yb(), 12)), ye = Xe.c.f.i, Vu(Xe.a, ye), Y = new M(Xe.b); Y.a < Y.c.c.length; ) - R = f(O(Y), 33), dn(R.i, ye); - for (h = new M(j); h.a < h.c.c.length; ) - i = f(O(h), 77), i.f ? UZ(i, Xi) : $Q(this, i, Xi, Ne); - if (be) - Xi = Ne + be.c.a + 10; - else { - for (te = -1, l = new M(j); l.a < l.c.c.length; ) - i = f(O(l), 77), te = Jr(te, i.n); - te >= 0 && (Xi += (te + 2) * this.a); - } - V = be, m = S; - } while (be); - for (s = new M(xn); s.a < s.c.c.length; ) - i = f(O(s), 12), Nee(i, Nn); - t.e.a = Xi, Ct(n); - }, w.a = 3; - var PH, DH, jH, NH, IH; - G(il, "SplineEdgeRouter", 537), A(117, 1, { 117: 1 }, r0), w.w = function() { - return this.a + " ->(" + this.c + ") " + this.b; - }, w.c = 0, G(il, "SplineEdgeRouter/Dependency", 117), A(223, 17, { 223: 1, 3: 1, 23: 1, 17: 1 }, SS); - var Ks, hf, fte = At(il, "SplineEdgeRouter/SideToProcess", 223, an, hV); - A(77, 1, { 77: 1, 23: 1 }, sA, NC), w.F = function(t) { - return sF(this, f(t, 77)); - }, w.a = 0, w.b = 0, w.e = 0, w.f = !1, w.i = 0, w.k = 0, w.n = 0, w.p = 0, G(il, "SplineEdgeRouter/SplineHyperEdge", 77), A(123, 17, { 123: 1, 3: 1, 23: 1, 17: 1 }, hd); - var Gk, $k, Yk, Fk, qk, Vk, Wk = At(Vs, "ContentAlignment", 123, an, PW), MH; - A(218, 17, { 218: 1, 3: 1, 23: 1, 17: 1 }, fm); - var yp, iL, lb, hte = At(Vs, "EdgeConstraint", 218, an, MV); - A(115, 17, { 115: 1, 3: 1, 23: 1, 17: 1 }, zv); - var Uk, kp, Kk, Zk, Xk, OH = At(Vs, "EdgeLabelSideSelection", 115, an, wW), AH; - A(124, 17, { 124: 1, 3: 1, 23: 1, 17: 1 }, dd); - var Qk, aL, oL, Jk, sL, uL, RH = At(Vs, "FixedAlignment", 124, an, DW), BH; - A(113, 17, { 113: 1, 3: 1, 23: 1, 17: 1 }, zu); - var Ud, eE, Kd, as, Ep, tE, df, vf, cL, Sp, lL = At(Vs, "GraphProperties", 113, an, cU); - A(110, 17, { 110: 1, 3: 1, 23: 1, 17: 1 }, Yl), w.a = !1, w.b = !1, w.c = !1; - var nE, fL, hL, dL, vL, rE, gL, bL, zH = At(Vs, "GreedySwitchType", 110, an, WW), HH; - A(140, 17, { 140: 1, 3: 1, 23: 1, 17: 1 }, hm); - var Lh, Cp, gf, dte = At(Vs, "InLayerConstraint", 140, an, IV); - A(174, 17, { 174: 1, 3: 1, 23: 1, 17: 1 }, CS); - var iE, pL, _H = At(Vs, "InteractiveReferencePoint", 174, an, pV), GH, Ph, wL, mL, aE, vc, fb, os, Zd, xp, yL, $H, Xd, kL, EL, oE, SL, bf, Tp, _r, CL, qr, sE, YH, Zs, bl, Dh, lo, Mi, Si, pl, Qd, lt, xL, TL, LL, uE, wl, Lp, js, xu, cE, Xa, PL, jh, DL, Xs, Oi, ml, FH, hb, lE, jL, fE, Jd; - A(85, 17, { 85: 1, 3: 1, 23: 1, 17: 1 }, Hv); - var db, gc, ev, Tu, pf, qH = At(Vs, "LayerConstraint", 85, an, mW), VH; - A(219, 17, { 219: 1, 3: 1, 23: 1, 17: 1 }, dm); - var Ai, ri, hE, vte = At(Vs, "PortType", 219, an, OV), dE, vE, gE, bE, Pp, pE, NL, wE, Nh, WH, Qs, vb, Dp, mE, yE, Er, IL, ML, OL, kE, EE, jp, AL, SE, tv, Np, CE, RL, BL, xE, nv, rv; - A(153, 17, { 153: 1, 3: 1, 23: 1, 17: 1 }, vm); - var zL, HL, TE, UH = At(Vs, "SelfLoopPlacement", 153, an, AV), KH; - A(134, 1, { 134: 1 }, RR), w.a = 0, w.b = 0, w.c = 0, w.d = 0, w.e = 0, w.f = 0, G(Vs, "Spacings", 134), A(172, 17, { 172: 1, 3: 1, 23: 1, 17: 1 }, gm); - var iv, gb, Ip, ZH = At(Vs, "WideNodesStrategy", 172, an, RV), XH; - A(644, 1, {}), G(_0, "OutputStream", 644), A(645, 644, {}), G(_0, "FilterOutputStream", 645), A(291, 645, {}, C5), G(_0, "PrintStream", 291), A(255, 1, {}), w.w = function() { - return this.a; - }, G(zr, "AbstractStringBuilder", 255), A(621, 95, Gs, I7), G(zr, "ArrayIndexOutOfBoundsException", 621), A(290, 72, Gs, g7, U7), G(zr, "ArrayStoreException", 290), A(252, 46, BC), G(zr, "Error", 252), A(84, 252, BC, z5, py), G(zr, "AssertionError", 84), A8 = { 3: 1, 349: 1, 23: 1 }; - var Rn, ii, gte = G(zr, "Boolean", 349); - R8 = { 3: 1, 23: 1, 184: 1, 231: 1 }; - var bb = G(zr, "Double", 184); - A(15, 231, { 3: 1, 23: 1, 15: 1, 231: 1 }, t7, Ut), w.F = function(t) { - return RF(this, f(t, 15)); - }, w.t = function(t) { - return xe(t, 15) && f(t, 15).a == this.a; - }, w.v = function() { - return Xn(this.a); - }, w.w = function() { - return pF(this.a); - }, w.a = 0; - var bte = G(zr, "Float", 15); - A(101, 72, Gs, Lv, Ou), G(zr, "IllegalStateException", 101); - var _L, QH; - A(608, 72, Gs, K7), G(zr, "NegativeArraySizeException", 608), A(76, 72, { 3: 1, 54: 1, 76: 1, 46: 1 }, td, jv), G(zr, "NullPointerException", 76), A(130, 29, { 3: 1, 54: 1, 29: 1, 130: 1, 46: 1 }, M7, i1), G(zr, "NumberFormatException", 130), A(146, 1, { 3: 1, 146: 1 }, ny), w.t = function(t) { - var n; - return xe(t, 146) ? (n = f(t, 146), this.c == n.c && la(this.d, n.d) && la(this.a, n.a) && la(this.b, n.b)) : !1; - }, w.v = function() { - return Ny(re(ie(Ze, 1), Me, 1, 4, [gt(this.c), this.a, this.d, this.b])); - }, w.w = function() { - return this.a + "." + this.d + "(" + (this.b != null ? this.b : "Unknown Source") + (this.c >= 0 ? ":" + this.c : "") + ")"; - }, w.c = 0; - var JH = G(zr, "StackTraceElement", 146); - A(98, 255, { 345: 1 }, ad, qw, id), G(zr, "StringBuilder", 98); - var e_, GL; - A(45, 72, { 3: 1, 54: 1, 46: 1, 45: 1 }, Fn, jf), G(zr, "UnsupportedOperationException", 45), A(213, 638, fh), w.Q = function() { - so(this); - }, w.R = function(t) { - return Qf(this, t); - }, w.ab = function(t) { - return jM(this, t, this.e) || jM(this, t, this.d); - }, w.bb = function() { - return new iu(this); - }, w.cb = function(t) { - return Kt(this, t); - }, w.db = function(t, n) { - return un(this, t, n); - }, w.eb = function(t) { - return Bl(this, t); - }, w.Y = function() { - return h1(this); - }, G(wt, "AbstractHashMap", 213), A(120, 641, di, iu), w.Q = function() { - this.a.Q(); - }, w.kb = function(t) { - return A4(this, t); - }, w.mb = function() { - return new Ul(this.a); - }, w.nb = function(t) { - var n; - return A4(this, t) ? (n = f(t, 21).yb(), this.a.eb(n), !0) : !1; - }, w.Y = function() { - return this.a.Y(); - }, G(wt, "AbstractHashMap/EntrySet", 120), A(148, 1, ir, Ul), w.H = function() { - return Sd(this); - }, w.G = function() { - return this.b; - }, w.I = function() { - q4(this); - }, w.b = !1, G(wt, "AbstractHashMap/EntrySetIterator", 148), A(162, 1, ir, Pf), w.G = function() { - return this.b < this.d.Y(); - }, w.H = function() { - return ut(this.G()), this.d.sb(this.c = this.b++); - }, w.I = function() { - So(this); - }, w.b = 0, w.c = -1, G(wt, "AbstractList/IteratorImpl", 162), A(43, 162, dh, fn), w.J = function(t) { - su(this, t); - }, w.K = function() { - return this.b > 0; - }, w.L = function() { - return this.b; - }, w.M = function() { - return Yj(this); - }, w.N = function() { - return this.b - 1; - }, w.O = function(t) { - KS(this, t); - }, G(wt, "AbstractList/ListIteratorImpl", 43), A(258, 647, hh, uy), w.rb = function(t, n) { - qc(t, this.b), this.c.rb(this.a + t, n), ++this.b; - }, w.sb = function(t) { - return Sn(t, this.b), this.c.sb(this.a + t); - }, w.vb = function(t) { - var n; - return Sn(t, this.b), n = this.c.vb(this.a + t), --this.b, n; - }, w.wb = function(t, n) { - return Sn(t, this.b), this.c.wb(this.a + t, n); - }, w.Y = function() { - return this.b; - }, w.a = 0, w.b = 0, G(wt, "AbstractList/SubList", 258), A(36, 641, di, Wt), w.Q = function() { - this.a.Q(); - }, w.kb = function(t) { - return this.a.R(t); - }, w.mb = function() { - var t; - return t = this.a.bb().mb(), new Zt(t); - }, w.nb = function(t) { - return this.a.R(t) ? (this.a.eb(t), !0) : !1; - }, w.Y = function() { - return this.a.Y(); - }, G(wt, "AbstractMap/1", 36), A(40, 1, ir, Zt), w.G = function() { - return this.a.G(); - }, w.H = function() { - var t; - return t = f(this.a.H(), 21), t.yb(); - }, w.I = function() { - this.a.I(); - }, G(wt, "AbstractMap/1/1", 40), A(211, 640, Md, Ev), w.Q = function() { - this.a.Q(); - }, w.kb = function(t) { - return this.a.ab(t); - }, w.mb = function() { - var t; - return t = this.a.bb().mb(), new Sv(t); - }, w.Y = function() { - return this.a.Y(); - }, G(wt, "AbstractMap/2", 211), A(212, 1, ir, Sv), w.G = function() { - return this.a.G(); - }, w.H = function() { - var t; - return t = f(this.a.H(), 21), t.zb(); - }, w.I = function() { - this.a.I(); - }, G(wt, "AbstractMap/2/1", 212), A(210, 1, { 210: 1, 21: 1 }), w.t = function(t) { - var n; - return xe(t, 21) ? (n = f(t, 21), la(this.d, n.yb()) && la(this.e, n.zb())) : !1; - }, w.yb = function() { - return this.d; - }, w.zb = function() { - return this.e; - }, w.v = function() { - return Sm(this.d) ^ Sm(this.e); - }, w.Ab = function(t) { - return QS(this, t); - }, w.w = function() { - return this.d + "=" + this.e; - }, G(wt, "AbstractMap/AbstractEntry", 210), A(163, 210, { 210: 1, 163: 1, 21: 1 }, p1), G(wt, "AbstractMap/SimpleEntry", 163), A(652, 1, Ig), w.t = function(t) { - var n; - return xe(t, 21) ? (n = f(t, 21), la(this.yb(), n.yb()) && la(this.zb(), n.zb())) : !1; - }, w.v = function() { - return Sm(this.yb()) ^ Sm(this.zb()); - }, w.w = function() { - return this.yb() + "=" + this.zb(); - }, G(wt, e8, 652), A(639, 638, fh), w._ = function(t) { - return hI(this, t); - }, w.R = function(t) { - return bm(this, t); - }, w.bb = function() { - return new N5(this); - }, w.cb = function(t) { - return ci(y3(this, t)); - }, w.W = function() { - return new Xb(this); - }, G(wt, "AbstractNavigableMap", 639), A(287, 641, di, N5), w.kb = function(t) { - return xe(t, 21) && hI(this.b, f(t, 21)); - }, w.mb = function() { - return new Uv(this.b); - }, w.nb = function(t) { - var n; - return xe(t, 21) ? (n = f(t, 21), mI(this.b, n)) : !1; - }, w.Y = function() { - return this.b.c; - }, G(wt, "AbstractNavigableMap/EntrySet", 287), A(229, 641, FC, Xb), w.Q = function() { - r1(this.a); - }, w.kb = function(t) { - return bm(this.a, t); - }, w.mb = function() { - var t; - return t = new Uv(new Vv(this.a).b), new Qb(t); - }, w.nb = function(t) { - return bm(this.a, t) ? (Qv(this.a, t), !0) : !1; - }, w.Y = function() { - return this.a.c; - }, G(wt, "AbstractNavigableMap/NavigableKeySet", 229), A(230, 1, ir, Qb), w.G = function() { - return om(this.a.a); - }, w.H = function() { - var t; - return t = jm(this.a), t.yb(); - }, w.I = function() { - Cj(this.a); - }, G(wt, "AbstractNavigableMap/NavigableKeySet/1", 230), A(4, 1, ir, M), w.G = function() { - return Nc(this); - }, w.H = function() { - return O(this); - }, w.I = function() { - bd(this); - }, w.a = 0, w.b = -1, G(wt, "ArrayList/1", 4), A(94, 647, N8, ro), w.kb = function(t) { - return eU(this, t) != -1; - }, w.sb = function(t) { - return Oj(this, t); - }, w.wb = function(t, n) { - var i; - return i = (Sn(t, this.a.length), this.a[t]), Ga(this.a, t, n), i; - }, w.Y = function() { - return this.a.length; - }, w.ob = function() { - return LO(this, ve(Ze, Me, 1, this.a.length, 4, 1)); - }, w.pb = function(t) { - return LO(this, t); - }, G(wt, "Arrays/ArrayList", 94); - var bc, $L, LE; - A(413, 1, jr, n7), w.$b = function(t, n) { - return Xj(n, t); - }, G(wt, "Collections/2", 413), A(406, 647, N8, Z6), w.kb = function(t) { - return !1; - }, w.sb = function(t) { - return Sn(t, 0), null; - }, w.mb = function() { - return Qt(), cm(), PE; - }, w.tb = function() { - return Qt(), cm(), PE; - }, w.Y = function() { - return 0; - }, G(wt, "Collections/EmptyList", 406), A(407, 1, dh, X6), w.J = function(t) { - throw new Fn(); - }, w.G = function() { - return !1; - }, w.K = function() { - return !1; - }, w.H = function() { - throw new sa(); - }, w.L = function() { - return 0; - }, w.M = function() { - throw new sa(); - }, w.N = function() { - return -1; - }, w.I = function() { - throw new Lv(); - }, w.O = function(t) { - throw new Lv(); - }; - var PE; - G(wt, "Collections/EmptyListIterator", 407), A(409, 638, gh, Q6), w.R = function(t) { - return !1; - }, w.ab = function(t) { - return !1; - }, w.bb = function() { - return Qt(), LE; - }, w.cb = function(t) { - return null; - }, w.W = function() { - return Qt(), LE; - }, w.Y = function() { - return 0; - }, w.fb = function() { - return Qt(), bc; - }, G(wt, "Collections/EmptyMap", 409), A(408, 641, bh, J6), w.kb = function(t) { - return !1; - }, w.mb = function() { - return Qt(), cm(), PE; - }, w.Y = function() { - return 0; - }, G(wt, "Collections/EmptySet", 408), A(410, 1, jr, eP), w.$b = function(t, n) { - return gF(f(t, 23), f(n, 23)); - }; - var t_; - G(wt, "Collections/ReverseComparator", 410), A(411, 647, { 3: 1, 22: 1, 19: 1, 20: 1 }, r7), w.kb = function(t) { - return la(this.a, t); - }, w.sb = function(t) { - return Sn(t, 1), this.a; - }, w.Y = function() { - return 1; - }, G(wt, "Collections/SingletonList", 411), A(217, 1, Md, Cv), w.ib = function(t) { - return w7(); - }, w.jb = function(t) { - return m7(); - }, w.Q = function() { - y7(); - }, w.kb = function(t) { - return this.b.kb(t); - }, w.lb = function(t) { - return this.b.lb(t); - }, w.V = function() { - return this.b.V(); - }, w.mb = function() { - return new Qh(this.b.mb()); - }, w.nb = function(t) { - return k7(); - }, w.Y = function() { - return this.b.Y(); - }, w.ob = function() { - return this.b.ob(); - }, w.pb = function(t) { - return this.b.pb(t); - }, w.w = function() { - return ha(this.b); - }, G(wt, "Collections/UnmodifiableCollection", 217), A(152, 1, ir, Qh), w.G = function() { - return this.b.G(); - }, w.H = function() { - return this.b.H(); - }, w.I = function() { - _Y(); - }, G(wt, "Collections/UnmodifiableCollectionIterator", 152), A(233, 217, hh, L1), w.rb = function(t, n) { - throw new Fn(); - }, w.t = function(t) { - return this.a.t(t); - }, w.sb = function(t) { - return this.a.sb(t); - }, w.v = function() { - return this.a.v(); - }, w.V = function() { - return this.a.V(); - }, w.tb = function() { - return new BS(this.a.ub(0)); - }, w.ub = function(t) { - return new BS(this.a.ub(t)); - }, w.vb = function(t) { - throw new Fn(); - }, w.wb = function(t, n) { - throw new Fn(); - }, w.xb = function(t, n) { - return new L1(this.a.xb(t, n)); - }, G(wt, "Collections/UnmodifiableList", 233), A(309, 152, dh, BS), w.J = function(t) { - throw new Fn(); - }, w.K = function() { - return this.a.K(); - }, w.L = function() { - return this.a.L(); - }, w.M = function() { - return this.a.M(); - }, w.N = function() { - return this.a.N(); - }, w.O = function(t) { - throw new Fn(); - }, G(wt, "Collections/UnmodifiableListIterator", 309), A(305, 1, fh, I5), w.Q = function() { - throw new Fn(); - }, w.R = function(t) { - return this.c.R(t); - }, w.ab = function(t) { - return OD(this, t); - }, w.bb = function() { - return xa(this); - }, w.t = function(t) { - return dD(this, t); - }, w.cb = function(t) { - return this.c.cb(t); - }, w.v = function() { - return this.c.v(); - }, w.V = function() { - return this.c.V(); - }, w.W = function() { - return rN(this); - }, w.db = function(t, n) { - throw new Fn(); - }, w.eb = function(t) { - throw new Fn(); - }, w.Y = function() { - return this.c.Y(); - }, w.w = function() { - return ha(this.c); - }, w.fb = function() { - return aN(this); - }, G(wt, "Collections/UnmodifiableMap", 305), A(151, 217, di, jl), w.t = function(t) { - return hD(this, t); - }, w.v = function() { - return this.b.v(); - }, G(wt, "Collections/UnmodifiableSet", 151), A(412, 151, di, rD), w.kb = function(t) { - return bS(this, t); - }, w.lb = function(t) { - return AD(this, t); - }, w.mb = function() { - var t; - return t = this.b.mb(), new M5(t); - }, w.ob = function() { - return dN(this); - }, w.pb = function(t) { - return L4(this, t); - }, G(wt, "Collections/UnmodifiableMap/UnmodifiableEntrySet", 412), A(263, 1, ir, M5), w.H = function() { - return new O5(f(this.a.H(), 21)); - }, w.G = function() { - return this.a.G(); - }, w.I = function() { - throw new Fn(); - }, G(wt, "Collections/UnmodifiableMap/UnmodifiableEntrySet/1", 263), A(306, 1, Ig, O5), w.t = function(t) { - return this.a.t(t); - }, w.yb = function() { - return this.a.yb(); - }, w.zb = function() { - return this.a.zb(); - }, w.v = function() { - return this.a.v(); - }, w.Ab = function(t) { - throw new Fn(); - }, w.w = function() { - return ha(this.a); - }, G(wt, "Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry", 306), A(307, 233, S2, rS), G(wt, "Collections/UnmodifiableRandomAccessList", 307), A(308, 151, FC, zS), w.t = function(t) { - return this.a.t(t); - }, w.v = function() { - return this.a.v(); - }, G(wt, "Collections/UnmodifiableSortedSet", 308); - var wf; - A(522, 1, jr, tP), w.$b = function(t, n) { - return or(t), or(n), u3(f(t, 23), n); - }, G(wt, "Comparators/1", 522), A(202, 72, Gs, nd), G(wt, "ConcurrentModificationException", 202), A(609, 72, Gs, D7), G(wt, "EmptyStackException", 609), A(319, 638, fh, P3), w.db = function(t, n) { - return ZS(this, t, n); - }, w.Q = function() { - nN(this); - }, w.R = function(t) { - return l4(this.a, t); - }, w.ab = function(t) { - var n, i; - for (i = new Hf(this.a); i.a < i.c.a.length; ) - if (n = Yc(i), la(t, this.b[n.e])) - return !0; - return !1; - }, w.bb = function() { - return new Jb(this); - }, w.cb = function(t) { - return Zf(this, t); - }, w.eb = function(t) { - return O4(this, t); - }, w.Y = function() { - return this.a.c; - }, G(wt, "EnumMap", 319), A(236, 641, di, Jb), w.Q = function() { - nN(this.a); - }, w.kb = function(t) { - return RN(this, t); - }, w.mb = function() { - return new G1(this.a); - }, w.nb = function(t) { - var n; - return RN(this, t) ? (n = f(t, 21).yb(), O4(this.a, n), !0) : !1; - }, w.Y = function() { - return this.a.a.c; - }, G(wt, "EnumMap/EntrySet", 236), A(237, 1, ir, G1), w.H = function() { - return this.b = Yc(this.a), new b1(this.c, this.b); - }, w.G = function() { - return S1(this.a); - }, w.I = function() { - Ol(!!this.b), O4(this.c, this.b), this.b = null; - }, G(wt, "EnumMap/EntrySetIterator", 237), A(238, 652, Ig, b1), w.yb = function() { - return this.a; - }, w.zb = function() { - return this.b.b[this.a.e]; - }, w.Ab = function(t) { - return Um(this.b, this.a.e, t); - }, G(wt, "EnumMap/MapEntry", 238), A(86, 641, { 22: 1, 19: 1, 86: 1, 18: 1 }), G(wt, "EnumSet", 86), A(66, 86, { 22: 1, 19: 1, 86: 1, 66: 1, 18: 1 }, ti), w.ib = function(t) { - return hi(this, f(t, 17)); - }, w.kb = function(t) { - return l4(this, t); - }, w.mb = function() { - return new Hf(this); - }, w.nb = function(t) { - return zj(this, t); - }, w.Y = function() { - return this.c; - }, w.c = 0, G(wt, "EnumSet/EnumSetImpl", 66), A(167, 1, ir, Hf), w.H = function() { - return Yc(this); - }, w.G = function() { - return S1(this); - }, w.I = function() { - Ol(this.b != -1), Ga(this.c.b, this.b, null), --this.c.c, this.b = -1; - }, w.a = -1, w.b = -1, G(wt, "EnumSet/EnumSetImpl/IteratorImpl", 167), A(30, 213, I8, $t, sm, n9), w.Uc = function(t, n) { - return He(t) === He(n) || t != null && xo(t, n); - }, w.Vc = function(t) { - var n; - return n = Uo(t), n | 0; - }, G(wt, "HashMap", 30), A(50, 641, M8, $r, Ww, c4), w.ib = function(t) { - return vn(this, t); - }, w.Q = function() { - this.a.Q(); - }, w.Wc = function() { - return new c4(this); - }, w.kb = function(t) { - return Pc(this, t); - }, w.V = function() { - return this.a.Y() == 0; - }, w.mb = function() { - var t; - return t = new Wt(this.a).a.bb().mb(), new Zt(t); - }, w.nb = function(t) { - return Cm(this, t); - }, w.Y = function() { - return this.a.Y(); - }, w.w = function() { - return Qu(new Wt(this.a)); - }, G(wt, "HashSet", 50), A(418, 1, Ju, p9), w.mb = function() { - return new D4(this); - }, w.c = 0, G(wt, "InternalHashCodeMap", 418), A(312, 1, ir, D4), w.H = function() { - return this.d = this.a[this.c++], this.d; - }, w.G = function() { - var t; - return this.c < this.a.length ? !0 : (t = this.b.next(), t.done ? !1 : (this.a = t.value[1], this.c = 0, !0)); - }, w.I = function() { - c2(this.e, this.d.yb()), this.c != 0 && --this.c; - }, w.c = 0, w.d = null, G(wt, "InternalHashCodeMap/1", 312); - var n_; - A(382, 1, Ju, w9), w.mb = function() { - return new H4(this); - }, w.c = 0, w.d = 0, G(wt, "InternalStringMap", 382), A(293, 1, ir, H4), w.H = function() { - return this.c = this.a, this.a = this.b.next(), new yj(this.d, this.c, this.d.d); - }, w.G = function() { - return !this.a.done; - }, w.I = function() { - bM(this.d, this.c.value[0]); - }, G(wt, "InternalStringMap/1", 293), A(383, 652, Ig, yj), w.yb = function() { - return this.b.value[0]; - }, w.zb = function() { - return this.a.d != this.c ? WD(this.a, this.b.value[0]) : this.b.value[1]; - }, w.Ab = function(t) { - return zy(this.a, this.b.value[0], t); - }, w.c = 0, G(wt, "InternalStringMap/2", 383), A(155, 30, I8, yd, EI), w.Q = function() { - fj(this); - }, w.R = function(t) { - return Qf(this.c, t); - }, w.ab = function(t) { - var n; - for (n = this.b.a; n != this.b; ) { - if (la(n.e, t)) - return !0; - n = n.a; - } - return !1; - }, w.bb = function() { - return new Ow(this); - }, w.cb = function(t) { - return wy(this, t); - }, w.db = function(t, n) { - return gg(this, t, n); - }, w.eb = function(t) { - return Z4(this, t); - }, w.Y = function() { - return h1(this.c); - }, w.a = !1, G(wt, "LinkedHashMap", 155), A(176, 163, { 210: 1, 163: 1, 176: 1, 21: 1 }, K9, i4), G(wt, "LinkedHashMap/ChainEntry", 176), A(270, 641, di, Ow), w.Q = function() { - fj(this.a); - }, w.kb = function(t) { - return BN(this, t); - }, w.mb = function() { - return new Jm(this); - }, w.nb = function(t) { - var n; - return BN(this, t) ? (n = f(t, 21).yb(), Z4(this.a, n), !0) : !1; - }, w.Y = function() { - return h1(this.a.c); - }, G(wt, "LinkedHashMap/EntrySet", 270), A(271, 1, ir, Jm), w.H = function() { - return F4(this); - }, w.G = function() { - return this.b != this.c.a.b; - }, w.I = function() { - Ol(!!this.a), Vm(this.c.a.c, this), o4(this.a), Bl(this.c.a.c, this.a.d), RS(this.c.a.c, this), this.a = null; - }, G(wt, "LinkedHashMap/EntrySet/EntryIterator", 271), A(70, 50, M8, _i, H9, $m), w.Wc = function() { - return new $m(this); - }, G(wt, "LinkedHashSet", 70), A(372, 1, dh, mj), w.J = function(t) { - Xv(this, t); - }, w.G = function() { - return this.b != this.d.c; - }, w.K = function() { - return this.b.b != this.d.a; - }, w.H = function() { - return Ft(this); - }, w.L = function() { - return this.a; - }, w.M = function() { - return Jv(this); - }, w.N = function() { - return this.a - 1; - }, w.I = function() { - e3(this); - }, w.O = function(t) { - Ol(!!this.c), this.c.c = t; - }, w.a = 0, w.c = null, G(wt, "LinkedList/ListIteratorImpl", 372), A(259, 1, {}, xw), G(wt, "LinkedList/Node", 259), A(74, 72, { 3: 1, 54: 1, 46: 1, 74: 1 }, sa), G(wt, "NoSuchElementException", 74), A(154, 1, { 154: 1 }, FM, jI), w.a = 0, w.b = 0; - var YL, FL, pte = 0; - G(wt, "Random", 154), A(607, 647, O8), w.rb = function(t, n) { - A1(t, this.a.c.length + 1), Ac(this.a, t, n); - }, w.ib = function(t) { - return Le(this.a, t); - }, w.jb = function(t) { - return Tn(this.a, t); - }, w.Q = function() { - this.a.c = ve(Ze, Me, 1, 0, 4, 1); - }, w.kb = function(t) { - return Di(this.a, t, 0) != -1; - }, w.lb = function(t) { - return Wu(this.a, t); - }, w.sb = function(t) { - return A1(t, this.a.c.length), _e(this.a, t); - }, w.V = function() { - return this.a.c.length == 0; - }, w.mb = function() { - return new M(this.a); - }, w.vb = function(t) { - return A1(t, this.a.c.length), Fl(this.a, t); - }, w.Xb = function(t, n) { - xN(this.a, t, n); - }, w.wb = function(t, n) { - return A1(t, this.a.c.length), $c(this.a, t, n); - }, w.Y = function() { - return this.a.c.length; - }, w.xb = function(t, n) { - return new uy(this.a, t, n); - }, w.ob = function() { - return z9(this.a); - }, w.pb = function(t) { - return Vn(this.a, t); - }, w.w = function() { - return Qu(this.a); - }, G(wt, "Vector", 607), A(337, 607, O8, Y5), G(wt, "Stack", 337), A(253, 639, gh, RD, N4), w.Q = function() { - r1(this); - }, w.bb = function() { - return new Vv(this); - }, w.db = function(t, n) { - return CM(this, t, n); - }, w.eb = function(t) { - return Qv(this, t); - }, w.Y = function() { - return this.c; - }, w.c = 0, G(wt, "TreeMap", 253), A(182, 1, ir, Uv), w.H = function() { - return jm(this); - }, w.G = function() { - return om(this.a); - }, w.I = function() { - Cj(this); - }, G(wt, "TreeMap/EntryIterator", 182), A(209, 287, di, Vv), w.Q = function() { - r1(this.a); - }, G(wt, "TreeMap/EntrySet", 209), A(183, 163, { 210: 1, 163: 1, 21: 1, 183: 1 }, gy), w.b = !1; - var wte = G(wt, "TreeMap/Node", 183); - A(254, 1, {}, Tw), w.w = function() { - return "State: mv=" + this.c + " value=" + this.d + " done=" + this.a + " found=" + this.b; - }, w.a = !1, w.b = !1, w.c = !1, G(wt, "TreeMap/State", 254), A(138, 17, B2, g1), w.Xc = function() { - return !1; - }, w.Yc = function() { - return !1; - }; - var qL, r_, i_, a_, DE = At(wt, "TreeMap/SubMapType", 138, an, sW); - A(352, 138, B2, S9), w.Yc = function() { - return !0; - }, At(wt, "TreeMap/SubMapType/1", 352, DE, null), A(353, 138, B2, D9), w.Xc = function() { - return !0; - }, w.Yc = function() { - return !0; - }, At(wt, "TreeMap/SubMapType/2", 353, DE, null), A(354, 138, B2, C9), w.Xc = function() { - return !0; - }, At(wt, "TreeMap/SubMapType/3", 354, DE, null), A(191, 641, { 3: 1, 22: 1, 19: 1, 18: 1, 137: 1, 191: 1 }, tS, gD), w.ib = function(t) { - return g4(this, t); - }, w.Q = function() { - r1(this.a); - }, w.kb = function(t) { - return bm(this.a, t); - }, w.mb = function() { - var t; - return t = new Uv(new Vv(new Xb(this.a).a).b), new Qb(t); - }, w.nb = function(t) { - return V9(this, t); - }, w.Y = function() { - return this.a.c; - }, G(wt, "TreeSet", 191); - var mte = 0, VL, WL = 0, Mp, Kn = F1("int", "I"), pb = F1("boolean", "Z"), o_ = F1("char", "C"), Zi = F1("double", "D"), Op = F1("float", "F"), Ap = WV, s_ = s_ = lZ; - JW(mY), bU("permProps", [[["locale", "default"], ["user.agent", "gecko1_8"]]]), s_(null, "klay", null); - })(); - }(s6)), s6.exports; -} -(function(a, r) { - (function(c, d) { - a.exports = d(Yle()); - })(Cb, function(u) { - return ( - /******/ - function(c) { - var d = {}; - function g(b) { - if (d[b]) - return d[b].exports; - var y = d[b] = { - /******/ - i: b, - /******/ - l: !1, - /******/ - exports: {} - /******/ - }; - return c[b].call(y.exports, y, y.exports, g), y.l = !0, y.exports; - } - return g.m = c, g.c = d, g.i = function(b) { - return b; - }, g.d = function(b, y, k) { - g.o(b, y) || Object.defineProperty(b, y, { - /******/ - configurable: !1, - /******/ - enumerable: !0, - /******/ - get: k - /******/ - }); - }, g.n = function(b) { - var y = b && b.__esModule ? ( - /******/ - function() { - return b.default; - } - ) : ( - /******/ - function() { - return b; - } - ); - return g.d(y, "a", y), y; - }, g.o = function(b, y) { - return Object.prototype.hasOwnProperty.call(b, y); - }, g.p = "", g(g.s = 3); - }([ - /* 0 */ - /***/ - function(c, d, g) { - var b = g(4), y = g(1), k = g(2), E = { - addUnnecessaryBendpoints: "de.cau.cs.kieler.klay.layered.unnecessaryBendpoints", - alignment: "de.cau.cs.kieler.alignment", - aspectRatio: "de.cau.cs.kieler.aspectRatio", - borderSpacing: "borderSpacing", - compactComponents: "de.cau.cs.kieler.klay.layered.components.compact", - compactionStrategy: "de.cau.cs.kieler.klay.layered.nodeplace.compactionStrategy", - contentAlignment: "de.cau.cs.kieler.klay.layered.contentAlignment", - crossingMinimization: "de.cau.cs.kieler.klay.layered.crossMin", - cycleBreaking: "de.cau.cs.kieler.klay.layered.cycleBreaking", - debugMode: "de.cau.cs.kieler.debugMode", - direction: "de.cau.cs.kieler.direction", - edgeLabelSideSelection: "de.cau.cs.kieler.klay.layered.edgeLabelSideSelection", - // 'de.cau.cs.kieler.klay.layered.edgeNodeSpacingFactor': options.edgeNodeSpacingFactor, - edgeRouting: "de.cau.cs.kieler.edgeRouting", - edgeSpacingFactor: "de.cau.cs.kieler.klay.layered.edgeSpacingFactor", - feedbackEdges: "de.cau.cs.kieler.klay.layered.feedBackEdges", - fixedAlignment: "de.cau.cs.kieler.klay.layered.fixedAlignment", - greedySwitchCrossingMinimization: "de.cau.cs.kieler.klay.layered.greedySwitch", - hierarchyHandling: "de.cau.cs.kieler.hierarchyHandling", - inLayerSpacingFactor: "de.cau.cs.kieler.klay.layered.inLayerSpacingFactor", - interactiveReferencePoint: "de.cau.cs.kieler.klay.layered.interactiveReferencePoint", - layerConstraint: "de.cau.cs.kieler.klay.layered.layerConstraint", - layoutHierarchy: "de.cau.cs.kieler.layoutHierarchy", - linearSegmentsDeflectionDampening: "de.cau.cs.kieler.klay.layered.linearSegmentsDeflectionDampening", - mergeEdges: "de.cau.cs.kieler.klay.layered.mergeEdges", - mergeHierarchyCrossingEdges: "de.cau.cs.kieler.klay.layered.mergeHierarchyEdges", - noLayout: "de.cau.cs.kieler.noLayout", - nodeLabelPlacement: "de.cau.cs.kieler.nodeLabelPlacement", - nodeLayering: "de.cau.cs.kieler.klay.layered.nodeLayering", - nodePlacement: "de.cau.cs.kieler.klay.layered.nodePlace", - portAlignment: "de.cau.cs.kieler.portAlignment", - portAlignmentEastern: "de.cau.cs.kieler.portAlignment.east", - portAlignmentNorth: "de.cau.cs.kieler.portAlignment.north", - portAlignmentSouth: "de.cau.cs.kieler.portAlignment.south", - portAlignmentWest: "de.cau.cs.kieler.portAlignment.west", - portConstraints: "de.cau.cs.kieler.portConstraints", - portLabelPlacement: "de.cau.cs.kieler.portLabelPlacement", - portOffset: "de.cau.cs.kieler.offset", - portSide: "de.cau.cs.kieler.portSide", - portSpacing: "de.cau.cs.kieler.portSpacing", - postCompaction: "de.cau.cs.kieler.klay.layered.postCompaction", - priority: "de.cau.cs.kieler.priority", - randomizationSeed: "de.cau.cs.kieler.randomSeed", - routeSelfLoopInside: "de.cau.cs.kieler.selfLoopInside", - separateConnectedComponents: "de.cau.cs.kieler.separateConnComp", - sizeConstraint: "de.cau.cs.kieler.sizeConstraint", - sizeOptions: "de.cau.cs.kieler.sizeOptions", - spacing: "de.cau.cs.kieler.spacing", - splineSelfLoopPlacement: "de.cau.cs.kieler.klay.layered.splines.selfLoopPlacement", - thoroughness: "de.cau.cs.kieler.klay.layered.thoroughness", - wideNodesOnMultipleLayers: "de.cau.cs.kieler.klay.layered.wideNodesOnMultipleLayers" - }, C = function($) { - for (var F = Object.keys($), W = {}, Q = 0; Q < F.length; Q++) { - var X = F[Q], K = E[X], ee = $[X]; - W[K] = ee; - } - return W; - }, T = { - interactiveReferencePoint: "CENTER" - // Determines which point of a node is considered by interactive layout phases. - }, P = function($) { - for (var F = $.parent(), W = $.scratch("klay"), Q = { - x: W.x, - y: W.y - }; F.nonempty(); ) { - var X = F.scratch("klay"); - Q.x += X.x, Q.y += X.y, F = F.parent(); - } - return Q; - }, N = function($, F) { - var W = $.layoutDimensions(F), Q = $.numericStyle("padding"), X = { - _cyEle: $, - id: $.id(), - padding: { - top: Q, - left: Q, - bottom: Q, - right: Q - } - }; - return $.isParent() || (X.width = W.w, X.height = W.h), $.scratch("klay", X), X; - }, D = function($, F) { - var W = { - _cyEle: $, - id: $.id(), - source: $.data("source"), - target: $.data("target"), - properties: {} - }, Q = F.priority($); - return Q != null && (W.properties.priority = Q), $.scratch("klay", W), W; - }, H = function($, F, W) { - for (var Q = [], X = [], K = {}, ee = { - id: "root", - children: [], - edges: [] - }, Z = 0; Z < $.length; Z++) { - var ae = $[Z], oe = N(ae, W); - Q.push(oe), K[ae.id()] = oe; - } - for (var J = 0; J < F.length; J++) { - var fe = F[J], se = D(fe, W); - X.push(se), K[fe.id()] = se; - } - for (var pe = 0; pe < Q.length; pe++) { - var he = Q[pe], de = he._cyEle; - if (!de.isChild()) - ee.children.push(he); - else { - var ke = de.parent(), Pe = K[ke.id()], Ae = Pe.children = Pe.children || []; - Ae.push(he); - } - } - for (var Te = 0; Te < X.length; Te++) { - var Oe = X[Te], ze = Oe._cyEle; - ze.source().parent(), ze.target().parent(), ee.edges.push(Oe); - } - return ee; - }; - function _(B) { - var $ = B.klay; - this.options = y({}, k, B), this.options.klay = y({}, k.klay, $, T); - } - _.prototype.run = function() { - var B = this, $ = this.options, F = $.eles, W = F.nodes(), Q = F.edges(), X = H(W, Q, $); - return b.layout({ - graph: X, - options: C($.klay), - success: function() { - }, - error: function(ee) { - throw ee; - } - }), W.filter(function(K) { - return !K.isParent(); - }).layoutPositions(B, $, P), this; - }, _.prototype.stop = function() { - return this; - }, _.prototype.destroy = function() { - return this; - }, c.exports = _; - }, - /* 1 */ - /***/ - function(c, d, g) { - c.exports = Object.assign != null ? Object.assign.bind(Object) : function(b) { - for (var y = arguments.length, k = Array(y > 1 ? y - 1 : 0), E = 1; E < y; E++) - k[E - 1] = arguments[E]; - return k.filter(function(C) { - return C != null; - }).forEach(function(C) { - Object.keys(C).forEach(function(T) { - return b[T] = C[T]; - }); - }), b; - }; - }, - /* 2 */ - /***/ - function(c, d, g) { - var b = { - nodeDimensionsIncludeLabels: !1, - // Boolean which changes whether label dimensions are included when calculating node dimensions - fit: !0, - // Whether to fit - padding: 20, - // Padding on fit - animate: !1, - // Whether to transition the node positions - animateFilter: function(k, E) { - return !0; - }, - // Whether to animate specific nodes when animation is on; non-animated nodes immediately go to their final positions - animationDuration: 500, - // Duration of animation in ms if enabled - animationEasing: void 0, - // Easing of animation if enabled - transform: function(k, E) { - return E; - }, - // A function that applies a transform to the final node position - ready: void 0, - // Callback on layoutready - stop: void 0, - // Callback on layoutstop - klay: { - // Following descriptions taken from http://layout.rtsys.informatik.uni-kiel.de:9444/Providedlayout.html?algorithm=de.cau.cs.kieler.klay.layered - addUnnecessaryBendpoints: !1, - // Adds bend points even if an edge does not change direction. - aspectRatio: 1.6, - // The aimed aspect ratio of the drawing, that is the quotient of width by height - borderSpacing: 20, - // Minimal amount of space to be left to the border - compactComponents: !1, - // Tries to further compact components (disconnected sub-graphs). - crossingMinimization: "LAYER_SWEEP", - // Strategy for crossing minimization. - /* LAYER_SWEEP The layer sweep algorithm iterates multiple times over the layers, trying to find node orderings that minimize the number of crossings. The algorithm uses randomization to increase the odds of finding a good result. To improve its results, consider increasing the Thoroughness option, which influences the number of iterations done. The Randomization seed also influences results. - INTERACTIVE Orders the nodes of each layer by comparing their positions before the layout algorithm was started. The idea is that the relative order of nodes as it was before layout was applied is not changed. This of course requires valid positions for all nodes to have been set on the input graph before calling the layout algorithm. The interactive layer sweep algorithm uses the Interactive Reference Point option to determine which reference point of nodes are used to compare positions. */ - cycleBreaking: "GREEDY", - // Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right). - /* GREEDY This algorithm reverses edges greedily. The algorithm tries to avoid edges that have the Priority property set. - INTERACTIVE The interactive algorithm tries to reverse edges that already pointed leftwards in the input graph. This requires node and port coordinates to have been set to sensible values.*/ - direction: "UNDEFINED", - // Overall direction of edges: horizontal (right / left) or vertical (down / up) - /* UNDEFINED, RIGHT, LEFT, DOWN, UP */ - edgeRouting: "ORTHOGONAL", - // Defines how edges are routed (POLYLINE, ORTHOGONAL, SPLINES) - edgeSpacingFactor: 0.5, - // Factor by which the object spacing is multiplied to arrive at the minimal spacing between edges. - feedbackEdges: !1, - // Whether feedback edges should be highlighted by routing around the nodes. - fixedAlignment: "NONE", - // Tells the BK node placer to use a certain alignment instead of taking the optimal result. This option should usually be left alone. - /* NONE Chooses the smallest layout from the four possible candidates. - LEFTUP Chooses the left-up candidate from the four possible candidates. - RIGHTUP Chooses the right-up candidate from the four possible candidates. - LEFTDOWN Chooses the left-down candidate from the four possible candidates. - RIGHTDOWN Chooses the right-down candidate from the four possible candidates. - BALANCED Creates a balanced layout from the four possible candidates. */ - inLayerSpacingFactor: 1, - // Factor by which the usual spacing is multiplied to determine the in-layer spacing between objects. - layoutHierarchy: !1, - // Whether the selected layouter should consider the full hierarchy - linearSegmentsDeflectionDampening: 0.3, - // Dampens the movement of nodes to keep the diagram from getting too large. - mergeEdges: !1, - // Edges that have no ports are merged so they touch the connected nodes at the same points. - mergeHierarchyCrossingEdges: !0, - // If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. - nodeLayering: "NETWORK_SIMPLEX", - // Strategy for node layering. - /* NETWORK_SIMPLEX This algorithm tries to minimize the length of edges. This is the most computationally intensive algorithm. The number of iterations after which it aborts if it hasn't found a result yet can be set with the Maximal Iterations option. - LONGEST_PATH A very simple algorithm that distributes nodes along their longest path to a sink node. - INTERACTIVE Distributes the nodes into layers by comparing their positions before the layout algorithm was started. The idea is that the relative horizontal order of nodes as it was before layout was applied is not changed. This of course requires valid positions for all nodes to have been set on the input graph before calling the layout algorithm. The interactive node layering algorithm uses the Interactive Reference Point option to determine which reference point of nodes are used to compare positions. */ - nodePlacement: "BRANDES_KOEPF", - // Strategy for Node Placement - /* BRANDES_KOEPF Minimizes the number of edge bends at the expense of diagram size: diagrams drawn with this algorithm are usually higher than diagrams drawn with other algorithms. - LINEAR_SEGMENTS Computes a balanced placement. - INTERACTIVE Tries to keep the preset y coordinates of nodes from the original layout. For dummy nodes, a guess is made to infer their coordinates. Requires the other interactive phase implementations to have run as well. - SIMPLE Minimizes the area at the expense of... well, pretty much everything else. */ - randomizationSeed: 1, - // Seed used for pseudo-random number generators to control the layout algorithm; 0 means a new seed is generated - routeSelfLoopInside: !1, - // Whether a self-loop is routed around or inside its node. - separateConnectedComponents: !0, - // Whether each connected component should be processed separately - spacing: 20, - // Overall setting for the minimal amount of space to be left between objects - thoroughness: 7 - // How much effort should be spent to produce a nice layout.. - }, - priority: function(k) { - return null; - } - // Edges with a non-nil value are skipped when geedy edge cycle breaking is enabled - }; - c.exports = b; - }, - /* 3 */ - /***/ - function(c, d, g) { - var b = g(0), y = function(E) { - E && E("layout", "klay", b); - }; - typeof cytoscape < "u" && y(cytoscape), c.exports = y; - }, - /* 4 */ - /***/ - function(c, d) { - c.exports = u; - } - /******/ - ]) - ); - }); -})(cY); -var Fle = cY.exports; -const qle = /* @__PURE__ */ TG(Fle); -function mv(a) { - var r = -1, u = a == null ? 0 : a.length; - for (this.clear(); ++r < u; ) { - var c = a[r]; - this.set(c[0], c[1]); - } -} -function Vle() { - this.size = 0, this.__data__ = { - hash: new Hash(), - map: new (Map || ListCache)(), - string: new Hash() - }; -} -function Wle(a) { - var r = getMapData(this, a).delete(a); - return this.size -= r ? 1 : 0, r; -} -function Ule(a) { - return getMapData(this, a).get(a); -} -function Kle(a) { - return getMapData(this, a).has(a); -} -function Zle(a, r) { - var u = getMapData(this, a), c = u.size; - return u.set(a, r), this.size += u.size == c ? 0 : 1, this; -} -mv.prototype.clear = Vle; -mv.prototype.delete = Wle; -mv.prototype.get = Ule; -mv.prototype.has = Kle; -mv.prototype.set = Zle; -const Xle = "Expected a function"; -function V6(a, r) { - if (typeof a != "function" || r != null && typeof r != "function") - throw new TypeError(Xle); - var u = function() { - var c = arguments, d = r ? r.apply(this, c) : c[0], g = u.cache; - if (g.has(d)) - return g.get(d); - var b = a.apply(this, c); - return u.cache = g.set(d, b) || g, b; - }; - return u.cache = new (V6.Cache || mv)(), u; -} -V6.Cache = mv; -const lY = function() { - var a = "Expected a function", r = Math.max, u = Date.now, c = u || function() { - return (/* @__PURE__ */ new Date()).getTime(); - }; - function d(b, y, k) { - var E, C, T, P, N, D, H, _ = 0, B = !1, $ = !0; - if (typeof b != "function") - throw new TypeError(a); - if (y = y < 0 ? 0 : +y || 0, k === !0) { - var F = !0; - $ = !1; - } else - g(k) && (F = !!k.leading, B = "maxWait" in k && r(+k.maxWait || 0, y), $ = "trailing" in k ? !!k.trailing : $); - function W() { - D && clearTimeout(D), C && clearTimeout(C), _ = 0, C = D = H = void 0; - } - function Q(Z, ae) { - ae && clearTimeout(ae), C = D = H = void 0, Z && (_ = c(), T = b.apply(N, E), !D && !C && (E = N = void 0)); - } - function X() { - var Z = y - (c() - P); - Z <= 0 || Z > y ? Q(H, C) : D = setTimeout(X, Z); - } - function K() { - Q($, D); - } - function ee() { - if (E = arguments, P = c(), N = this, H = $ && (D || !F), B === !1) - var Z = F && !D; - else { - !C && !F && (_ = P); - var ae = B - (P - _), oe = ae <= 0 || ae > B; - oe ? (C && (C = clearTimeout(C)), _ = P, T = b.apply(N, E)) : C || (C = setTimeout(K, ae)); - } - return oe && D ? D = clearTimeout(D) : !D && y !== B && (D = setTimeout(X, y)), Z && (oe = !0, T = b.apply(N, E)), oe && !D && !C && (E = N = void 0), T; - } - return ee.cancel = W, ee; - } - function g(b) { - var y = typeof b; - return !!b && (y === "object" || y === "function"); - } - return d; -}(), Qle = function(a, r, u) { - var c = !0, d = !0; - return u === !1 ? c = !1 : typeof u == typeof {} && (c = "leading" in u ? u.leading : c, d = "trailing" in u ? u.trailing : d), u = u || {}, u.leading = c, u.maxWait = r, u.trailing = d, lY(a, r, u); -}, fY = {}, Jle = Object.getPrototypeOf, efe = fY.toString, W6 = fY.hasOwnProperty, hY = W6.toString, tfe = hY.call(Object), dY = function(r) { - return typeof r == "function" && typeof r.nodeType != "number"; -}, nfe = (a, r, u) => ((a << 16) + (r << 8) + u).toString(16).padStart(6, "0"), rfe = document.querySelectorAll.bind(document); -function k6(a) { - let r, u; - return !a || efe.call(a) !== "[object Object]" ? !1 : (r = Jle(a), r ? (u = W6.call(r, "constructor") && r.constructor, typeof u == "function" && hY.call(u) === tfe) : !0); -} -function vY() { - let a, r, u, c, d, g, b = arguments[0] || {}, y = 1, k = arguments.length, E = !1; - for (typeof b == "boolean" && (E = b, b = arguments[y] || {}, y++), typeof b != "object" && !dY(b) && (b = {}), y === k && (b = this, y--); y < k; y++) - if ((a = arguments[y]) != null) - for (r in a) - u = b[r], c = a[r], b !== c && (E && c && (k6(c) || (d = Array.isArray(c))) ? (d ? (d = !1, g = u && Array.isArray(u) ? u : []) : g = u && k6(u) ? u : {}, b[r] = vY(E, g, c)) : c !== void 0 && (b[r] = c)); - return b; -} -function ife(a) { - return document.getElementById(a); -} -function afe(a, r, u) { - const c = function() { - u(), a.removeEventListener(r, c); - }; - a.addEventListener(r, c); -} -function ofe(a) { - if (a && a.nodeType === 1 && window.Node && a instanceof Node) - return !0; -} -function sfe(a, r) { - if (typeof r == "string") { - var u = a.ownerDocument.defaultView; - return u.getComputedStyle(a, null)[r]; - } else if (typeof r == "object") - for (var c in r) - a.style[c] = r[c]; -} -function ufe(a, r) { - a.classList.add(r); -} -function cfe(a, r) { - a.classList.remove(r); -} -function lfe(a, r) { - return a.classList.contains(r); -} -function ffe(a) { - const r = a.getBoundingClientRect(); - return { - top: r.top + window.pageYOffset - document.documentElement.clientTop, - left: r.left + window.pageXOffset - document.documentElement.clientLeft - }; -} -function hfe() { - function a() { - return Math.floor((1 + Math.random()) * 65536).toString(16).substring(1); - } - return a() + a() + "-" + a() + "-" + a() + "-" + a() + "-" + a() + a() + a(); -} -const Ir = { - hasOwn: W6, - isFunction: dY, - query: rfe, - isPlainObject: k6, - extend: vY, - css: sfe, - addClass: ufe, - removeClass: cfe, - hasClass: lfe, - offset: ffe, - once: afe, - $: ife, - isNode: ofe, - debounce: lY, - throttle: Qle, - RGBToHex: nfe, - memoize: V6, - guid: hfe -}; -class dfe { - constructor() { - this.events = {}; - } - /** - * Adds listener to EventBus - * @param {string} type The name of the event to listen for - * @param {function} callback Callback to call when event was triggered - * @param {object} scope The scope in which the callback shall be executed - * @param {...any} args Any number of args to be passed to the callback - */ - on(r, u, c, ...d) { - typeof this.events[r] > "u" && (this.events[r] = []), this.events[r].push({ - scope: c, - callback: u, - args: d - }); - } - /** - * Removes listener from EventBus - * @param {string} type The name of the event to remove - * @param {function} callback Callback of the event to remove - * @param {object} scope The scope of the to be removed event - */ - off(r, u, c) { - if (typeof this.events[r] > "u") - return; - const d = (g) => g.scope !== c || g.callback !== u; - this.events[r] = this.events[r].filter(d); - } - /** - * Checks if the passed event is registered in the EventBus - * @param {string} type Type of the to be checked event - * @param {callback} callback Callback of the to be checked event - * @param {object} scope Scope of the to be checked event - */ - has(r, u, c) { - if (typeof this.events[r] > "u") - return !1; - let d = this.events[r].length; - if (u === void 0 && c === void 0) - return d > 0; - const g = (b) => { - const y = c ? b.scope === c : !0, k = b.callback === u; - if (y && k) - return !0; - }; - return this.events[r].some(g); - } - /** - * Emits an event on the EventBus - * @param {string} type Type of event to emit - * @param {object} target The caller - * @param {...any} args Any number of args to be passed to the callback - */ - emit(r, u, ...c) { - if (typeof this.events[r] > "u") - return; - let d = { - type: r, - target: u - }; - const g = this.events[r].slice(); - for (const b of g) - b && b.callback && b.callback.apply(b.scope, [d, ...c, ...b.args]); - } - debug() { - let r = ""; - for (const [u, c] of Object.entries(this.events)) - for (const d of c) { - let g = d.scope && d.scope.constructor.name || "Anonymous"; - r += `${g} listening for "${u}" -`; - } - return r; - } -} -class vfe { - constructor(r, u) { - this.cy = r; - let c = { - stackOrder: -1, - gridSpacing: 35, - strokeStyle: "#eeeeee", - lineWidth: 1, - lineDash: [5, 8], - zoomDash: !0, - panGrid: !0, - snapToGrid: !0, - drawGrid: !0 - }; - this._options = Ir.extend(!0, {}, c, u), this._init(), this._initEvents(); - } - _init() { - this._container = this.cy.container(), this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this._container.append(this.canvas); - } - _initEvents() { - window.addEventListener("resize", () => this._resizeCanvas()), this.cy.ready(() => { - this._resizeCanvas(), this._options.snapToGrid && this.snapAll(), this.cy.on("zoom", () => this._drawGrid()), this.cy.on("pan", () => this._drawGrid()), this.cy.on("free", (r) => this._nodeFreed(r)), this.cy.on("add", (r) => this._nodeAdded(r)); - }); - } - _resizeCanvas() { - let r = this._container.getBoundingClientRect(); - this.canvas.height = r.height, this.canvas.width = r.width, this.canvas.style.position = "absolute", this.canvas.style.top = 0, this.canvas.style.left = 0, this.canvas.style.zIndex = this._options.stackOrder, setTimeout(() => { - let u = Ir.offset(this.canvas), c = Ir.offset(this._container); - this.canvas.style.top = -(u.top - c.top), this.canvas.style.left = -(u.left - c.left), this._drawGrid(); - }, 0); - } - _drawGrid() { - if (this.clear(), !this._options.drawGrid) - return; - let r = this.cy.zoom(), u = this._container.getBoundingClientRect(), c = u.width, d = u.height, g = this._options.gridSpacing * r, b = this.cy.pan(), y = b.x % g, k = b.y % g; - if (this.ctx.strokeStyle = this._options.strokeStyle, this.ctx.lineWidth = this._options.lineWidth, this._options.zoomDash) { - let E = this._options.lineDash.slice(); - for (let C = 0; C < E.length; C++) - E[C] = this._options.lineDash[C] * r; - this.ctx.setLineDash(E); - } else - this.ctx.setLineDash(this._options.lineDash); - this._options.panGrid ? this.ctx.lineDashOffset = -b.y : this.ctx.lineDashOffset = 0; - for (let E = y; E < c; E += g) - this.ctx.beginPath(), this.ctx.moveTo(E, 0), this.ctx.lineTo(E, d), this.ctx.stroke(); - this._options.panGrid ? this.ctx.lineDashOffset = -b.x : this.ctx.lineDashOffset = 0; - for (let E = k; E < d; E += g) - this.ctx.beginPath(), this.ctx.moveTo(0, E), this.ctx.lineTo(c, E), this.ctx.stroke(); - } - _nodeFreed(r) { - this._options.snapToGrid && this.snapNode(r.target); - } - _nodeAdded(r) { - this._options.snapToGrid && this.snapNode(r.target); - } - snapNode(r) { - let u = r.position(), c = Math.floor(u.x / this._options.gridSpacing), d = Math.floor(u.y / this._options.gridSpacing); - r.position({ - x: (c + 0.5) * this._options.gridSpacing, - y: (d + 0.5) * this._options.gridSpacing - }); - } - snapAll() { - this.cy.nodes().each((r) => { - this.snapNode(r); - }); - } - refresh() { - this._resizeCanvas(); - } - snapOn() { - this._options.snapToGrid = !0, this.snapAll(), this.cy.trigger("cyeditor.snapgridon"); - } - snapOff() { - this._options.snapToGrid = !1, this.cy.trigger("cyeditor.snapgridoff"); - } - gridOn() { - this._options.drawGrid = !0, this._drawGrid(), this.cy.trigger("cyeditor.gridon"); - } - gridOff() { - this._options.drawGrid = !1, this._drawGrid(), this.cy.trigger("cyeditor.gridoff"); - } - clear() { - let r = this._container.getBoundingClientRect(), u = r.width, c = r.height; - this.ctx.clearRect(0, 0, u, c); - } -} -const gY = (a) => { - a && a("core", "snapToGrid", function(r) { - return new vfe(this, r); - }); -}; -let gfe = { - container: !1, - // can be a selector - viewLiveFramerate: 0, - // set false to update graph pan only on drag end; set 0 to do it instantly; set a number (frames per second) to update not more than N times per second - dblClickDelay: 200, - // milliseconds - removeCustomContainer: !0, - // destroy the container specified by user on plugin destroy - rerenderDelay: 500 - // ms to throttle rerender updates to the panzoom for performance -}; -class bfe { - constructor(r, u) { - this.cy = r, this._options = Ir.extend({}, gfe, u), this._init(r, u); - } - _init() { - this._cyListeners = [], this._contianer = this.cy.container(), this.boundingBox = this.bb(); - let r = this._contianer.getBoundingClientRect(); - this.width = r.width, this.height = r.height, this._initPanel(), this._initThumbnail(), this._initView(), this._initOverlay(); - } - _addCyListener(r, u) { - this._cyListeners.push({ - events: r, - handler: u - }), this.cy.on(r, u); - } - _removeCyListeners() { - let r = this.cy; - this._cyListeners.forEach(function(u) { - r.off(u.events, u.handler); - }), r.offRender(this._onRenderHandler); - } - _initPanel() { - let r = this._options; - if (r.container) { - if (typeof r.container == "string" ? this.$panel = Ir.query(r.container)[0] : Ir.isNode(r.container) && (this.$panel = r.container), !this.$panel) { - console.error("There is no any element matching your container"); - return; - } - } else - this.$panel = document.createElement("div"), document.body.appendChild(this.$panel); - this.$panel.classList.add("cytoscape-navigator"), this._setupPanel(), this._addCyListener("resize", this.resize.bind(this)); - } - _setupPanel() { - let r = this.$panel.getBoundingClientRect(); - this.panelWidth = r.width, this.panelHeight = r.height; - } - _initThumbnail() { - this.$thumbnail = document.createElement("img"), this.$panel.appendChild(this.$thumbnail), this._setupThumbnailSizes(), this._updateThumbnailImage(); - } - _setupThumbnailSizes() { - this.boundingBox = this.bb(), this.thumbnailZoom = Math.min(this.panelHeight / this.boundingBox.h, this.panelWidth / this.boundingBox.w), this.thumbnailPan = { - x: (this.panelWidth - this.thumbnailZoom * (this.boundingBox.x1 + this.boundingBox.x2)) / 2, - y: (this.panelHeight - this.thumbnailZoom * (this.boundingBox.y1 + this.boundingBox.y2)) / 2 - }; - } - // If bounding box has changed then update sizes - // Otherwise just update the thumbnail - _checkThumbnailSizesAndUpdate() { - let r = this.thumbnailZoom, u = this.thumbnailPan.x, c = this.thumbnailPan.y; - this._setupThumbnailSizes(), this._updateThumbnailImage(), (r !== this.thumbnailZoom || u !== this.thumbnailPan.x || c !== this.thumbnailPan.y) && this._setupView(); - } - _initView() { - this.$view = document.createElement("div"), this.$view.className = "cytoscape-navigatorView", this.$panel.appendChild(this.$view); - let r = window.getComputedStyle(this.$view); - this.viewBorderTop = parseInt(r["border-top-width"], 10), this.viewBorderRight = parseInt(r["border-right-width"], 10), this.viewBorderBottom = parseInt(r["border-bottom-width"], 10), this.viewBorderLeft = parseInt(r["border-left-width"], 10), this.viewBorderHorizontal = this.viewBorderLeft + this.viewBorderRight, this.viewBorderVertical = this.viewBorderTop + this.viewBorderBottom, this._setupView(), this._addCyListener("zoom pan", this._setupView.bind(this)); - } - _setupView() { - if (this.viewLocked) - return; - let r = this.cy.zoom(), u = this.cy.pan(); - this.viewW = this.width / r * this.thumbnailZoom, this.viewX = -u.x * this.viewW / this.width + this.thumbnailPan.x - this.viewBorderLeft, this.viewH = this.height / r * this.thumbnailZoom, this.viewY = -u.y * this.viewH / this.height + this.thumbnailPan.y - this.viewBorderTop, this.$view.style.width = this.viewW + "px", this.$view.style.height = this.viewH + "px", this.$view.style.position = "absolute", this.$view.style.left = this.viewX + "px", this.$view.style.top = this.viewY + "px"; - } - /* - * Used inner attributes - * - * timeout {number} used to keep stable frame rate - * lastMoveStartTime {number} - * inMovement {boolean} - * hookPoint {object} {x: 0, y: 0} - */ - _initOverlay() { - this.$overlay = document.createElement("div"), this.$overlay.className = "cytoscape-navigatorOverlay", this.$panel.appendChild(this.$overlay), this.overlayHookPointX = 0, this.overlayHookPointY = 0, this._initEventsHandling(); - } - _initEventsHandling() { - let r = [ - // Mouse events - "mousedown", - "mousewheel", - "DOMMouseScroll", - // Mozilla specific event - // Touch events - "touchstart" - ], u = [ - "mouseup", - "mouseout", - "mousemove", - // Touch events - "touchmove", - "touchend" - ], c = (g) => { - let b = Ir.extend({}, g); - if (b.type === "touchstart" && (b.offsetX = this.viewX + this.viewW / 2, b.offsetY = this.viewY + this.viewH / 2), b.offsetX === void 0 || b.offsetY === void 0) { - let y = Ir.offset(b.target); - b.offsetX = b.pageX - y.left, b.offsetY = b.pageY - y.top; - } - return b.type === "mousedown" || b.type === "touchstart" ? this._eventMoveStart(b) : (b.type === "mousewheel" || b.type === "DOMMouseScroll") && this._eventZoom(b), g.preventDefault(), !1; - }, d = (g) => { - let b = Ir.extend({}, g); - if (this.overlayInMovement) { - if (b.type === "touchend" ? (b.offsetX = this.viewX + this.viewW / 2, b.offsetY = this.viewY + this.viewH / 2) : b.type === "touchmove" && (b.pageX = b.touches[0].pageX, b.pageY = b.touches[0].pageY), b.target && (b.offsetX === void 0 || b.offsetY === void 0)) { - let y = Ir.offset(b.target); - b.offsetX = b.pageX - y.left, b.offsetY = b.pageY - y.top; - } - if (b.target && b.target !== this.$overlay) { - let y = Ir.offset(b.target), k = Ir.offset(this.$overlay); - if (y && k) - b.offsetX = b.offsetX - k.left + y.left, b.offsetY = b.offsetY - k.top + y.top; - else - return !1; - } - return b.type === "mousemove" || b.type === "touchmove" ? this._eventMove(b) : (b.type === "mouseup" || b.type === "touchend") && this._eventMoveEnd(b), g.preventDefault(), !1; - } - }; - r.forEach((g) => { - this.$overlay.addEventListener(g, c); - }), u.forEach((g) => { - window.addEventListener(g, d); - }), this._removeEventsHandling = () => { - u.forEach((g) => { - window.removeEventListener(g, d); - }), r.forEach((g) => { - this.$overlay.addEventListener(g, c); - }); - }; - } - _eventMoveStart(r) { - let u = (/* @__PURE__ */ new Date()).getTime(); - this.overlayLastMoveStartTime && this.overlayLastMoveStartTime + this._options.dblClickDelay > u ? (this.overlayLastMoveStartTime = 0, this.overlayInMovement = !0, this.overlayHookPointX = this.viewW / 2, this.overlayHookPointY = this.viewH / 2, this._options.viewLiveFramerate !== !1 ? this._eventMove({ - offsetX: this.panelWidth / 2, - offsetY: this.panelHeight / 2 - }) : this._eventMoveEnd({ - offsetX: this.panelWidth / 2, - offsetY: this.panelHeight / 2 - }), this.cy.reset(), this.overlayInMovement = !1) : (this.overlayLastMoveStartTime = u, this.overlayInMovement = !0, this.viewLocked = !0, r.offsetX >= this.viewX && r.offsetX <= this.viewX + this.viewW && r.offsetY >= this.viewY && r.offsetY <= this.viewY + this.viewH ? (this.overlayHookPointX = r.offsetX - this.viewX, this.overlayHookPointY = r.offsetY - this.viewY) : (this.overlayHookPointX = this.viewW / 2, this.overlayHookPointY = this.viewH / 2, this._eventMove(r))); - } - _eventMove(r) { - this._checkMousePosition(r), this.overlayInMovement && (this.viewX = r.offsetX - this.overlayHookPointX, this.viewY = r.offsetY - this.overlayHookPointY, this.$view.style.left = this.viewX + "px", this.$view.style.top = this.viewY + "px", this._options.viewLiveFramerate !== !1 && (this._options.viewLiveFramerate === 0 ? this._moveCy() : this.overlayTimeout || (this.overlayTimeout = setTimeout(() => { - this._moveCy(), this.overlayTimeout = !1; - }, 1e3 / this._options.viewLiveFramerate)))); - } - _checkMousePosition(r) { - r.offsetX > this.viewX && r.offsetX < this.viewX + this.viewBorderHorizontal + this.viewW && r.offsetY > this.viewY && r.offsetY < this.viewY + this.viewBorderVertical + this.viewH ? this.$panel.classList.add("mouseover-view") : this.$panel.classList.remove("mouseover-view"); - } - _eventMoveEnd(r) { - this.viewLocked = !1, this.$panel.classList.remove("mouseover-view"), this.overlayInMovement && (this._eventMove(r), this._options.viewLiveFramerate === !1 && this._moveCy(), this.overlayInMovement = !1); - } - _eventZoom(r) { - let u = Math.pow(10, r.wheelDeltaY / 1e3 || r.wheelDelta / 1e3 || r.detail / -32), c = { - left: r.offsetX, - top: r.offsetY - }; - this.cy.zoomingEnabled() && this._zoomCy(u, c); - } - _updateThumbnailImage() { - if (this._thumbnailUpdating) - return; - this._thumbnailUpdating = !0; - let r = () => { - this._checkThumbnailSizesAndUpdate(), this._setupView(); - let u = this.$thumbnail; - if (!u) - return; - let c = this.panelWidth, d = this.panelHeight, g = this.boundingBox, b = Math.min(c / g.w, d / g.h), y = { - x: (c - b * g.w) / 2, - y: (d - b * g.h) / 2 - }, k = this.cy.png({ - full: !0, - scale: b - }); - k.indexOf("image/png") < 0 ? u.removeAttribute("src") : u.setAttribute("src", k), u.style.position = "absolute", u.style.left = y.x + "px", u.style.top = y.y + "px"; - }; - this._onRenderHandler = Ir.throttle(r, this._options.rerenderDelay), this.cy.onRender(this._onRenderHandler); - } - _moveCy() { - this.cy.pan({ - x: -(this.viewX + this.viewBorderLeft - this.thumbnailPan.x) * this.width / this.viewW, - y: -(this.viewY + this.viewBorderLeft - this.thumbnailPan.y) * this.height / this.viewH - }); - } - _zoomCy(r) { - let u = { - x: this.width / 2, - y: this.height / 2 - }; - this.cy.zoom({ - level: this.cy.zoom() * r, - renderedPosition: u - }); - } - destroy() { - if (this._removeCyListeners(), this._removeEventsHandling(), this._options.container && !this._options.removeCustomContainer) { - let r = this.$panel.childNodes; - for (let u = r.length - 1; u >= 0; u--) - this.$panel.removeChild(r[u]); - } else - this.$panel.parentNode.removeChild(this.$panel); - } - resize() { - let r = this._contianer.getBoundingClientRect(); - this.width = r.width, this.height = r.height, this._setupPanel(), this._checkThumbnailSizesAndUpdate(), this._setupView(); - } - bb() { - let r = this.cy.elements().boundingBox(); - return r.w === 0 || r.h === 0 ? { - x1: 0, - x2: 1 / 0, - y1: 0, - y2: 1 / 0, - w: 1 / 0, - h: 1 / 0 - } : r; - } -} -const pfe = (a) => { - a && a("core", "navigator", function(r) { - return new bfe(this, r); - }); -}, wfe = { - preview: !0, - // whether to show added edges preview before releasing selection - hoverDelay: 150, - // time spent hovering over a target node before it is considered selected - handleNodes: "node", - // selector/filter function for whether edges can be made from a given node - snap: !1, - // when enabled, the edge can be drawn by just moving close to a target node (can be confusing on compound graphs) - snapThreshold: 50, - // the target node must be less than or equal to this many pixels away from the cursor/finger - snapFrequency: 15, - // the number of times per second (Hz) that snap checks done (lower is less expensive) - noEdgeEventsInDraw: !1, - // set events:no to edges during draws, prevents mouseouts on compounds - disableBrowserGestures: !0, - // during an edge drawing gesture, disable browser gestures such as two-finger trackpad swipe and pinch-to-zoom - handlePosition: function(a) { - return "middle top"; - }, - handleInDrawMode: !1, - // whether to show the handle in draw mode - edgeType: function(a, r) { - return "flat"; - }, - loopAllowed: function(a) { - return !1; - }, - nodeLoopOffset: -50, - // offset for edgeType: 'node' loops - nodeParams: function(a, r) { - return {}; - }, - edgeParams: function(a, r, u) { - return {}; - }, - ghostEdgeParams: function() { - return {}; - }, - show: function(a) { - }, - hide: function(a) { - }, - start: function(a) { - }, - complete: function(a, r, u) { - }, - stop: function(a) { - }, - cancel: function(a, r) { - }, - hoverover: function(a, r) { - }, - hoverout: function(a, r) { - }, - previewon: function(a, r, u) { - }, - previewoff: function(a, r, u) { - }, - drawon: function() { - }, - drawoff: function() { - } -}; -function mfe() { - if (this.saveGestureState(), this.cy.zoomingEnabled(!1).panningEnabled(!1).boxSelectionEnabled(!1), this.options.disableBrowserGestures) { - let a = this.windowListenerOptions; - window.addEventListener("touchstart", this.preventDefault, a), window.addEventListener("touchmove", this.preventDefault, a), window.addEventListener("wheel", this.preventDefault, a); - } - return this; -} -function yfe() { - if (this.cy.zoomingEnabled(this.lastZoomingEnabled).panningEnabled(this.lastPanningEnabled).boxSelectionEnabled(this.lastBoxSelectionEnabled), this.options.disableBrowserGestures) { - let a = this.windowListenerOptions; - window.removeEventListener("touchstart", this.preventDefault, a), window.removeEventListener("touchmove", this.preventDefault, a), window.removeEventListener("wheel", this.preventDefault, a); - } - return this; -} -function kfe() { - let { - cy: a - } = this; - return this.lastPanningEnabled = a.panningEnabled(), this.lastZoomingEnabled = a.zoomingEnabled(), this.lastBoxSelectionEnabled = a.boxSelectionEnabled(), this; -} -const Efe = { - disableGestures: mfe, - resetGestures: yfe, - saveGestureState: kfe -}; -function Sfe() { - let { - cy: a, - options: r - } = this; - return this.addListener(a, "drag", () => { - this.grabbingNode = !0; - }), this.addListener(a, "free", () => { - this.grabbingNode = !1; - }), this.addListener(a, "mouseover", "node", (u) => { - this.show(u.target); - }), this.addListener(a, "tap", "node", (u) => { - let c = u.target; - c.same(this.handleNode) || this.show(c); - }), this.addListener(a, "position", "node", (u) => { - u.target.same(this.sourceNode) && this.hide(); - }), this.addListener(a, "tapstart", "node", (u) => { - let c = u.target; - c.same(this.handleNode) ? this.start(this.sourceNode) : this.drawMode ? this.start(c) : c.same(this.sourceNode) && this.hide(); - }), this.addListener(a, "tapdrag", (u) => { - this.update(u.position); - }), this.addListener(a, "tapdragover", "node", (u) => { - this.preview(u.target); - }), this.addListener(a, "tapdragout", "node", (u) => { - r.snap && u.target.same(this.targetNode) || this.unpreview(u.target); - }), this.addListener(a, "tapend", () => { - this.stop(); - }), this.addListener(a, "remove", (u) => { - u.target.same(this.sourceNode) && this.hide(); - }), this; -} -const Cfe = { - addCytoscapeListeners: Sfe -}, xfe = (a) => typeof a == "string"; -function $E(a, r, u) { - let c = {}; - return Object.assign(c, r, a), Object.assign(c.data, r.data, a.data), xfe(r.classes) ? c.classes = r.classes + " " + u : Array.isArray(r.classes) ? c.classes = r.classes.join(" ") + " " + u : c.classes = u, c; -} -function Tfe(a = !1) { - let { - cy: r, - options: u, - presumptiveTargets: c, - previewEles: d, - active: g - } = this, b = this.sourceNode, y = this.targetNode, k = a ? "eh-preview" : "", E = r.collection(), C = u.edgeType(b, y); - if (!g || !C || a && !u.preview) - return; - if (!y || y.size() === 0) { - d.remove(), this.emit("cancel", this.mp(), b, c); - return; - } - if (!a && u.preview) { - d.removeClass("eh-preview").style("events", ""), this.emit("complete", this.mp(), b, y, d); - return; - } - let T = b.position(), P = y.position(), N; - if (b.same(y) ? N = { - x: T.x + u.nodeLoopOffset, - y: T.y + u.nodeLoopOffset - } : N = { - x: (T.x + P.x) / 2, - y: (T.y + P.y) / 2 - }, C === "node") { - let D = r.add( - $E( - { - group: "nodes", - position: N - }, - u.nodeParams(b, y), - k - ) - ), H = r.add( - $E( - { - group: "edges", - data: { - source: b.id(), - target: D.id() - } - }, - u.edgeParams(b, y, 0), - k - ) - ), _ = r.add( - $E( - { - group: "edges", - data: { - source: D.id(), - target: y.id() - } - }, - u.edgeParams(b, y, 1), - k - ) - ); - E = E.merge(D).merge(H).merge(_); - } else { - let D = r.add( - $E( - { - group: "edges", - data: { - source: b.id(), - target: y.id() - } - }, - u.edgeParams(b, y, 0), - k - ) - ); - E = E.merge(D); - } - return a ? (this.previewEles = E, E.style("events", "no")) : (E.style("events", ""), this.emit("complete", this.mp(), b, y, E)), this; -} -function Lfe() { - return this.makeEdges(!0), this; -} -function Pfe() { - return this.previewEles.nonempty() && this.previewEles.inside(); -} -function Dfe() { - return this.previewShown() && this.previewEles.remove(), this; -} -function jfe() { - return this.handleNode.nonempty() && this.handleNode.inside(); -} -function Nfe() { - return this.handleShown() && this.handleNode.remove(), this; -} -function Ife(a) { - let { - options: r, - cy: u - } = this, c = typeof r.handlePosition == "string" ? () => r.handlePosition : r.handlePosition, d = a.position(), g = a.outerHeight(), b = a.outerWidth(), y = 0, k = 0, E = c(a).toLowerCase().split(/\s+/), C = E[0], T = E[1]; - C === "left" ? y = -(b / 2) : C === "right" && (y = b / 2), T === "top" ? k = -(g / 2) : T === "bottom" && (k = g / 2); - let P = this.hx = d.x + y, N = this.hy = d.y + k, D = { - x: P, - y: N - }; - return this.handleShown() ? this.handleNode.position(D) : u.batch(() => { - this.handleNode = u.add({ - classes: "eh-handle", - position: D, - grabbable: !1, - selectable: !1 - }), this.handleNode.style("z-index", 9007199254740991); - }), this; -} -function Mfe() { - let { - sourceNode: a, - ghostNode: r, - cy: u, - mx: c, - my: d, - options: g - } = this, b = c, y = d, k, E; - if (a) - return (!r || r.length === 0 || r.removed()) && (E = this.ghostEles = u.collection(), u.batch(() => { - r = this.ghostNode = u.add({ - group: "nodes", - classes: "eh-ghost eh-ghost-node", - position: { - x: 0, - y: 0 - } - }), r.style({ - "background-color": "blue", - width: 1e-4, - height: 1e-4, - opacity: 0, - events: "no" - }); - let C = g.ghostEdgeParams(); - k = u.add(Object.assign({}, C, { - group: "edges", - data: Object.assign({}, C.data, { - source: a.id(), - target: r.id() - }) - })), k.addClass("eh-ghost eh-ghost-edge"), k.style({ - events: "no" - }); - }), E.merge(r).merge(k)), r.position({ - x: b, - y - }), this; -} -const Ofe = { - makeEdges: Tfe, - makePreview: Lfe, - removePreview: Dfe, - previewShown: Pfe, - updateEdge: Mfe, - handleShown: jfe, - setHandleFor: Ife, - removeHandle: Nfe -}; -function Afe(a) { - const { options: r, previewEles: u, ghostEles: c, handleNode: d } = this, g = (N) => u.anySame(N), b = (N) => c.anySame(N), y = (N) => N.filter(r.handleNodes).length > 0, k = (N) => d.same(N), E = (N) => g(N) || k(N) || b(N), { enabled: C, active: T, grabbingNode: P } = this; - return C && !T && !P && (a == null || !E(a) && y(a)); -} -function Rfe(a) { - return this.canStartOn(a) && this.drawMode; -} -function Bfe(a) { - return this.canStartOn(a) && !this.drawMode; -} -function zfe(a) { - let { options: r, drawMode: u } = this; - if (!(!this.canStartOn(a) || u && !r.handleInDrawMode)) - return this.sourceNode = a, this.setHandleFor(a), this.emit("show", this.hp(), this.sourceNode), this; -} -function Hfe() { - return this.removeHandle(), this.emit("hide", this.hp(), this.sourceNode), this; -} -function _fe(a) { - this.canStartOn(a) && (this.active = !0, this.sourceNode = a, this.sourceNode.addClass("eh-source"), this.disableGestures(), this.disableEdgeEvents(), this.emit("start", this.hp(), a)); -} -function Gfe(a) { - if (!this.active) - return; - let r = a; - return this.mx = r.x, this.my = r.y, this.updateEdge(), this.throttledSnap(), this; -} -function $fe() { - if (!this.active || !this.options.snap) - return !1; - let a = this.cy, r = this.targetNode, u = this.options.snapThreshold, c = (N) => { - let H = b(N) + u; - return H * H; - }, d = this.mp(), g = (N, D) => (D.x - N.x) * (D.x - N.x) + (D.y - N.y) * (D.y - N.y), b = (N) => (N.outerWidth() + N.outerHeight()) / 4, y = Ir.memoize((N) => g(N.position(), d), (N) => N.id()), k = (N) => y(N) <= c(N), E = (N, D) => y(N) - y(D), C = !1, T = a.nodes(k).sort(E), P = !1; - r.nonempty() && !k(r) && this.unpreview(r); - for (let N = 0; N < T.length; N++) { - let D = T[N]; - if (D.same(r) || this.preview(D, C)) { - P = !0; - break; - } - } - return P; -} -function Yfe(a, r = !0) { - let { options: u, sourceNode: c, ghostNode: d, ghostEles: g, presumptiveTargets: b, previewEles: y, active: k } = this, E = c, C = a.same(E), T = u.loopAllowed(a), P = a.same(d), N = !u.edgeType(E, a), D = a.same(this.handleNode), H = a.same(this.targetNode); - if (!k || D || P || N || H || C && !T) - return !1; - this.targetNode.nonempty() && this.unpreview(this.targetNode), clearTimeout(this.previewTimeout); - let _ = () => { - this.targetNode = a, b.merge(a), a.addClass("eh-presumptive-target"), a.addClass("eh-target"), this.emit("hoverover", this.mp(), E, a), u.preview && (a.addClass("eh-preview"), g.addClass("eh-preview-active"), c.addClass("eh-preview-active"), a.addClass("eh-preview-active"), this.makePreview(), this.emit("previewon", this.mp(), E, a, y)); - }; - return r && u.hoverDelay > 0 ? this.previewTimeout = setTimeout(_, u.hoverDelay) : _(), !0; -} -function Ffe(a) { - if (!this.active || a.same(this.handleNode)) - return; - let { previewTimeout: r, sourceNode: u, previewEles: c, ghostEles: d, cy: g } = this; - clearTimeout(r), this.previewTimeout = null; - let b = u; - return a.removeClass("eh-preview eh-target eh-presumptive-target eh-preview-active"), d.removeClass("eh-preview-active"), u.removeClass("eh-preview-active"), this.targetNode = g.collection(), this.removePreview(b, a), this.emit("hoverout", this.mp(), b, a), this.emit("previewoff", this.mp(), b, a, c), this; -} -function qfe() { - if (!this.active) - return; - let { sourceNode: a, targetNode: r, ghostEles: u, presumptiveTargets: c } = this; - return clearTimeout(this.previewTimeout), a.removeClass("eh-source"), r.removeClass("eh-target eh-preview eh-hover"), c.removeClass("eh-presumptive-target"), this.makeEdges(), this.removeHandle(), u.remove(), this.clearCollections(), this.resetGestures(), this.enableEdgeEvents(), this.active = !1, this.emit("stop", this.mp(), a), this; -} -const Vfe = { - show: zfe, - hide: Hfe, - start: _fe, - update: Gfe, - preview: Yfe, - unpreview: Ffe, - stop: qfe, - snap: $fe, - canStartOn: Afe, - canStartDrawModeOn: Rfe, - canStartNonDrawModeOn: Bfe -}; -function Wfe() { - return this.addCytoscapeListeners(), this.addListener(this.cy, "destroy", () => this.destroy()), this; -} -function Ufe() { - for (let a = this.listeners.length - 1; a >= 0; a--) { - let r = this.listeners[a]; - this.removeListener(r.target, r.event, r.selector, r.callback, r.options); - } - return this; -} -function bY(a, r, u, c, d) { - return typeof u != "string" && (c = u, d = c, u = null), d == null && (d = !1), { target: a, event: r, selector: u, callback: c, options: d }; -} -function pY(a) { - return a instanceof Element; -} -function Kfe(a, r, u, c, d) { - let g = bY(a, r, u, c, d); - return this.listeners.push(g), pY(g.target) ? g.target.addEventListener(g.event, g.callback, g.options) : g.selector ? g.target.addListener(g.event, g.selector, g.callback, g.options) : g.target.addListener(g.event, g.callback, g.options), this; -} -function Zfe(a, r, u, c, d) { - let g = bY(a, r, u, c, d); - for (let b = this.listeners.length - 1; b >= 0; b--) { - let y = this.listeners[b]; - if (g.target === y.target && g.event === y.event && (g.selector == null || g.selector === y.selector) && (g.callback == null || g.callback === y.callback)) { - this.listeners.splice(b, 1), pY(g.target) ? g.target.removeEventListener(g.event, g.callback, g.options) : g.selector ? g.target.removeListener(g.event, g.selector, g.callback, g.options) : g.target.removeListener(g.event, g.callback, g.options); - break; - } - } - return this; -} -function Xfe(a, r, ...u) { - let { options: c, cy: d } = this; - d.emit({ type: `eh${a}`, position: r }, u); - let g = c[a]; - return g != null && g(...u), this; -} -const Qfe = { addListener: Kfe, addListeners: Wfe, removeListener: Zfe, removeListeners: Ufe, emit: Xfe }; -class wY { - constructor(r, u) { - this.cy = r, this.listeners = [], this.enabled = !0, this.drawMode = !1, this.active = !1, this.grabbingNode = !1, this.handleNode = r.collection(), this.clearCollections(), this.hx = 0, this.hy = 0, this.hr = 0, this.mx = 0, this.my = 0, this.options = Object.assign({}, wfe, u), this.saveGestureState(), this.addListeners(), this.throttledSnap = Ir.throttle(this.snap.bind(this), 1e3 / u.snapFrequency), this.preventDefault = (d) => d.preventDefault(); - let c = !1; - try { - let d = Object.defineProperty({}, "passive", { - get: function() { - c = !0; - } - }); - window.addEventListener("test", null, d); - } catch { - } - c ? this.windowListenerOptions = { - capture: !0, - passive: !1 - } : this.windowListenerOptions = !0; - } - destroy() { - this.removeListeners(); - } - setOptions(r) { - Object.assign(this.options, r); - } - mp() { - return { - x: this.mx, - y: this.my - }; - } - hp() { - return { - x: this.hx, - y: this.hy - }; - } - clearCollections() { - this.previewEles = this.cy.collection(), this.ghostEles = this.cy.collection(), this.ghostNode = this.cy.collection(), this.sourceNode = this.cy.collection(), this.targetNode = this.cy.collection(), this.presumptiveTargets = this.cy.collection(); - } - enable() { - return this.enabled = !0, this.emit("enable"), this; - } - disable() { - return this.enabled = !1, this.emit("disable"), this; - } - toggleDrawMode(r) { - let { - cy: u, - options: c - } = this; - return this.drawMode = r ?? !this.drawMode, this.drawMode ? (this.prevUngrabifyState = u.autoungrabify(), u.autoungrabify(!0), !c.handleInDrawMode && this.handleShown() && this.hide(), this.emit("drawon")) : (u.autoungrabify(this.prevUngrabifyState), this.emit("drawoff")), this; - } - enableDrawMode() { - return this.toggleDrawMode(!0); - } - disableDrawMode() { - return this.toggleDrawMode(!1); - } - disableEdgeEvents() { - return this.options.noEdgeEventsInDraw && this.cy.edges().style("events", "no"), this; - } - enableEdgeEvents() { - return this.options.noEdgeEventsInDraw && this.cy.edges().style("events", ""), this; - } -} -let Jfe = wY.prototype, ehe = (a) => Object.assign(Jfe, a); -const the = [Efe, Cfe, Ofe, Vfe, Qfe]; -the.forEach(ehe); -const nhe = (a) => { - a && a("core", "edgehandles", function(r) { - return new wY(this, r); - }); -}, rhe = { - container: !1, - addWhenDrop: !0, - nodeTypes: [] -}; -class ihe { - constructor(r, u) { - this.cy = r, this._options = Object.assign({}, rhe, u), this._options.nodeTypes.forEach((c) => { - c.width = c.width || 76, c.height = c.height || 76, c.category = c.category || "other"; - }), !(this._options.nodeTypes.length < 1) && (this._initShapePanel(), this._initShapeItems(), this._initEvents()); - } - _initShapeItems() { - let r = this._options.nodeTypes.filter((g) => g.type && g.image); - r.forEach((g) => { - g._id = Ir.guid(); - }); - let u = {}, c = []; - r.forEach((g) => { - g.category ? u[g.category] ? u[g.category].push(g) : u[g.category] = [g] : c.push(g); - }), c.length && (u.other = c); - let d = Object.keys(u).map((g) => { - let b = u[g].map((y) => `
${y.name}
`).join(""); - return `
-
${g}
-
${b}
-
`; - }).join(""); - this._shapePanel.innerHTML = d; - } - _initEvents() { - let r = this.cy.container(), u = (c) => { - c.preventDefault(); - }; - Ir.query(".shape-item").forEach((c) => { - c.addEventListener("dragstart", (d) => { - d.dataTransfer.setData("id", d.target.getAttribute("data-id")); - }); - }), r.addEventListener("drop", (c) => { - let d = c.dataTransfer.getData("id"); - if (c.target.compareDocumentPosition(r) === 10) { - let b = { x: c.offsetX, y: c.offsetY }; - const y = this._options.nodeTypes.find((k) => k._id === d); - y && this._addNodeToCy(y, b); - } - }), r.addEventListener("dragenter", u), r.addEventListener("dragover", u); - } - _addNodeToCy({ type: r, width: u, height: c, bg: d, name: g = "", points: b, image: y }, k) { - let E = { type: r, name: g, bg: d, width: u, height: c }; - E.image = y; - let C = { - group: "nodes", - data: E, - position: k - }; - b && (C.data.points = b), this._options.addWhenDrop && this.cy.trigger("cyeditor.addnode", C); - } - _initShapePanel() { - let { _options: r } = this; - r.container ? (typeof r.container == "string" ? this._shapePanel = Ir.query(r.container)[0] : Ir.isNode(r.container) && (this._shapePanel = r.container), this._shapePanel || console.error("There is no any element matching your container")) : (this._shapePanel = document.createElement("div"), document.body.appendChild(this._shapePanel)); - } -} -const ahe = (a) => { - a && a("core", "dragAddNodes", function(r) { - return new ihe(this, r); - }); -}, ohe = { - menus: [ - { - id: "remove", - content: "remove", - disabled: !1, - divider: !0 - }, - { - id: "hide", - content: "hide", - disabled: !1 - } - ], - beforeShow: () => !0, - beforeClose: () => !0 -}; -class she { - constructor(r, u) { - this.cy = r, this._options = Object.assign({}, ohe, u), this._listeners = {}, this._init(); - } - _init() { - this._initContainer(), this._initDom(), this._initEvents(); - } - _initContainer() { - this._container = this.cy.container(), this.ctxmenu = document.createElement("div"), this.ctxmenu.className = "cy-editor-ctx-menu", this._container.append(this.ctxmenu); - } - _initDom() { - let r = ""; - this._options.menus.forEach((u) => { - r += `
${u.content}
`; - }), this.ctxmenu.innerHTML = r; - } - _initEvents() { - this._listeners.eventCyTap = (r) => { - let u = r.renderedPosition || r.cyRenderedPosition, c = u.x, d = u.y; - Ir.css(this.ctxmenu, { - top: d + "px", - left: c + "px" - }), this.show(r); - }, this._listeners.eventTapstart = (r) => { - this.close(r); - }, this._listeners.click = (r) => { - const u = r.target.getAttribute("data-menu-item"), c = this._options.menus.find((d) => d.id === u); - this.cy.trigger("cyeditor.ctxmenu", c); - }, this.ctxmenu.addEventListener("mousedown", this._listeners.click), this.cy.on("cxttap", this._listeners.eventCyTap), this.cy.on("tapstart", this._listeners.eventTapstart); - } - disable(r, u = !0) { - Ir.query(`.cy-editor-ctx-menu [data-menu-item=${r}]`).forEach((d) => { - u ? Ir.addClass(d, "ctx-menu-item-disabled") : Ir.removeClass(d, "ctx-menu-item-disabled"); - }); - } - changeMenus(r) { - this._options.menus = r, this._initDom(); - } - show(r) { - if (typeof this._options.beforeShow == "function" && !this.isShow) { - const u = this._options.beforeShow(r, this._options.menus.slice(0)); - if (!u) - return; - if (u && u.then) { - u.then((c) => { - c && (Ir.css(this.ctxmenu, { - display: "block" - }), this.isShow = !0); - }); - return; - } - Array.isArray(u) && this.changeMenus(u), Ir.css(this.ctxmenu, { - display: "block" - }), this.isShow = !0; - } - } - close(r) { - if (typeof this._options.beforeShow == "function" && this.isShow) { - const u = this._options.beforeClose(r); - u === !0 ? (Ir.css(this.ctxmenu, { - display: "none" - }), this.isShow = !1) : u.then && u.then(() => { - Ir.css(this.ctxmenu, { - display: "none" - }), this.isShow = !1; - }); - } - } - destroyCxtMenu() { - this.ctxmenu.removeEventListener("mousedown", this._listeners.click), this.cy.off("tapstart", this._listeners.eventTapstart), this.cy.off("cxttap", this._listeners.eventCyTap); - } -} -const uhe = (a) => { - a && a("core", "contextMenu", function(r) { - return new she(this, r); - }); -}; -class che { - constructor(r, u = {}) { - this._cy = r, this._params = u, this._node_dom = {}; - let c = r.container(); - if (u.dom_container) - this._nodes_dom_container = u.dom_container; - else { - let d = document.createElement("div"); - d.style.position = "absolute", d.style.zIndex = 10, c.querySelector("canvas").parentNode.appendChild(d), this._nodes_dom_container = d; - } - this._resize_observer = new ResizeObserver((d) => { - for (let g of d) { - let b = g.target, y = b.__cy_id; - r.getElementById(y).style({ width: b.offsetWidth, height: b.offsetHeight, shape: "rectangle" }); - } - }), r.on("add", "node", (d) => { - this._add_node(d.target); - }); - for (let d of r.nodes()) - this._add_node(d); - r.on("pan zoom", (d) => { - let g = r.pan(), b = r.zoom(), y = "translate(" + g.x + "px," + g.y + "px) scale(" + b + ")"; - this._nodes_dom_container.style.msTransform = y, this._nodes_dom_container.style.transform = y; - }), r.on("position bounds", "node", (d) => { - let g = d.target, b = g.id(); - if (!this._node_dom[b]) - return; - let y = this._node_dom[b], k = `translate(-50%, -50%) translate(${g.position("x").toFixed(2)}px, ${g.position("y").toFixed(2)}px)`; - y.style.webkitTransform = k, y.style.msTransform = k, y.style.transform = k, y.style.display = "inline", y.style.position = "absolute", y.style["z-index"] = 10; - }); - } - _add_node(r) { - let u = r.data(); - u.dom && (this._nodes_dom_container.appendChild(u.dom), u.dom.__cy_id = r.id(), this._node_dom[r.id()] = u.dom, this._resize_observer.observe(u.dom)); - } - node_dom(r) { - return this._node_dom[r]; - } -} -const lhe = (a) => { - a && a("core", "domNode", function(r, u) { - return new che(this, r, u); - }); -}, fhe = [ - { - selector: ".eh-handle", - style: { - "background-color": "red", - width: 12, - height: 12, - shape: "ellipse", - "overlay-opacity": 0, - "border-width": 12, - // makes the handle easier to hit - "border-opacity": 0, - "background-opacity": 0.5 - } - }, - { - selector: ".eh-hover", - style: { - "background-color": "red", - "background-opacity": 0.5 - } - }, - { - selector: ".eh-source", - style: { - "border-width": 2, - "border-color": "red" - } - }, - { - selector: ".eh-target", - style: { - "border-width": 2, - "border-color": "red" - } - }, - { - selector: ".eh-preview, .eh-ghost-edge", - style: { - "background-color": "red", - "line-color": "red", - "target-arrow-color": "red", - "source-arrow-color": "red" - } - }, - { - selector: ".eh-ghost-edge.eh-preview-active", - style: { - opacity: 0 - } - } -], hhe = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1sb2dvcyIgd2lkdGg9IjMxLjg4IiBoZWlnaHQ9IjMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgMjU2IDI1NyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJJY29uaWZ5SWQxODEzMDg4ZmUxZmJjMDFmYjQ2NiIgeDE9Ii0uODI4JSIgeDI9IjU3LjYzNiUiIHkxPSI3LjY1MiUiIHkyPSI3OC40MTElIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjNDFEMUZGIj48L3N0b3A+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjQkQzNEZFIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Ikljb25pZnlJZDE4MTMwODhmZTFmYmMwMWZiNDY3IiB4MT0iNDMuMzc2JSIgeDI9IjUwLjMxNiUiIHkxPSIyLjI0MiUiIHkyPSI4OS4wMyUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNGRkVBODMiPjwvc3RvcD48c3RvcCBvZmZzZXQ9IjguMzMzJSIgc3RvcC1jb2xvcj0iI0ZGREQzNSI+PC9zdG9wPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI0ZGQTgwMCI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGZpbGw9InVybCgjSWNvbmlmeUlkMTgxMzA4OGZlMWZiYzAxZmI0NjYpIiBkPSJNMjU1LjE1MyAzNy45MzhMMTM0Ljg5NyAyNTIuOTc2Yy0yLjQ4MyA0LjQ0LTguODYyIDQuNDY2LTExLjM4Mi4wNDhMLjg3NSAzNy45NThjLTIuNzQ2LTQuODE0IDEuMzcxLTEwLjY0NiA2LjgyNy05LjY3bDEyMC4zODUgMjEuNTE3YTYuNTM3IDYuNTM3IDAgMCAwIDIuMzIyLS4wMDRsMTE3Ljg2Ny0yMS40ODNjNS40MzgtLjk5MSA5LjU3NCA0Ljc5NiA2Ljg3NyA5LjYyWiI+PC9wYXRoPjxwYXRoIGZpbGw9InVybCgjSWNvbmlmeUlkMTgxMzA4OGZlMWZiYzAxZmI0NjcpIiBkPSJNMTg1LjQzMi4wNjNMOTYuNDQgMTcuNTAxYTMuMjY4IDMuMjY4IDAgMCAwLTIuNjM0IDMuMDE0bC01LjQ3NCA5Mi40NTZhMy4yNjggMy4yNjggMCAwIDAgMy45OTcgMy4zNzhsMjQuNzc3LTUuNzE4YzIuMzE4LS41MzUgNC40MTMgMS41MDcgMy45MzYgMy44MzhsLTcuMzYxIDM2LjA0N2MtLjQ5NSAyLjQyNiAxLjc4MiA0LjUgNC4xNTEgMy43OGwxNS4zMDQtNC42NDljMi4zNzItLjcyIDQuNjUyIDEuMzYgNC4xNSAzLjc4OGwtMTEuNjk4IDU2LjYyMWMtLjczMiAzLjU0MiAzLjk3OSA1LjQ3MyA1Ljk0MyAyLjQzN2wxLjMxMy0yLjAyOGw3Mi41MTYtMTQ0LjcyYzEuMjE1LTIuNDIzLS44OC01LjE4Ni0zLjU0LTQuNjcybC0yNS41MDUgNC45MjJjLTIuMzk2LjQ2Mi00LjQzNS0xLjc3LTMuNzU5LTQuMTE0bDE2LjY0Ni01Ny43MDVjLjY3Ny0yLjM1LTEuMzctNC41ODMtMy43NjktNC4xMTNaIj48L3BhdGg+PC9zdmc+", dhe = [ - { - type: "rectangle", - image: hhe, - bg: "#999", - width: 150, - height: 40, - name: "矩形", - category: "基础形状" - } -], vhe = [{ - selector: "node[type]", - style: { - shape: "data(type)", - label: "data(type)", - height: "data(height)", - width: "data(width)", - "text-valign": "center", - "text-halign": "center" - } -}, { - selector: "node[points]", - style: { - "shape-polygon-points": "data(points)", - label: `polygon -(custom points)`, - "text-wrap": "wrap" - } -}, { - selector: "node[name]", - style: { - // 'content': 'data(name)' - content: "" - } -}, { - selector: "node[image]", - style: { - "background-opacity": 0, - "background-fit": "cover", - "background-image": (a) => a.data("image") || { value: "" } - } -}, { - selector: "node[bg]", - style: { - "background-opacity": 0.45, - "background-color": "data(bg)", - "border-width": 1, - "border-opacity": 0.8, - "border-color": "data(bg)" - } -}, { - selector: "node:active", - style: { - "overlay-color": "#0169D9", - "overlay-padding": 8, - "overlay-opacity": 0.25 - } -}, { - selector: "node:selected", - style: { - "overlay-color": "#0169D9", - "overlay-padding": 8, - "overlay-opacity": 0.25 - } -}], ghe = [ - { - selector: "edge", - style: { - "curve-style": "bezier", - "target-arrow-shape": "triangle", - width: 1 - } - }, - { - selector: "edge[lineType]", - style: { - "curve-style": "data(lineType)" - } - }, - { - selector: "edge[lineColor]", - style: { - "target-arrow-shape": "triangle", - width: 1, - "line-color": "data(lineColor)", - "source-arrow-color": "data(lineColor)", - "target-arrow-color": "data(lineColor)", - "mid-source-arrow-color": "data(lineColor)", - "mid-target-arrow-color": "data(lineColor)" - } - }, - { - selector: "edge[lineColor]:active", - style: { - "overlay-color": "#0169D9", - "overlay-padding": 2, - "overlay-opacity": 0.25, - "line-color": "data(lineColor)", - "source-arrow-color": "data(lineColor)", - "target-arrow-color": "data(lineColor)", - "mid-source-arrow-color": "data(lineColor)", - "mid-target-arrow-color": "data(lineColor)" - } - }, - { - selector: "edge[lineColor]:selected", - style: { - "overlay-color": "#0169D9", - "overlay-padding": 2, - "overlay-opacity": 0.25, - "line-color": "data(lineColor)", - "source-arrow-color": "data(lineColor)", - "target-arrow-color": "data(lineColor)", - "mid-source-arrow-color": "data(lineColor)", - "mid-target-arrow-color": "data(lineColor)" - } - } -], u6 = { - cy: { - layout: { - name: "concentric", - fit: !1, - concentric: function(a) { - return 0; - }, - minNodeSpacing: 100 - }, - styleEnabled: !0, - style: [ - ...ghe, - ...vhe, - ...fhe - ], - minZoom: 0.1, - maxZoom: 10 - }, - editor: { - container: "", - zoomRate: 0.2, - lineType: "bezier", - dragAddNodes: !0, - snapGrid: !0, - contextMenu: !0, - navigator: !0, - nodeTypes: dhe, - beforeAdd(a) { - return !0; - }, - afterAdd(a) { - } - } -}, Gp = { - node: { - type: "rectangle", - bg: "#999", - name: "", - width: 150, - height: 40, - image: "" - }, - edge: { - lineColor: "#999" - } -}; -qh.use(nhe); -qh.use(pfe); -qh.use(gY); -qh.use(ahe); -qh.use(uhe); -qh.use(lhe); -qh.use(qle); -class bhe extends dfe { - constructor(r = u6) { - return super(), this._plugins = {}, this._listeners = {}, this._initOptions(r), this._initDom(), this._initCy(), this._initPlugin(), this._initEvents(), { - editor: this, - cy: this.cy - }; - } - _initOptions(r = {}) { - this.editorOptions = Object.assign( - {}, - u6.editor, - r.editor - ); - const { zoomRate: u } = this.editorOptions; - this._handleOptonsChange = { - snapGrid: this._snapGridChange, - lineType: this._lineTypeChange - }, r.editor.nodeTypes && this.setOption("nodeTypes", r.editor.nodeTypes), (u <= 0 || u >= 1) && console.error( - "zoomRate must be float number, greater than 0 and less than 1" - ), this.cyOptions = Object.assign({}, u6.cy, r.cy); - const { elements: c } = this.cyOptions; - c && (Array.isArray(c.nodes) && c.nodes.forEach((d) => { - d.data = Object.assign({}, Gp.node, d.data); - }), Array.isArray(c.edges) && c.edges.forEach((d) => { - d.data = Object.assign({}, Gp.edge, d.data); - })); - } - _initCy() { - this.cyOptions.container = Ir.query("#cy")[0], this.cy = qh(this.cyOptions), this.cy.domNode(); - } - _initDom() { - let { dragAddNodes: r, navigator: u, container: c } = this.editorOptions, d = r ? '
' : "", g = u ? '
导航器
' : "", b = ""; - u && (b = `
${g}
`); - let y = `${d}
${b} -`, k; - if (c) { - if (typeof c == "string" ? k = Ir.query(c)[0] : Ir.isNode(c) && (k = c), k.className = "cy-editor-container", k.classList.contains("cy-editor-container") || (k.className = k.className + " cy-editor-container"), !k) { - console.error("There is no any element matching your container"); - return; - } - } else - k = document.createElement("div"), k.className = "cy-editor-container", document.body.appendChild(k); - k.innerHTML = y; - } - _initEvents() { - const { edgehandles: r } = this._plugins; - this._listeners.hoverout = (u) => { - r && (r.active = !0, r.stop(u)); - }, this._listeners.select = (u) => { - this._doAction; - }, this._listeners.addEles = (u, c) => { - if (c.position) { - let b = { pan: this.cy.pan(), zoom: this.cy.zoom() }, y = (c.position.x - b.pan.x) / b.zoom, k = (c.position.y - b.pan.y) / b.zoom; - c.position = { x: y, y: k }; - } - if (!this._hook("beforeAdd", c, !0)) - return; - let d; - this.editorOptions.getDomNode && (d = this.editorOptions.getDomNode(c.data)); - const g = Object.assign({}, Gp.node, { - data: d ? { ...c.data, dom: d } : { ...c.data }, - position: c.position - }); - this.cy.add(g), this._hook("afterAdd", c), this.emit("change", c, this); - }, this.cy.on("click", this._listeners.hoverout).on("select", this._listeners.select).on("cyeditor.addnode", this._listeners.addEles), this.emit("ready"); - } - _initPlugin() { - const { dragAddNodes: r, contextMenu: u, snapGrid: c, navigator: d } = this.editorOptions; - this._plugins.edgehandles = this.cy.edgehandles({ - snap: !1, - handlePosition() { - return "middle middle"; - }, - edgeParams: this._edgeParams.bind(this) - }), r && (this._plugins.dragAddNodes = this.cy.dragAddNodes({ - container: ".cy-editor-container .left", - nodeTypes: this.editorOptions.nodeTypes - })), c && (this._plugins.cySnapToGrid = this.cy.snapToGrid()), d && this.cy.navigator({ - container: ".cy-editor-container .thumb" - }), u && (this._plugins.contextMenu = this.cy.contextMenu(u)); - } - _snapGridChange() { - this._plugins.cySnapToGrid && (this.editorOptions.snapGrid ? (this._plugins.cySnapToGrid.gridOn(), this._plugins.cySnapToGrid.snapOn()) : (this._plugins.cySnapToGrid.gridOff(), this._plugins.cySnapToGrid.snapOff())); - } - _edgeParams() { - return { - data: { lineType: this.editorOptions.lineType } - }; - } - _lineTypeChange(r) { - let u = this.cy.$("edge:selected"); - u.length < 1 && (u = this.cy.$("edge")), u.forEach((c) => { - c.data({ - lineType: r - }); - }); - } - _hook(r, u, c = !1) { - if (typeof this.editorOptions[r] == "function") { - const d = this.editorOptions[r](u); - return c ? d : !0; - } - } - doCommand(r, u) { - switch (u.command) { - case "gridon": - this.toggleGrid(); - break; - case "zoomin": - this.zoom(1); - break; - case "zoomout": - this.zoom(-1); - break; - case "fit": - this.fit(); - break; - case "delete": - this.deleteSelected(); - break; - case "boxselect": - this.cy.userPanningEnabled(!u.selected), this.cy.boxSelectionEnabled(u.selected); - break; - } - } - /** - * change editor option, support snapGrid, lineType - * @param {string|object} key - * @param {*} value - */ - setOption(r, u) { - typeof r == "string" ? (this.editorOptions[r] = u, typeof this._handleOptonsChange[r] == "function" && this._handleOptonsChange[r].call(this, u)) : typeof r == "object" && Object.assign(this.editorOptions, r); - let { dragAddNodes: c, navigator: d } = this.editorOptions; - c && this.cy && (this._plugins.dragAddNodes = this.cy.dragAddNodes({ - container: ".cy-editor-container .left", - nodeTypes: this.editorOptions.nodeTypes - })), gY && this.cy && (this._plugins.cySnapToGrid = this.cy.snapToGrid()); - } - deleteSelected() { - let r = this.cy.$(":selected"); - r.length && this.cy.remove(r); - } - async save() { - try { - let r = await this.cy.png({ output: "blob-promise" }); - if (window.navigator.msSaveBlob) - window.navigator.msSaveBlob(r, `chart-${Date.now()}.png`); - else { - let u = document.createElement("a"); - u.download = `chart-${Date.now()}.png`, u.href = window.URL.createObjectURL(r), u.click(); - } - } catch (r) { - console.log(r); - } - } - fit() { - this._fit_status ? (this.cy.viewport({ - zoom: this._fit_status.zoom, - pan: this._fit_status.pan - }), this._fit_status = null) : (this._fit_status = { pan: this.cy.pan(), zoom: this.cy.zoom() }, this.cy.fit()); - } - zoom(r = 1, u) { - u = u || this.editorOptions.zoomRate; - let c = this.cy.width(), d = this.cy.height(), g = this.cy.zoom() + u * r, b = this.cy.pan(); - b.x = b.x + -1 * c * u * r / 2, b.y = b.y + -1 * d * u * r / 2, this.cy.viewport({ - zoom: g, - pan: b - }); - } - toggleGrid() { - this._plugins.cySnapToGrid ? this.setOption("snapGrid", !this.editorOptions.snapGrid) : console.warn("Can not `toggleGrid`, please check the initialize option"); - } - jpg(r = {}) { - return this.cy.png(r); - } - png(r) { - return this.cy.png(r); - } - /** - * Export the graph as JSON or Import the graph as JSON - * @param {*} opt params for cy.json(opt) - * @param {*} keys JSON Object keys - */ - json(r = !1, u) { - u = u || [ - "boxSelectionEnabled", - "elements", - "pan", - "panningEnabled", - "userPanningEnabled", - "userZoomingEnabled", - "zoom", - "zoomingEnabled" - ]; - let c = {}; - if (typeof r == "boolean") { - let d = this.cy.json(r); - return u.forEach((g) => { - c[g] = d[g]; - }), c; - } - return typeof r == "object" && (c = {}, r.elements && (Array.isArray(r.elements.nodes) && r.elements.nodes.forEach((d) => { - let g; - this.editorOptions.getDomNode && (g = this.editorOptions.getDomNode(d.data)), d.data = Object.assign({}, Gp.node, { - ...d.data, - dom: g - }); - }), Array.isArray(r.elements.edges) && r.elements.edges.forEach((d) => { - d.data = Object.assign({}, Gp.edge, d.data); - })), u.forEach((d) => { - c[d] = r[d]; - })), this.cy.json(c); - } - /** - * get or set data - * @param {string|object} name - * @param {*} value - */ - data(r, u) { - return this.cy.data(r, u); - } - /** - * remove data - * @param {string} names split by space - */ - removeData(r) { - this.cy.removeData(r); - } - destroy() { - this.cy.removeAllListeners(), this.cy.destroy(); - } -} -export { - bhe as default -}; diff --git a/web/packages/cyeditor/distlib/cyeditor.umd.js b/web/packages/cyeditor/distlib/cyeditor.umd.js deleted file mode 100644 index 864957172..000000000 --- a/web/packages/cyeditor/distlib/cyeditor.umd.js +++ /dev/null @@ -1,29 +0,0 @@ -(function(xc,kv){typeof exports=="object"&&typeof module<"u"?module.exports=kv():typeof define=="function"&&define.amd?define(kv):(xc=typeof globalThis<"u"?globalThis:xc||self,xc.CyEditor=kv())})(this,function(){"use strict";var xc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kv(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}function mY(a){var r=typeof a;return a!=null&&(r=="object"||r=="function")}var Vb=mY,yY=typeof xc=="object"&&xc&&xc.Object===Object&&xc,kY=yY,EY=kY,SY=typeof self=="object"&&self&&self.Object===Object&&self,CY=EY||SY||Function("return this")(),pw=CY,xY=pw,TY=function(){return xY.Date.now()},LY=TY,PY=/\s/;function DY(a){for(var r=a.length;r--&&PY.test(a.charAt(r)););return r}var jY=DY,NY=jY,IY=/^\s+/;function MY(a){return a&&a.slice(0,NY(a)+1).replace(IY,"")}var OY=MY,AY=pw,RY=AY.Symbol,x5=RY,K6=x5,Z6=Object.prototype,BY=Z6.hasOwnProperty,zY=Z6.toString,Wb=K6?K6.toStringTag:void 0;function HY(a){var r=BY.call(a,Wb),u=a[Wb];try{a[Wb]=void 0;var c=!0}catch{}var d=zY.call(a);return c&&(r?a[Wb]=u:delete a[Wb]),d}var _Y=HY,GY=Object.prototype,$Y=GY.toString;function YY(a){return $Y.call(a)}var FY=YY,X6=x5,qY=_Y,VY=FY,WY="[object Null]",UY="[object Undefined]",Q6=X6?X6.toStringTag:void 0;function KY(a){return a==null?a===void 0?UY:WY:Q6&&Q6 in Object(a)?qY(a):VY(a)}var J6=KY;function ZY(a){return a!=null&&typeof a=="object"}var XY=ZY,QY=J6,JY=XY,eF="[object Symbol]";function tF(a){return typeof a=="symbol"||JY(a)&&QY(a)==eF}var Ub=tF,nF=OY,eP=Vb,rF=Ub,tP=0/0,iF=/^[-+]0x[0-9a-f]+$/i,aF=/^0b[01]+$/i,oF=/^0o[0-7]+$/i,sF=parseInt;function uF(a){if(typeof a=="number")return a;if(rF(a))return tP;if(eP(a)){var r=typeof a.valueOf=="function"?a.valueOf():a;a=eP(r)?r+"":r}if(typeof a!="string")return a===0?a:+a;a=nF(a);var u=aF.test(a);return u||oF.test(a)?sF(a.slice(2),u?2:8):iF.test(a)?tP:+a}var cF=uF,lF=Vb,T5=LY,nP=cF,fF="Expected a function",hF=Math.max,dF=Math.min;function vF(a,r,u){var c,d,g,b,y,k,E=0,C=!1,T=!1,P=!0;if(typeof a!="function")throw new TypeError(fF);r=nP(r)||0,lF(u)&&(C=!!u.leading,T="maxWait"in u,g=T?hF(nP(u.maxWait)||0,r):g,P="trailing"in u?!!u.trailing:P);function N(X){var K=c,ee=d;return c=d=void 0,E=X,b=a.apply(ee,K),b}function D(X){return E=X,y=setTimeout(B,r),C?N(X):b}function H(X){var K=X-k,ee=X-E,Z=r-K;return T?dF(Z,g-ee):Z}function _(X){var K=X-k,ee=X-E;return k===void 0||K>=r||K<0||T&&ee>=g}function B(){var X=T5();if(_(X))return $(X);y=setTimeout(B,H(X))}function $(X){return y=void 0,P&&c?N(X):(c=d=void 0,b)}function F(){y!==void 0&&clearTimeout(y),E=0,c=k=d=y=void 0}function W(){return y===void 0?b:$(T5())}function Q(){var X=T5(),K=_(X);if(c=arguments,d=this,k=X,K){if(y===void 0)return D(k);if(T)return clearTimeout(y),y=setTimeout(B,r),N(k)}return y===void 0&&(y=setTimeout(B,r)),b}return Q.cancel=F,Q.flush=W,Q}var gF=vF,rP={exports:{}};(function(a,r){(function(){var u,c,d,g,b,y,k,E,C,T,P,N,D,H,_;d=Math.floor,T=Math.min,c=function(B,$){return B<$?-1:B>$?1:0},C=function(B,$,F,W,Q){var X;if(F==null&&(F=0),Q==null&&(Q=c),F<0)throw new Error("lo must be non-negative");for(W==null&&(W=B.length);Fae;0<=ae?Z++:Z--)ee.push(Z);return ee}.apply(this).reverse(),K=[],W=0,Q=X.length;Woe;0<=oe?++ee:--ee)J.push(b(B,F));return J},H=function(B,$,F,W){var Q,X,K;for(W==null&&(W=c),Q=B[F];F>$;){if(K=F-1>>1,X=B[K],W(Q,X)<0){B[F]=X,F=K;continue}break}return B[F]=Q},_=function(B,$,F){var W,Q,X,K,ee;for(F==null&&(F=c),Q=B.length,ee=$,X=B[$],W=2*$+1;W-1}var Uq=Wq,Kq=yw;function Zq(a,r){var u=this.__data__,c=Kq(u,a);return c<0?(++this.size,u.push([a,r])):u[c][1]=r,this}var Xq=Zq,Qq=Oq,Jq=$q,eV=qq,tV=Uq,nV=Xq;function Sv(a){var r=-1,u=a==null?0:a.length;for(this.clear();++r-1&&a%1==0&&aa.length)&&(r=a.length);for(var u=0,c=new Array(r);u"u"?null:window,EP=ya?ya.navigator:null;ya&&ya.document;var oU=ma(""),SP=ma({}),sU=ma(function(){}),uU=typeof HTMLElement>"u"?"undefined":ma(HTMLElement),Xb=function(r){return r&&r.instanceString&&Ci(r.instanceString)?r.instanceString():null},Yt=function(r){return r!=null&&ma(r)==oU},Ci=function(r){return r!=null&&ma(r)===sU},Wr=function(r){return!Os(r)&&(Array.isArray?Array.isArray(r):r!=null&&r instanceof Array)},ar=function(r){return r!=null&&ma(r)===SP&&!Wr(r)&&r.constructor===Object},cU=function(r){return r!=null&&ma(r)===SP},kt=function(r){return r!=null&&ma(r)===ma(1)&&!isNaN(r)},lU=function(r){return kt(r)&&Math.floor(r)===r},Sw=function(r){if(uU!=="undefined")return r!=null&&r instanceof HTMLElement},Os=function(r){return Qb(r)||CP(r)},Qb=function(r){return Xb(r)==="collection"&&r._private.single},CP=function(r){return Xb(r)==="collection"&&!r._private.single},M5=function(r){return Xb(r)==="core"},xP=function(r){return Xb(r)==="stylesheet"},fU=function(r){return Xb(r)==="event"},Lf=function(r){return r==null?!0:!!(r===""||r.match(/^\s+$/))},hU=function(r){return typeof HTMLElement>"u"?!1:r instanceof HTMLElement},dU=function(r){return ar(r)&&kt(r.x1)&&kt(r.x2)&&kt(r.y1)&&kt(r.y2)},vU=function(r){return cU(r)&&Ci(r.then)},gU=function(){return EP&&EP.userAgent.match(/msie|trident|edge/i)},Jb=function(r,u){u||(u=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var g=[],b=0;bu?1:0},EU=function(r,u){return-1*PP(r,u)},en=Object.assign!=null?Object.assign.bind(Object):function(a){for(var r=arguments,u=1;u1&&(_-=1),_<1/6?D+(H-D)*6*_:_<1/2?H:_<2/3?D+(H-D)*(2/3-_)*6:D}var T=new RegExp("^"+wU+"$").exec(r);if(T){if(c=parseInt(T[1]),c<0?c=(360- -1*c%360)%360:c>360&&(c=c%360),c/=360,d=parseFloat(T[2]),d<0||d>100||(d=d/100,g=parseFloat(T[3]),g<0||g>100)||(g=g/100,b=T[4],b!==void 0&&(b=parseFloat(b),b<0||b>1)))return;if(d===0)y=k=E=Math.round(g*255);else{var P=g<.5?g*(1+d):g+d-g*d,N=2*g-P;y=Math.round(255*C(N,P,c+1/3)),k=Math.round(255*C(N,P,c)),E=Math.round(255*C(N,P,c-1/3))}u=[y,k,E,b]}return u},xU=function(r){var u,c=new RegExp("^"+bU+"$").exec(r);if(c){u=[];for(var d=[],g=1;g<=3;g++){var b=c[g];if(b[b.length-1]==="%"&&(d[g]=!0),b=parseFloat(b),d[g]&&(b=b/100*255),b<0||b>255)return;u.push(Math.floor(b))}var y=d[1]||d[2]||d[3],k=d[1]&&d[2]&&d[3];if(y&&!k)return;var E=c[4];if(E!==void 0){if(E=parseFloat(E),E<0||E>1)return;u.push(E)}}return u},TU=function(r){return PU[r.toLowerCase()]},LU=function(r){return(Wr(r)?r:null)||TU(r)||SU(r)||xU(r)||CU(r)},PU={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},DP=function(r){for(var u=r.map,c=r.keys,d=c.length,g=0;g1&&arguments[1]!==void 0?arguments[1]:xv,c=u,d;d=r.next(),!d.done;)c=c*IP+d.value|0;return c},t1=function(r){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xv;return u*IP+r|0},n1=function(r){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e1;return(u<<5)+u+r|0},jU=function(r,u){return r*2097152+u},Pf=function(r){return r[0]*2097152+r[1]},Tw=function(r,u){return[t1(r[0],u[0]),n1(r[1],u[1])]},NU=function(r,u){var c={value:0,done:!1},d=0,g=r.length,b={next:function(){return d=0&&!(r[d]===u&&(r.splice(d,1),c));d--);},z5=function(r){r.splice(0,r.length)},zU=function(r,u){for(var c=0;c"u"?"undefined":ma(Set))!==_U?Set:GU,Pw=function(r,u){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(r===void 0||u===void 0||!M5(r)){Hi("An element must have a core reference and parameters set");return}var d=u.group;if(d==null&&(u.data&&u.data.source!=null&&u.data.target!=null?d="edges":d="nodes"),d!=="nodes"&&d!=="edges"){Hi("An element must be of type `nodes` or `edges`; you specified `"+d+"`");return}this.length=1,this[0]=this;var g=this._private={cy:r,single:!0,data:u.data||{},position:u.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:d,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!u.selected,selectable:u.selectable===void 0?!0:!!u.selectable,locked:!!u.locked,grabbed:!1,grabbable:u.grabbable===void 0?!0:!!u.grabbable,pannable:u.pannable===void 0?d==="edges":!!u.pannable,active:!1,classes:new Tv,animation:{current:[],queue:[]},rscratch:{},scratch:u.scratch||{},edges:[],children:[],parent:u.parent&&u.parent.isNode()?u.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(g.position.x==null&&(g.position.x=0),g.position.y==null&&(g.position.y=0),u.renderedPosition){var b=u.renderedPosition,y=r.pan(),k=r.zoom();g.position={x:(b.x-y.x)/k,y:(b.y-y.y)/k}}var E=[];Wr(u.classes)?E=u.classes:Yt(u.classes)&&(E=u.classes.split(/\s+/));for(var C=0,T=E.length;C0;){var X=$.pop(),K=_(X),ee=X.id();if(P[ee]=K,K!==1/0)for(var Z=X.neighborhood().intersect(D),ae=0;ae0)for(ke.unshift(de);T[Ae];){var Te=T[Ae];ke.unshift(Te.edge),ke.unshift(Te.node),Pe=Te.node,Ae=Pe.id()}return y.spawn(ke)}}}},FU={kruskal:function(r){r=r||function(F){return 1};for(var u=this.byGroup(),c=u.nodes,d=u.edges,g=c.length,b=new Array(g),y=c,k=function(W){for(var Q=0;Q0;){if(Q(),K++,W===C){for(var ee=[],Z=g,ae=C,oe=B[ae];ee.unshift(Z),oe!=null&&ee.unshift(oe),Z=_[ae],Z!=null;)ae=Z.id(),oe=B[ae];return{found:!0,distance:T[W],path:this.spawn(ee),steps:K}}N[W]=!0;for(var J=F._private.edges,fe=0;feoe&&(D[ae]=oe,$[ae]=Z,F[ae]=Q),!g){var J=Z*C+ee;!g&&D[J]>oe&&(D[J]=oe,$[J]=ee,F[J]=Q)}}}for(var fe=0;fe1&&arguments[1]!==void 0?arguments[1]:b,In=F(yt),Pn=[],Vt=In;;){if(Vt==null)return u.spawn();var sr=$(Vt),Qe=sr.edge,ne=sr.pred;if(Pn.unshift(Vt[0]),Vt.same(Mt)&&Pn.length>0)break;Qe!=null&&Pn.unshift(Qe),Vt=ne}return k.spawn(Pn)},X=0;X=0;C--){var T=E[C],P=T[1],N=T[2];(u[P]===y&&u[N]===k||u[P]===k&&u[N]===y)&&E.splice(C,1)}for(var D=0;Dd;){var g=Math.floor(Math.random()*u.length);u=QU(g,r,u),c--}return u},JU={kargerStein:function(){var r=this,u=this.byGroup(),c=u.nodes,d=u.edges;d.unmergeBy(function(ke){return ke.isLoop()});var g=c.length,b=d.length,y=Math.ceil(Math.pow(Math.log(g)/Math.LN2,2)),k=Math.floor(g/XU);if(g<2){Hi("At least 2 nodes are required for Karger-Stein algorithm");return}for(var E=[],C=0;C1&&arguments[1]!==void 0?arguments[1]:0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.length,d=1/0,g=u;g1&&arguments[1]!==void 0?arguments[1]:0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.length,d=-1/0,g=u;g1&&arguments[1]!==void 0?arguments[1]:0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.length,d=0,g=0,b=u;b1&&arguments[1]!==void 0?arguments[1]:0,c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:r.length,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,b=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;d?r=r.slice(u,c):(c0&&r.splice(0,u));for(var y=0,k=r.length-1;k>=0;k--){var E=r[k];b?isFinite(E)||(r[k]=-1/0,y++):r.splice(k,1)}g&&r.sort(function(P,N){return P-N});var C=r.length,T=Math.floor(C/2);return C%2!==0?r[T+1+y]:(r[T-1+y]+r[T+y])/2},aK=function(r){return Math.PI*r/180},jw=function(r,u){return Math.atan2(u,r)-Math.PI/2},_5=Math.log2||function(a){return Math.log(a)/Math.log(2)},YP=function(r){return r>0?1:r<0?-1:0},Uh=function(r,u){return Math.sqrt(Kh(r,u))},Kh=function(r,u){var c=u.x-r.x,d=u.y-r.y;return c*c+d*d},oK=function(r){for(var u=r.length,c=0,d=0;d=r.x1&&r.y2>=r.y1)return{x1:r.x1,y1:r.y1,x2:r.x2,y2:r.y2,w:r.x2-r.x1,h:r.y2-r.y1};if(r.w!=null&&r.h!=null&&r.w>=0&&r.h>=0)return{x1:r.x1,y1:r.y1,x2:r.x1+r.w,y2:r.y1+r.h,w:r.w,h:r.h}}},uK=function(r){return{x1:r.x1,x2:r.x2,w:r.w,y1:r.y1,y2:r.y2,h:r.h}},cK=function(r){r.x1=1/0,r.y1=1/0,r.x2=-1/0,r.y2=-1/0,r.w=0,r.h=0},lK=function(r,u){r.x1=Math.min(r.x1,u.x1),r.x2=Math.max(r.x2,u.x2),r.w=r.x2-r.x1,r.y1=Math.min(r.y1,u.y1),r.y2=Math.max(r.y2,u.y2),r.h=r.y2-r.y1},fK=function(r,u,c){r.x1=Math.min(r.x1,u),r.x2=Math.max(r.x2,u),r.w=r.x2-r.x1,r.y1=Math.min(r.y1,c),r.y2=Math.max(r.y2,c),r.h=r.y2-r.y1},Nw=function(r){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return r.x1-=u,r.x2+=u,r.y1-=u,r.y2+=u,r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},G5=function(r){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],c,d,g,b;if(u.length===1)c=d=g=b=u[0];else if(u.length===2)c=g=u[0],b=d=u[1];else if(u.length===4){var y=Mu(u,4);c=y[0],d=y[1],g=y[2],b=y[3]}return r.x1-=b,r.x2+=d,r.y1-=c,r.y2+=g,r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},FP=function(r,u){r.x1=u.x1,r.y1=u.y1,r.x2=u.x2,r.y2=u.y2,r.w=r.x2-r.x1,r.h=r.y2-r.y1},$5=function(r,u){return!(r.x1>u.x2||u.x1>r.x2||r.x2u.y2||u.y1>r.y2)},Dv=function(r,u,c){return r.x1<=u&&u<=r.x2&&r.y1<=c&&c<=r.y2},hK=function(r,u){return Dv(r,u.x,u.y)},qP=function(r,u){return Dv(r,u.x1,u.y1)&&Dv(r,u.x2,u.y2)},VP=function(r,u,c,d,g,b,y){var k=s1(g,b),E=g/2,C=b/2,T;{var P=c-E+k-y,N=d-C-y,D=c+E-k+y,H=N;if(T=Nf(r,u,c,d,P,N,D,H,!1),T.length>0)return T}{var _=c+E+y,B=d-C+k-y,$=_,F=d+C-k+y;if(T=Nf(r,u,c,d,_,B,$,F,!1),T.length>0)return T}{var W=c-E+k-y,Q=d+C+y,X=c+E-k+y,K=Q;if(T=Nf(r,u,c,d,W,Q,X,K,!1),T.length>0)return T}{var ee=c-E-y,Z=d-C+k-y,ae=ee,oe=d+C-k+y;if(T=Nf(r,u,c,d,ee,Z,ae,oe,!1),T.length>0)return T}var J;{var fe=c-E+k,se=d-C+k;if(J=a1(r,u,c,d,fe,se,k+y),J.length>0&&J[0]<=fe&&J[1]<=se)return[J[0],J[1]]}{var pe=c+E-k,he=d-C+k;if(J=a1(r,u,c,d,pe,he,k+y),J.length>0&&J[0]>=pe&&J[1]<=he)return[J[0],J[1]]}{var de=c+E-k,ke=d+C-k;if(J=a1(r,u,c,d,de,ke,k+y),J.length>0&&J[0]>=de&&J[1]>=ke)return[J[0],J[1]]}{var Pe=c-E+k,Ae=d+C-k;if(J=a1(r,u,c,d,Pe,Ae,k+y),J.length>0&&J[0]<=Pe&&J[1]>=Ae)return[J[0],J[1]]}return[]},dK=function(r,u,c,d,g,b,y){var k=y,E=Math.min(c,g),C=Math.max(c,g),T=Math.min(d,b),P=Math.max(d,b);return E-k<=r&&r<=C+k&&T-k<=u&&u<=P+k},vK=function(r,u,c,d,g,b,y,k,E){var C={x1:Math.min(c,y,g)-E,x2:Math.max(c,y,g)+E,y1:Math.min(d,k,b)-E,y2:Math.max(d,k,b)+E};return!(rC.x2||uC.y2)},gK=function(r,u,c,d){c-=d;var g=u*u-4*r*c;if(g<0)return[];var b=Math.sqrt(g),y=2*r,k=(-u+b)/y,E=(-u-b)/y;return[k,E]},bK=function(r,u,c,d,g){var b=1e-5;r===0&&(r=b),u/=r,c/=r,d/=r;var y,k,E,C,T,P,N,D;if(k=(3*c-u*u)/9,E=-(27*d)+u*(9*c-2*(u*u)),E/=54,y=k*k*k+E*E,g[1]=0,N=u/3,y>0){T=E+Math.sqrt(y),T=T<0?-Math.pow(-T,1/3):Math.pow(T,1/3),P=E-Math.sqrt(y),P=P<0?-Math.pow(-P,1/3):Math.pow(P,1/3),g[0]=-N+T+P,N+=(T+P)/2,g[4]=g[2]=-N,N=Math.sqrt(3)*(-P+T)/2,g[3]=N,g[5]=-N;return}if(g[5]=g[3]=0,y===0){D=E<0?-Math.pow(-E,1/3):Math.pow(E,1/3),g[0]=-N+2*D,g[4]=g[2]=-(D+N);return}k=-k,C=k*k*k,C=Math.acos(E/Math.sqrt(C)),D=2*Math.sqrt(k),g[0]=-N+D*Math.cos(C/3),g[2]=-N+D*Math.cos((C+2*Math.PI)/3),g[4]=-N+D*Math.cos((C+4*Math.PI)/3)},pK=function(r,u,c,d,g,b,y,k){var E=1*c*c-4*c*g+2*c*y+4*g*g-4*g*y+y*y+d*d-4*d*b+2*d*k+4*b*b-4*b*k+k*k,C=1*9*c*g-3*c*c-3*c*y-6*g*g+3*g*y+9*d*b-3*d*d-3*d*k-6*b*b+3*b*k,T=1*3*c*c-6*c*g+c*y-c*r+2*g*g+2*g*r-y*r+3*d*d-6*d*b+d*k-d*u+2*b*b+2*b*u-k*u,P=1*c*g-c*c+c*r-g*r+d*b-d*d+d*u-b*u,N=[];bK(E,C,T,P,N);for(var D=1e-7,H=[],_=0;_<6;_+=2)Math.abs(N[_+1])=0&&N[_]<=1&&H.push(N[_]);H.push(1),H.push(0);for(var B=-1,$,F,W,Q=0;Q=0?WE?(r-g)*(r-g)+(u-b)*(u-b):C-P},ls=function(r,u,c){for(var d,g,b,y,k,E=0,C=0;C=r&&r>=b||d<=r&&r<=b)k=(r-d)/(b-d)*(y-g)+g,k>u&&E++;else continue;return E%2!==0},Pl=function(r,u,c,d,g,b,y,k,E){var C=new Array(c.length),T;k[0]!=null?(T=Math.atan(k[1]/k[0]),k[0]<0?T=T+Math.PI/2:T=-T-Math.PI/2):T=k;for(var P=Math.cos(-T),N=Math.sin(-T),D=0;D0){var _=UP(C,-E);H=WP(_)}else H=C;return ls(r,u,H)},mK=function(r,u,c,d,g,b,y){for(var k=new Array(c.length),E=b/2,C=y/2,T=q5(b,y),P=T*T,N=0;N=0&&_<=1&&$.push(_),B>=0&&B<=1&&$.push(B),$.length===0)return[];var F=$[0]*k[0]+r,W=$[0]*k[1]+u;if($.length>1){if($[0]==$[1])return[F,W];var Q=$[1]*k[0]+r,X=$[1]*k[1]+u;return[F,W,Q,X]}else return[F,W]},Y5=function(r,u,c){return u<=r&&r<=c||c<=r&&r<=u?r:r<=u&&u<=c||c<=u&&u<=r?u:c},Nf=function(r,u,c,d,g,b,y,k,E){var C=r-g,T=c-r,P=y-g,N=u-b,D=d-u,H=k-b,_=P*N-H*C,B=T*N-D*C,$=H*T-P*D;if($!==0){var F=_/$,W=B/$,Q=.001,X=0-Q,K=1+Q;return X<=F&&F<=K&&X<=W&&W<=K?[r+F*T,u+F*D]:E?[r+F*T,u+F*D]:[]}else return _===0||B===0?Y5(r,c,y)===y?[y,k]:Y5(r,c,g)===g?[g,b]:Y5(g,y,c)===c?[c,d]:[]:[]},o1=function(r,u,c,d,g,b,y,k){var E=[],C,T=new Array(c.length),P=!0;b==null&&(P=!1);var N;if(P){for(var D=0;D0){var H=UP(T,-k);N=WP(H)}else N=T}else N=c;for(var _,B,$,F,W=0;W2){for(var he=[E[0],E[1]],de=Math.pow(he[0]-r,2)+Math.pow(he[1]-u,2),ke=1;keC&&(C=W)},get:function(F){return E[F]}},P=0;P0?he=pe.edgesTo(se)[0]:he=se.edgesTo(pe)[0];var de=d(he);se=se.id(),ee[se]>ee[J]+de&&(ee[se]=ee[J]+de,Z.nodes.indexOf(se)<0?Z.push(se):Z.updateItem(se),K[se]=0,X[se]=[]),ee[se]==ee[J]+de&&(K[se]=K[se]+K[J],X[se].push(J))}else for(var ke=0;ke0;){for(var Oe=Q.pop(),ze=0;ze0&&y.push(c[k]);y.length!==0&&g.push(d.collection(y))}return g},AK=function(r,u){for(var c=0;c5&&arguments[5]!==void 0?arguments[5]:zK,y=d,k,E,C=0;C=2?u1(r,u,c,0,r7,HK):u1(r,u,c,0,n7)},squaredEuclidean:function(r,u,c){return u1(r,u,c,0,r7)},manhattan:function(r,u,c){return u1(r,u,c,0,n7)},max:function(r,u,c){return u1(r,u,c,-1/0,_K)}};Iv["squared-euclidean"]=Iv.squaredEuclidean,Iv.squaredeuclidean=Iv.squaredEuclidean;function Mw(a,r,u,c,d,g){var b;return Ci(a)?b=a:b=Iv[a]||Iv.euclidean,r===0&&Ci(a)?b(d,g):b(r,u,c,d,g)}var GK=eo({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),U5=function(r){return GK(r)},Ow=function(r,u,c,d,g){var b=g!=="kMedoids",y=b?function(T){return c[T]}:function(T){return d[T](c)},k=function(P){return d[P](u)},E=c,C=u;return Mw(r,d.length,y,k,E,C)},K5=function(r,u,c){for(var d=c.length,g=new Array(d),b=new Array(d),y=new Array(u),k=null,E=0;Ec)return!1}return!0},FK=function(r,u,c){for(var d=0;dy&&(y=u[E][C],k=C);g[k].push(r[E])}for(var T=0;T=g.threshold||g.mode==="dendrogram"&&r.length===1)return!1;var D=u[b],H=u[d[b]],_;g.mode==="dendrogram"?_={left:D,right:H,key:D.key}:_={value:D.value.concat(H.value),key:D.key},r[D.index]=_,r.splice(H.index,1),u[D.key]=_;for(var B=0;Bc[H.key][$.key]&&(k=c[H.key][$.key])):g.linkage==="max"?(k=c[D.key][$.key],c[D.key][$.key]0&&d.push(g);return d},f7=function(r,u,c){for(var d=[],g=0;gy&&(b=E,y=u[g*r+E])}b>0&&d.push(b)}for(var C=0;CE&&(k=C,E=T)}c[g]=b[k]}return d=f7(r,u,c),d},h7=function(r){for(var u=this.cy(),c=this.nodes(),d=iZ(r),g={},b=0;b=oe?(J=oe,oe=se,fe=pe):se>J&&(J=se);for(var he=0;he0?1:0;K[Z%d.minIterations*y+Oe]=ze,Te+=ze}if(Te>0&&(Z>=d.minIterations-1||Z==d.maxIterations-1)){for(var We=0,$e=0;$e1||X>1)&&(y=!0),T[F]=[],$.outgoers().forEach(function(ee){ee.isEdge()&&T[F].push(ee.id())})}else P[F]=[void 0,$.target().id()]}):b.forEach(function($){var F=$.id();if($.isNode()){var W=$.degree(!0);W%2&&(k?E?y=!0:E=F:k=F),T[F]=[],$.connectedEdges().forEach(function(Q){return T[F].push(Q.id())})}else P[F]=[$.source().id(),$.target().id()]});var N={found:!1,trail:void 0};if(y)return N;if(E&&k)if(g){if(C&&E!=C)return N;C=E}else{if(C&&E!=C&&k!=C)return N;C||(C=E)}else C||(C=b[0].id());var D=function(F){for(var W=F,Q=[F],X,K,ee;T[W].length;)X=T[W].shift(),K=P[X][0],ee=P[X][1],W!=ee?(T[ee]=T[ee].filter(function(Z){return Z!=X}),W=ee):!g&&W!=K&&(T[K]=T[K].filter(function(Z){return Z!=X}),W=K),Q.unshift(X),Q.unshift(W);return Q},H=[],_=[];for(_=D(C);_.length!=1;)T[_[0]].length==0?(H.unshift(b.getElementById(_.shift())),H.unshift(b.getElementById(_.shift()))):_=D(_.shift()).concat(_);H.unshift(b.getElementById(_.shift()));for(var B in T)if(T[B].length)return N;return N.found=!0,N.trail=this.spawn(H,!0),N}},Rw=function(){var r=this,u={},c=0,d=0,g=[],b=[],y={},k=function(P,N){for(var D=b.length-1,H=[],_=r.spawn();b[D].x!=P||b[D].y!=N;)H.push(b.pop().edge),D--;H.push(b.pop().edge),H.forEach(function(B){var $=B.connectedNodes().intersection(r);_.merge(B),$.forEach(function(F){var W=F.id(),Q=F.connectedEdges().intersection(r);_.merge(F),u[W].cutVertex?_.merge(Q.filter(function(X){return X.isLoop()})):_.merge(Q)})}),g.push(_)},E=function T(P,N,D){P===D&&(d+=1),u[N]={id:c,low:c++,cutVertex:!1};var H=r.getElementById(N).connectedEdges().intersection(r);if(H.size()===0)g.push(r.spawn(r.getElementById(N)));else{var _,B,$,F;H.forEach(function(W){_=W.source().id(),B=W.target().id(),$=_===N?B:_,$!==D&&(F=W.id(),y[F]||(y[F]=!0,b.push({x:N,y:$,edge:W})),$ in u?u[N].low=Math.min(u[N].low,u[$].id):(T(P,$,N),u[N].low=Math.min(u[N].low,u[$].low),u[N].id<=u[$].low&&(u[N].cutVertex=!0,k(N,$))))})}};r.forEach(function(T){if(T.isNode()){var P=T.id();P in u||(d=0,E(P,P),u[P].cutVertex=d>1)}});var C=Object.keys(u).filter(function(T){return u[T].cutVertex}).map(function(T){return r.getElementById(T)});return{cut:r.spawn(C),components:g}},hZ={hopcroftTarjanBiconnected:Rw,htbc:Rw,htb:Rw,hopcroftTarjanBiconnectedComponents:Rw},Bw=function(){var r=this,u={},c=0,d=[],g=[],b=r.spawn(r),y=function k(E){g.push(E),u[E]={index:c,low:c++,explored:!1};var C=r.getElementById(E).connectedEdges().intersection(r);if(C.forEach(function(H){var _=H.target().id();_!==E&&(_ in u||k(_),u[_].explored||(u[E].low=Math.min(u[E].low,u[_].low)))}),u[E].index===u[E].low){for(var T=r.spawn();;){var P=g.pop();if(T.merge(r.getElementById(P)),u[P].low=u[E].index,u[P].explored=!0,P===E)break}var N=T.edgesWith(T),D=T.merge(N);d.push(D),b=b.difference(D)}};return r.forEach(function(k){if(k.isNode()){var E=k.id();E in u||y(E)}}),{cut:b,components:d}},dZ={tarjanStronglyConnected:Bw,tsc:Bw,tscc:Bw,tarjanStronglyConnectedComponents:Bw},d7={};[r1,YU,FU,VU,UU,ZU,JU,CK,jv,Nv,W5,BK,ZK,nZ,cZ,fZ,hZ,dZ].forEach(function(a){en(d7,a)});/*! -Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable -Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) -Licensed under The MIT License (http://opensource.org/licenses/MIT) -*/var v7=0,g7=1,b7=2,Dl=function a(r){if(!(this instanceof a))return new a(r);this.id="Thenable/1.0.7",this.state=v7,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof r=="function"&&r.call(this,this.fulfill.bind(this),this.reject.bind(this))};Dl.prototype={fulfill:function(r){return p7(this,g7,"fulfillValue",r)},reject:function(r){return p7(this,b7,"rejectReason",r)},then:function(r,u){var c=this,d=new Dl;return c.onFulfilled.push(y7(r,d,"fulfill")),c.onRejected.push(y7(u,d,"reject")),w7(c),d.proxy}};var p7=function(r,u,c,d){return r.state===v7&&(r.state=u,r[c]=d,w7(r)),r},w7=function(r){r.state===g7?m7(r,"onFulfilled",r.fulfillValue):r.state===b7&&m7(r,"onRejected",r.rejectReason)},m7=function(r,u,c){if(r[u].length!==0){var d=r[u];r[u]=[];var g=function(){for(var y=0;y0}},clearQueue:function(){return function(){var u=this,c=u.length!==void 0,d=c?u:[u],g=this._private.cy||this;if(!g.styleEnabled())return this;for(var b=0;b0&&this.spawn(d).updateStyle().emit("class"),u},addClass:function(r){return this.toggleClass(r,!0)},hasClass:function(r){var u=this[0];return u!=null&&u._private.classes.has(r)},toggleClass:function(r,u){Wr(r)||(r=r.match(/\S+/g)||[]);for(var c=this,d=u===void 0,g=[],b=0,y=c.length;b0&&this.spawn(g).updateStyle().emit("class"),c},removeClass:function(r){return this.toggleClass(r,!1)},flashClass:function(r,u){var c=this;if(u==null)u=250;else if(u===0)return c;return c.addClass(r),setTimeout(function(){c.removeClass(r)},u),c}};zw.className=zw.classNames=zw.classes;var or={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:ka,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};or.variable="(?:[\\w-.]|(?:\\\\"+or.metaChar+"))+",or.className="(?:[\\w-]|(?:\\\\"+or.metaChar+"))+",or.value=or.string+"|"+or.number,or.id=or.variable,function(){var a,r,u;for(a=or.comparatorOp.split("|"),u=0;u=0)&&r!=="="&&(or.comparatorOp+="|\\!"+r)}();var $r=function(){return{checks:[]}},jt={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},X5=[{selector:":selected",matches:function(r){return r.selected()}},{selector:":unselected",matches:function(r){return!r.selected()}},{selector:":selectable",matches:function(r){return r.selectable()}},{selector:":unselectable",matches:function(r){return!r.selectable()}},{selector:":locked",matches:function(r){return r.locked()}},{selector:":unlocked",matches:function(r){return!r.locked()}},{selector:":visible",matches:function(r){return r.visible()}},{selector:":hidden",matches:function(r){return!r.visible()}},{selector:":transparent",matches:function(r){return r.transparent()}},{selector:":grabbed",matches:function(r){return r.grabbed()}},{selector:":free",matches:function(r){return!r.grabbed()}},{selector:":removed",matches:function(r){return r.removed()}},{selector:":inside",matches:function(r){return!r.removed()}},{selector:":grabbable",matches:function(r){return r.grabbable()}},{selector:":ungrabbable",matches:function(r){return!r.grabbable()}},{selector:":animated",matches:function(r){return r.animated()}},{selector:":unanimated",matches:function(r){return!r.animated()}},{selector:":parent",matches:function(r){return r.isParent()}},{selector:":childless",matches:function(r){return r.isChildless()}},{selector:":child",matches:function(r){return r.isChild()}},{selector:":orphan",matches:function(r){return r.isOrphan()}},{selector:":nonorphan",matches:function(r){return r.isChild()}},{selector:":compound",matches:function(r){return r.isNode()?r.isParent():r.source().isParent()||r.target().isParent()}},{selector:":loop",matches:function(r){return r.isLoop()}},{selector:":simple",matches:function(r){return r.isSimple()}},{selector:":active",matches:function(r){return r.active()}},{selector:":inactive",matches:function(r){return!r.active()}},{selector:":backgrounding",matches:function(r){return r.backgrounding()}},{selector:":nonbackgrounding",matches:function(r){return!r.backgrounding()}}].sort(function(a,r){return EU(a.selector,r.selector)}),mZ=function(){for(var a={},r,u=0;u0&&C.edgeCount>0)return pr("The selector `"+r+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(C.edgeCount>1)return pr("The selector `"+r+"` is invalid because it uses multiple edge selectors"),!1;C.edgeCount===1&&pr("The selector `"+r+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},xZ=function(){if(this.toStringCache!=null)return this.toStringCache;for(var r=function(C){return C??""},u=function(C){return Yt(C)?'"'+C+'"':r(C)},c=function(C){return" "+C+" "},d=function(C,T){var P=C.type,N=C.value;switch(P){case jt.GROUP:{var D=r(N);return D.substring(0,D.length-1)}case jt.DATA_COMPARE:{var H=C.field,_=C.operator;return"["+H+c(r(_))+u(N)+"]"}case jt.DATA_BOOL:{var B=C.operator,$=C.field;return"["+r(B)+$+"]"}case jt.DATA_EXIST:{var F=C.field;return"["+F+"]"}case jt.META_COMPARE:{var W=C.operator,Q=C.field;return"[["+Q+c(r(W))+u(N)+"]]"}case jt.STATE:return N;case jt.ID:return"#"+N;case jt.CLASS:return"."+N;case jt.PARENT:case jt.CHILD:return g(C.parent,T)+c(">")+g(C.child,T);case jt.ANCESTOR:case jt.DESCENDANT:return g(C.ancestor,T)+" "+g(C.descendant,T);case jt.COMPOUND_SPLIT:{var X=g(C.left,T),K=g(C.subject,T),ee=g(C.right,T);return X+(X.length>0?" ":"")+K+ee}case jt.TRUE:return""}},g=function(C,T){return C.checks.reduce(function(P,N,D){return P+(T===C&&D===0?"$":"")+d(N,T)},"")},b="",y=0;y1&&y=0&&(u=u.replace("!",""),T=!0),u.indexOf("@")>=0&&(u=u.replace("@",""),C=!0),(g||y||C)&&(k=!g&&!b?"":""+r,E=""+c),C&&(r=k=k.toLowerCase(),c=E=E.toLowerCase()),u){case"*=":d=k.indexOf(E)>=0;break;case"$=":d=k.indexOf(E,k.length-E.length)>=0;break;case"^=":d=k.indexOf(E)===0;break;case"=":d=r===c;break;case">":P=!0,d=r>c;break;case">=":P=!0,d=r>=c;break;case"<":P=!0,d=r0;){var C=d.shift();r(C),g.add(C.id()),y&&c(d,g,C)}return a}function E7(a,r,u){if(u.isParent())for(var c=u._private.children,d=0;d1&&arguments[1]!==void 0?arguments[1]:!0;return eS(this,a,r,E7)};function S7(a,r,u){if(u.isChild()){var c=u._private.parent;r.has(c.id())||a.push(c)}}Av.forEachUp=function(a){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return eS(this,a,r,S7)};function MZ(a,r,u){S7(a,r,u),E7(a,r,u)}Av.forEachUpAndDown=function(a){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return eS(this,a,r,MZ)},Av.ancestors=Av.parents;var c1,C7;c1=C7={data:Cr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Cr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Cr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Cr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Cr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Cr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var r=this[0];if(r)return r._private.data.id}},c1.attr=c1.data,c1.removeAttr=c1.removeData;var OZ=C7,Hw={};function tS(a){return function(r){var u=this;if(r===void 0&&(r=!0),u.length!==0)if(u.isNode()&&!u.removed()){for(var c=0,d=u[0],g=d._private.edges,b=0;br}),minIndegree:Rv("indegree",function(a,r){return ar}),minOutdegree:Rv("outdegree",function(a,r){return ar})}),en(Hw,{totalDegree:function(r){for(var u=0,c=this.nodes(),d=0;d0,P=T;T&&(C=C[0]);var N=P?C.position():{x:0,y:0};u!==void 0?E.position(r,u+N[r]):g!==void 0&&E.position({x:g.x+N.x,y:g.y+N.y})}else{var D=c.position(),H=y?c.parent():null,_=H&&H.length>0,B=_;_&&(H=H[0]);var $=B?H.position():{x:0,y:0};return g={x:D.x-$.x,y:D.y-$.y},r===void 0?g:g[r]}else if(!b)return;return this}},Au.modelPosition=Au.point=Au.position,Au.modelPositions=Au.points=Au.positions,Au.renderedPoint=Au.renderedPosition,Au.relativePoint=Au.relativePosition;var AZ=x7,Bv,Rf;Bv=Rf={},Rf.renderedBoundingBox=function(a){var r=this.boundingBox(a),u=this.cy(),c=u.zoom(),d=u.pan(),g=r.x1*c+d.x,b=r.x2*c+d.x,y=r.y1*c+d.y,k=r.y2*c+d.y;return{x1:g,x2:b,y1:y,y2:k,w:b-g,h:k-y}},Rf.dirtyCompoundBoundsCache=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.cy();return!r.styleEnabled()||!r.hasCompoundNodes()?this:(this.forEachUp(function(u){if(u.isParent()){var c=u._private;c.compoundBoundsClean=!1,c.bbCache=null,a||u.emitAndNotify("bounds")}}),this)},Rf.updateCompoundBounds=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.cy();if(!r.styleEnabled()||!r.hasCompoundNodes())return this;if(!a&&r.batching())return this;function u(b){if(!b.isParent())return;var y=b._private,k=b.children(),E=b.pstyle("compound-sizing-wrt-labels").value==="include",C={width:{val:b.pstyle("min-width").pfValue,left:b.pstyle("min-width-bias-left"),right:b.pstyle("min-width-bias-right")},height:{val:b.pstyle("min-height").pfValue,top:b.pstyle("min-height-bias-top"),bottom:b.pstyle("min-height-bias-bottom")}},T=k.boundingBox({includeLabels:E,includeOverlays:!1,useCache:!1}),P=y.position;(T.w===0||T.h===0)&&(T={w:b.pstyle("width").pfValue,h:b.pstyle("height").pfValue},T.x1=P.x-T.w/2,T.x2=P.x+T.w/2,T.y1=P.y-T.h/2,T.y2=P.y+T.h/2);function N(Z,ae,oe){var J=0,fe=0,se=ae+oe;return Z>0&&se>0&&(J=ae/se*Z,fe=oe/se*Z),{biasDiff:J,biasComplementDiff:fe}}function D(Z,ae,oe,J){if(oe.units==="%")switch(J){case"width":return Z>0?oe.pfValue*Z:0;case"height":return ae>0?oe.pfValue*ae:0;case"average":return Z>0&&ae>0?oe.pfValue*(Z+ae)/2:0;case"min":return Z>0&&ae>0?Z>ae?oe.pfValue*ae:oe.pfValue*Z:0;case"max":return Z>0&&ae>0?Z>ae?oe.pfValue*Z:oe.pfValue*ae:0;default:return 0}else return oe.units==="px"?oe.pfValue:0}var H=C.width.left.value;C.width.left.units==="px"&&C.width.val>0&&(H=H*100/C.width.val);var _=C.width.right.value;C.width.right.units==="px"&&C.width.val>0&&(_=_*100/C.width.val);var B=C.height.top.value;C.height.top.units==="px"&&C.height.val>0&&(B=B*100/C.height.val);var $=C.height.bottom.value;C.height.bottom.units==="px"&&C.height.val>0&&($=$*100/C.height.val);var F=N(C.width.val-T.w,H,_),W=F.biasDiff,Q=F.biasComplementDiff,X=N(C.height.val-T.h,B,$),K=X.biasDiff,ee=X.biasComplementDiff;y.autoPadding=D(T.w,T.h,b.pstyle("padding"),b.pstyle("padding-relative-to").value),y.autoWidth=Math.max(T.w,C.width.val),P.x=(-W+T.x1+T.x2+Q)/2,y.autoHeight=Math.max(T.h,C.height.val),P.y=(-K+T.y1+T.y2+ee)/2}for(var c=0;cr.x2?d:r.x2,r.y1=cr.y2?g:r.y2,r.w=r.x2-r.x1,r.h=r.y2-r.y1)},Qh=function(r,u){return u==null?r:Ru(r,u.x1,u.y1,u.x2,u.y2)},l1=function(r,u,c){return Ou(r,u,c)},_w=function(r,u,c){if(!u.cy().headless()){var d=u._private,g=d.rstyle,b=g.arrowWidth/2,y=u.pstyle(c+"-arrow-shape").value,k,E;if(y!=="none"){c==="source"?(k=g.srcX,E=g.srcY):c==="target"?(k=g.tgtX,E=g.tgtY):(k=g.midX,E=g.midY);var C=d.arrowBounds=d.arrowBounds||{},T=C[c]=C[c]||{};T.x1=k-b,T.y1=E-b,T.x2=k+b,T.y2=E+b,T.w=T.x2-T.x1,T.h=T.y2-T.y1,Nw(T,1),Ru(r,T.x1,T.y1,T.x2,T.y2)}}},nS=function(r,u,c){if(!u.cy().headless()){var d;c?d=c+"-":d="";var g=u._private,b=g.rstyle,y=u.pstyle(d+"label").strValue;if(y){var k=u.pstyle("text-halign"),E=u.pstyle("text-valign"),C=l1(b,"labelWidth",c),T=l1(b,"labelHeight",c),P=l1(b,"labelX",c),N=l1(b,"labelY",c),D=u.pstyle(d+"text-margin-x").pfValue,H=u.pstyle(d+"text-margin-y").pfValue,_=u.isEdge(),B=u.pstyle(d+"text-rotation"),$=u.pstyle("text-outline-width").pfValue,F=u.pstyle("text-border-width").pfValue,W=F/2,Q=u.pstyle("text-background-padding").pfValue,X=2,K=T,ee=C,Z=ee/2,ae=K/2,oe,J,fe,se;if(_)oe=P-Z,J=P+Z,fe=N-ae,se=N+ae;else{switch(k.value){case"left":oe=P-ee,J=P;break;case"center":oe=P-Z,J=P+Z;break;case"right":oe=P,J=P+ee;break}switch(E.value){case"top":fe=N-K,se=N;break;case"center":fe=N-ae,se=N+ae;break;case"bottom":fe=N,se=N+K;break}}oe+=D-Math.max($,W)-Q-X,J+=D+Math.max($,W)+Q+X,fe+=H-Math.max($,W)-Q-X,se+=H+Math.max($,W)+Q+X;var pe=c||"main",he=g.labelBounds,de=he[pe]=he[pe]||{};de.x1=oe,de.y1=fe,de.x2=J,de.y2=se,de.w=J-oe,de.h=se-fe;var ke=_&&B.strValue==="autorotate",Pe=B.pfValue!=null&&B.pfValue!==0;if(ke||Pe){var Ae=ke?l1(g.rstyle,"labelAngle",c):B.pfValue,Te=Math.cos(Ae),Oe=Math.sin(Ae),ze=(oe+J)/2,We=(fe+se)/2;if(!_){switch(k.value){case"left":ze=J;break;case"right":ze=oe;break}switch(E.value){case"top":We=se;break;case"bottom":We=fe;break}}var $e=function(gn,mt){return gn=gn-ze,mt=mt-We,{x:gn*Te-mt*Oe+ze,y:gn*Oe+mt*Te+We}},Ge=$e(oe,fe),me=$e(oe,se),Ve=$e(J,fe),Ke=$e(J,se);oe=Math.min(Ge.x,me.x,Ve.x,Ke.x),J=Math.max(Ge.x,me.x,Ve.x,Ke.x),fe=Math.min(Ge.y,me.y,Ve.y,Ke.y),se=Math.max(Ge.y,me.y,Ve.y,Ke.y)}var at=pe+"Rot",ft=he[at]=he[at]||{};ft.x1=oe,ft.y1=fe,ft.x2=J,ft.y2=se,ft.w=J-oe,ft.h=se-fe,Ru(r,oe,fe,J,se),Ru(g.labelBounds.all,oe,fe,J,se)}return r}},RZ=function(r,u){var c=r._private.cy,d=c.styleEnabled(),g=c.headless(),b=cs(),y=r._private,k=r.isNode(),E=r.isEdge(),C,T,P,N,D,H,_=y.rstyle,B=k&&d?r.pstyle("bounds-expansion").pfValue:[0],$=function(Rt){return Rt.pstyle("display").value!=="none"},F=!d||$(r)&&(!E||$(r.source())&&$(r.target()));if(F){var W=0,Q=0;d&&u.includeOverlays&&(W=r.pstyle("overlay-opacity").value,W!==0&&(Q=r.pstyle("overlay-padding").value));var X=0,K=0;d&&u.includeUnderlays&&(X=r.pstyle("underlay-opacity").value,X!==0&&(K=r.pstyle("underlay-padding").value));var ee=Math.max(Q,K),Z=0,ae=0;if(d&&(Z=r.pstyle("width").pfValue,ae=Z/2),k&&u.includeNodes){var oe=r.position();D=oe.x,H=oe.y;var J=r.outerWidth(),fe=J/2,se=r.outerHeight(),pe=se/2;C=D-fe,T=D+fe,P=H-pe,N=H+pe,Ru(b,C,P,T,N)}else if(E&&u.includeEdges)if(d&&!g){var he=r.pstyle("curve-style").strValue;if(C=Math.min(_.srcX,_.midX,_.tgtX),T=Math.max(_.srcX,_.midX,_.tgtX),P=Math.min(_.srcY,_.midY,_.tgtY),N=Math.max(_.srcY,_.midY,_.tgtY),C-=ae,T+=ae,P-=ae,N+=ae,Ru(b,C,P,T,N),he==="haystack"){var de=_.haystackPts;if(de&&de.length===2){if(C=de[0].x,P=de[0].y,T=de[1].x,N=de[1].y,C>T){var ke=C;C=T,T=ke}if(P>N){var Pe=P;P=N,N=Pe}Ru(b,C-ae,P-ae,T+ae,N+ae)}}else if(he==="bezier"||he==="unbundled-bezier"||he==="segments"||he==="taxi"){var Ae;switch(he){case"bezier":case"unbundled-bezier":Ae=_.bezierPts;break;case"segments":case"taxi":Ae=_.linePts;break}if(Ae!=null)for(var Te=0;TeT){var me=C;C=T,T=me}if(P>N){var Ve=P;P=N,N=Ve}C-=ae,T+=ae,P-=ae,N+=ae,Ru(b,C,P,T,N)}if(d&&u.includeEdges&&E&&(_w(b,r,"mid-source"),_w(b,r,"mid-target"),_w(b,r,"source"),_w(b,r,"target")),d){var Ke=r.pstyle("ghost").value==="yes";if(Ke){var at=r.pstyle("ghost-offset-x").pfValue,ft=r.pstyle("ghost-offset-y").pfValue;Ru(b,b.x1+at,b.y1+ft,b.x2+at,b.y2+ft)}}var tn=y.bodyBounds=y.bodyBounds||{};FP(tn,b),G5(tn,B),Nw(tn,1),d&&(C=b.x1,T=b.x2,P=b.y1,N=b.y2,Ru(b,C-ee,P-ee,T+ee,N+ee));var gn=y.overlayBounds=y.overlayBounds||{};FP(gn,b),G5(gn,B),Nw(gn,1);var mt=y.labelBounds=y.labelBounds||{};mt.all!=null?cK(mt.all):mt.all=cs(),d&&u.includeLabels&&(u.includeMainLabels&&nS(b,r,null),E&&(u.includeSourceLabels&&nS(b,r,"source"),u.includeTargetLabels&&nS(b,r,"target")))}return b.x1=iu(b.x1),b.y1=iu(b.y1),b.x2=iu(b.x2),b.y2=iu(b.y2),b.w=iu(b.x2-b.x1),b.h=iu(b.y2-b.y1),b.w>0&&b.h>0&&F&&(G5(b,B),Nw(b,1)),b},P7=function(r){var u=0,c=function(b){return(b?1:0)<0&&arguments[0]!==void 0?arguments[0]:XZ,r=arguments.length>1?arguments[1]:void 0,u=0;u=0;y--)b(y);return this},Bf.removeAllListeners=function(){return this.removeListener("*")},Bf.emit=Bf.trigger=function(a,r,u){var c=this.listeners,d=c.length;return this.emitting++,Wr(r)||(r=[r]),QZ(this,function(g,b){u!=null&&(c=[{event:b.event,type:b.type,namespace:b.namespace,callback:u}],d=c.length);for(var y=function(C){var T=c[C];if(T.type===b.type&&(!T.namespace||T.namespace===b.namespace||T.namespace===ZZ)&&g.eventMatches(g.context,T,b)){var P=[b];r!=null&&zU(P,r),g.beforeEmit(g.context,T,b),T.conf&&T.conf.one&&(g.listeners=g.listeners.filter(function(H){return H!==T}));var N=g.callbackContext(g.context,T,b),D=T.callback.apply(N,P);g.afterEmit(g.context,T,b),D===!1&&(b.stopPropagation(),b.preventDefault())}},k=0;k1&&!b){var y=this.length-1,k=this[y],E=k._private.data.id;this[y]=void 0,this[r]=k,g.set(E,{ele:k,index:r})}return this.length--,this},unmergeOne:function(r){r=r[0];var u=this._private,c=r._private.data.id,d=u.map,g=d.get(c);if(!g)return this;var b=g.index;return this.unmergeAt(b),this},unmerge:function(r){var u=this._private.cy;if(!r)return this;if(r&&Yt(r)){var c=r;r=u.mutableElements().filter(c)}for(var d=0;d=0;u--){var c=this[u];r(c)&&this.unmergeAt(u)}return this},map:function(r,u){for(var c=[],d=this,g=0;gc&&(c=k,d=y)}return{value:c,ele:d}},min:function(r,u){for(var c=1/0,d,g=this,b=0;b=0&&g"u"?"undefined":ma(Symbol))!=r&&ma(Symbol.iterator)!=r;u&&(Fw[Symbol.iterator]=function(){var c=this,d={value:void 0,done:!1},g=0,b=this.length;return yP({next:function(){return g1&&arguments[1]!==void 0?arguments[1]:!0,c=this[0],d=c.cy();if(d.styleEnabled()&&c){this.cleanStyle();var g=c._private.style[r];return g??(u?d.style().getDefaultProperty(r):null)}},numericStyle:function(r){var u=this[0];if(u.cy().styleEnabled()&&u){var c=u.pstyle(r);return c.pfValue!==void 0?c.pfValue:c.value}},numericStyleUnits:function(r){var u=this[0];if(u.cy().styleEnabled()&&u)return u.pstyle(r).units},renderedStyle:function(r){var u=this.cy();if(!u.styleEnabled())return this;var c=this[0];if(c)return u.style().getRenderedStyle(c,r)},style:function(r,u){var c=this.cy();if(!c.styleEnabled())return this;var d=!1,g=c.style();if(ar(r)){var b=r;g.applyBypass(this,b,d),this.emitAndNotify("style")}else if(Yt(r))if(u===void 0){var y=this[0];return y?g.getStylePropertyValue(y,r):void 0}else g.applyBypass(this,r,u,d),this.emitAndNotify("style");else if(r===void 0){var k=this[0];return k?g.getRawStyle(k):void 0}return this},removeStyle:function(r){var u=this.cy();if(!u.styleEnabled())return this;var c=!1,d=u.style(),g=this;if(r===void 0)for(var b=0;b0&&r.push(C[0]),r.push(y[0])}return this.spawn(r,!0).filter(a)},"neighborhood"),closedNeighborhood:function(r){return this.neighborhood().add(this).filter(r)},openNeighborhood:function(r){return this.neighborhood(r)}}),mo.neighbourhood=mo.neighborhood,mo.closedNeighbourhood=mo.closedNeighborhood,mo.openNeighbourhood=mo.openNeighborhood,en(mo,{source:ru(function(r){var u=this[0],c;return u&&(c=u._private.source||u.cy().collection()),c&&r?c.filter(r):c},"source"),target:ru(function(r){var u=this[0],c;return u&&(c=u._private.target||u.cy().collection()),c&&r?c.filter(r):c},"target"),sources:K7({attr:"source"}),targets:K7({attr:"target"})});function K7(a){return function(u){for(var c=[],d=0;d0);return b},component:function(){var r=this[0];return r.cy().mutableElements().components(r)[0]}}),mo.componentsOf=mo.components;var no=function(r,u){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(r===void 0){Hi("A collection must have a reference to the core");return}var g=new Lc,b=!1;if(!u)u=[];else if(u.length>0&&ar(u[0])&&!Qb(u[0])){b=!0;for(var y=[],k=new Tv,E=0,C=u.length;E0&&arguments[0]!==void 0?arguments[0]:!0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,u=this,c=u.cy(),d=c._private,g=[],b=[],y,k=0,E=u.length;k0){for(var Pe=y.length===u.length?u:new no(c,y),Ae=0;Ae0&&arguments[0]!==void 0?arguments[0]:!0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,u=this,c=[],d={},g=u._private.cy;function b(se){for(var pe=se._private.edges,he=0;he0&&(a?oe.emitAndNotify("remove"):r&&oe.emit("remove"));for(var J=0;J0?J=se:oe=se;while(Math.abs(fe)>b&&++pe=g?$(ae,pe):he===0?pe:W(ae,oe,oe+E)}var X=!1;function K(){X=!0,(a!==r||u!==c)&&F()}var ee=function(oe){return X||K(),a===r&&u===c?oe:oe===0?0:oe===1?1:_(Q(oe),r,c)};ee.getControlPoints=function(){return[{x:a,y:r},{x:u,y:c}]};var Z="generateBezier("+[a,r,u,c]+")";return ee.toString=function(){return Z},ee}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var cX=function(){function a(c){return-c.tension*c.x-c.friction*c.v}function r(c,d,g){var b={x:c.x+g.dx*d,v:c.v+g.dv*d,tension:c.tension,friction:c.friction};return{dx:b.v,dv:a(b)}}function u(c,d){var g={dx:c.v,dv:a(c)},b=r(c,d*.5,g),y=r(c,d*.5,b),k=r(c,d,y),E=1/6*(g.dx+2*(b.dx+y.dx)+k.dx),C=1/6*(g.dv+2*(b.dv+y.dv)+k.dv);return c.x=c.x+E*d,c.v=c.v+C*d,c}return function c(d,g,b){var y={x:-1,v:0,tension:null,friction:null},k=[0],E=0,C=1/1e4,T=16/1e3,P,N,D;for(d=parseFloat(d)||500,g=parseFloat(g)||20,b=b||null,y.tension=d,y.friction=g,P=b!==null,P?(E=c(d,g),N=E/b*T):N=T;D=u(D||y,N),k.push(1+D.x),E+=16,Math.abs(D.x)>C&&Math.abs(D.v)>C;);return P?function(H){return k[H*(k.length-1)|0]}:E}}(),ei=function(r,u,c,d){var g=uX(r,u,c,d);return function(b,y,k){return b+(y-b)*g(k)}},Uw={linear:function(r,u,c){return r+(u-r)*c},ease:ei(.25,.1,.25,1),"ease-in":ei(.42,0,1,1),"ease-out":ei(0,0,.58,1),"ease-in-out":ei(.42,0,.58,1),"ease-in-sine":ei(.47,0,.745,.715),"ease-out-sine":ei(.39,.575,.565,1),"ease-in-out-sine":ei(.445,.05,.55,.95),"ease-in-quad":ei(.55,.085,.68,.53),"ease-out-quad":ei(.25,.46,.45,.94),"ease-in-out-quad":ei(.455,.03,.515,.955),"ease-in-cubic":ei(.55,.055,.675,.19),"ease-out-cubic":ei(.215,.61,.355,1),"ease-in-out-cubic":ei(.645,.045,.355,1),"ease-in-quart":ei(.895,.03,.685,.22),"ease-out-quart":ei(.165,.84,.44,1),"ease-in-out-quart":ei(.77,0,.175,1),"ease-in-quint":ei(.755,.05,.855,.06),"ease-out-quint":ei(.23,1,.32,1),"ease-in-out-quint":ei(.86,0,.07,1),"ease-in-expo":ei(.95,.05,.795,.035),"ease-out-expo":ei(.19,1,.22,1),"ease-in-out-expo":ei(1,0,0,1),"ease-in-circ":ei(.6,.04,.98,.335),"ease-out-circ":ei(.075,.82,.165,1),"ease-in-out-circ":ei(.785,.135,.15,.86),spring:function(r,u,c){if(c===0)return Uw.linear;var d=cX(r,u,c);return function(g,b,y){return g+(b-g)*d(y)}},"cubic-bezier":ei};function Q7(a,r,u,c,d){if(c===1||r===u)return u;var g=d(r,u,c);return a==null||((a.roundValue||a.color)&&(g=Math.round(g)),a.min!==void 0&&(g=Math.max(g,a.min)),a.max!==void 0&&(g=Math.min(g,a.max))),g}function J7(a,r){return a.pfValue!=null||a.value!=null?a.pfValue!=null&&(r==null||r.type.units!=="%")?a.pfValue:a.value:a}function _v(a,r,u,c,d){var g=d!=null?d.type:null;u<0?u=0:u>1&&(u=1);var b=J7(a,d),y=J7(r,d);if(kt(b)&&kt(y))return Q7(g,b,y,u,c);if(Wr(b)&&Wr(y)){for(var k=[],E=0;E0?(N==="spring"&&D.push(b.duration),b.easingImpl=Uw[N].apply(null,D)):b.easingImpl=Uw[N]}var H=b.easingImpl,_;if(b.duration===0?_=1:_=(u-k)/b.duration,b.applying&&(_=b.progress),_<0?_=0:_>1&&(_=1),b.delay==null){var B=b.startPosition,$=b.position;if($&&d&&!a.locked()){var F={};g1(B.x,$.x)&&(F.x=_v(B.x,$.x,_,H)),g1(B.y,$.y)&&(F.y=_v(B.y,$.y,_,H)),a.position(F)}var W=b.startPan,Q=b.pan,X=g.pan,K=Q!=null&&c;K&&(g1(W.x,Q.x)&&(X.x=_v(W.x,Q.x,_,H)),g1(W.y,Q.y)&&(X.y=_v(W.y,Q.y,_,H)),a.emit("pan"));var ee=b.startZoom,Z=b.zoom,ae=Z!=null&&c;ae&&(g1(ee,Z)&&(g.zoom=i1(g.minZoom,_v(ee,Z,_,H),g.maxZoom)),a.emit("zoom")),(K||ae)&&a.emit("viewport");var oe=b.style;if(oe&&oe.length>0&&d){for(var J=0;J=0;K--){var ee=X[K];ee()}X.splice(0,X.length)},$=N.length-1;$>=0;$--){var F=N[$],W=F._private;if(W.stopped){N.splice($,1),W.hooked=!1,W.playing=!1,W.started=!1,B(W.frames);continue}!W.playing&&!W.applying||(W.playing&&W.applying&&(W.applying=!1),W.started||fX(C,F,a),lX(C,F,a,T),W.applying&&(W.applying=!1),B(W.frames),W.step!=null&&W.step(a),F.completed()&&(N.splice($,1),W.hooked=!1,W.playing=!1,W.started=!1,B(W.completes)),H=!0)}return!T&&N.length===0&&D.length===0&&c.push(C),H}for(var g=!1,b=0;b0?r.notify("draw",u):r.notify("draw")),u.unmerge(c),r.emit("step")}var hX={animate:Cr.animate(),animation:Cr.animation(),animated:Cr.animated(),clearQueue:Cr.clearQueue(),delay:Cr.delay(),delayAnimation:Cr.delayAnimation(),stop:Cr.stop(),addToAnimationPool:function(r){var u=this;u.styleEnabled()&&u._private.aniEles.merge(r)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var r=this;if(r._private.animationsRunning=!0,!r.styleEnabled())return;function u(){r._private.animationsRunning&&xw(function(g){eD(g,r),u()})}var c=r.renderer();c&&c.beforeRender?c.beforeRender(function(g,b){eD(b,r)},c.beforeRenderPriorities.animations):u()}},dX={qualifierCompare:function(r,u){return r==null||u==null?r==null&&u==null:r.sameText(u)},eventMatches:function(r,u,c){var d=u.qualifier;return d!=null?r!==c.target&&Qb(c.target)&&d.matches(c.target):!0},addEventFields:function(r,u){u.cy=r,u.target=r},callbackContext:function(r,u,c){return u.qualifier!=null?c.target:r}},Kw=function(r){return Yt(r)?new Mf(r):r},tD={createEmitter:function(){var r=this._private;return r.emitter||(r.emitter=new $w(dX,this)),this},emitter:function(){return this._private.emitter},on:function(r,u,c){return this.emitter().on(r,Kw(u),c),this},removeListener:function(r,u,c){return this.emitter().removeListener(r,Kw(u),c),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(r,u,c){return this.emitter().one(r,Kw(u),c),this},once:function(r,u,c){return this.emitter().one(r,Kw(u),c),this},emit:function(r,u){return this.emitter().emit(r,u),this},emitAndNotify:function(r,u){return this.emit(r),this.notify(r,u),this}};Cr.eventAliasesOn(tD);var aS={png:function(r){var u=this._private.renderer;return r=r||{},u.png(r)},jpg:function(r){var u=this._private.renderer;return r=r||{},r.bg=r.bg||"#fff",u.jpg(r)}};aS.jpeg=aS.jpg;var Zw={layout:function(r){var u=this;if(r==null){Hi("Layout options must be specified to make a layout");return}if(r.name==null){Hi("A `name` must be specified to make a layout");return}var c=r.name,d=u.extension("layout",c);if(d==null){Hi("No such layout `"+c+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var g;Yt(r.eles)?g=u.$(r.eles):g=r.eles!=null?r.eles:u.$();var b=new d(en({},r,{cy:u,eles:g}));return b}};Zw.createLayout=Zw.makeLayout=Zw.layout;var vX={notify:function(r,u){var c=this._private;if(this.batching()){c.batchNotifications=c.batchNotifications||{};var d=c.batchNotifications[r]=c.batchNotifications[r]||this.collection();u!=null&&d.merge(u);return}if(c.notificationsEnabled){var g=this.renderer();this.destroyed()||!g||g.notify(r,u)}},notifications:function(r){var u=this._private;return r===void 0?u.notificationsEnabled:(u.notificationsEnabled=!!r,this)},noNotifications:function(r){this.notifications(!1),r(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var r=this._private;return r.batchCount==null&&(r.batchCount=0),r.batchCount===0&&(r.batchStyleEles=this.collection(),r.batchNotifications={}),r.batchCount++,this},endBatch:function(){var r=this._private;if(r.batchCount===0)return this;if(r.batchCount--,r.batchCount===0){r.batchStyleEles.updateStyle();var u=this.renderer();Object.keys(r.batchNotifications).forEach(function(c){var d=r.batchNotifications[c];d.empty()?u.notify(c):u.notify(c,d)})}return this},batch:function(r){return this.startBatch(),r(),this.endBatch(),this},batchData:function(r){var u=this;return this.batch(function(){for(var c=Object.keys(r),d=0;d0;)u.removeChild(u.childNodes[0]);r._private.renderer=null,r.mutableElements().forEach(function(c){var d=c._private;d.rscratch={},d.rstyle={},d.animation.current=[],d.animation.queue=[]})},onRender:function(r){return this.on("render",r)},offRender:function(r){return this.off("render",r)}};oS.invalidateDimensions=oS.resize;var Xw={collection:function(r,u){return Yt(r)?this.$(r):Os(r)?r.collection():Wr(r)?(u||(u={}),new no(this,r,u.unique,u.removed)):new no(this)},nodes:function(r){var u=this.$(function(c){return c.isNode()});return r?u.filter(r):u},edges:function(r){var u=this.$(function(c){return c.isEdge()});return r?u.filter(r):u},$:function(r){var u=this._private.elements;return r?u.filter(r):u.spawnSelf()},mutableElements:function(){return this._private.elements}};Xw.elements=Xw.filter=Xw.$;var yo={},b1="t",bX="f";yo.apply=function(a){for(var r=this,u=r._private,c=u.cy,d=c.collection(),g=0;g0;if(P||T&&N){var D=void 0;P&&N||P?D=E.properties:N&&(D=E.mappedProperties);for(var H=0;H1&&(W=1),y.color){var X=c.valueMin[0],K=c.valueMax[0],ee=c.valueMin[1],Z=c.valueMax[1],ae=c.valueMin[2],oe=c.valueMax[2],J=c.valueMin[3]==null?1:c.valueMin[3],fe=c.valueMax[3]==null?1:c.valueMax[3],se=[Math.round(X+(K-X)*W),Math.round(ee+(Z-ee)*W),Math.round(ae+(oe-ae)*W),Math.round(J+(fe-J)*W)];g={bypass:c.bypass,name:c.name,value:se,strValue:"rgb("+se[0]+", "+se[1]+", "+se[2]+")"}}else if(y.number){var pe=c.valueMin+(c.valueMax-c.valueMin)*W;g=this.parse(c.name,pe,c.bypass,P)}else return!1;if(!g)return H(),!1;g.mapping=c,c=g;break}case b.data:{for(var he=c.field.split("."),de=T.data,ke=0;ke0&&g>0){for(var y={},k=!1,E=0;E0?a.delayAnimation(b).play().promise().then(F):F()}).then(function(){return a.animation({style:y,duration:g,easing:a.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){u.removeBypasses(a,d),a.emitAndNotify("style"),c.transitioning=!1})}else c.transitioning&&(this.removeBypasses(a,d),a.emitAndNotify("style"),c.transitioning=!1)},yo.checkTrigger=function(a,r,u,c,d,g){var b=this.properties[r],y=d(b);y!=null&&y(u,c)&&g(b)},yo.checkZOrderTrigger=function(a,r,u,c){var d=this;this.checkTrigger(a,r,u,c,function(g){return g.triggersZOrder},function(){d._private.cy.notify("zorder",a)})},yo.checkBoundsTrigger=function(a,r,u,c){this.checkTrigger(a,r,u,c,function(d){return d.triggersBounds},function(d){a.dirtyCompoundBoundsCache(),a.dirtyBoundingBoxCache(),d.triggersBoundsOfParallelBeziers&&(r==="curve-style"&&(u==="bezier"||c==="bezier")||r==="display"&&(u==="none"||c==="none"))&&a.parallelEdges().forEach(function(g){g.isBundledBezier()&&g.dirtyBoundingBoxCache()})})},yo.checkTriggers=function(a,r,u,c){a.dirtyStyleCache(),this.checkZOrderTrigger(a,r,u,c),this.checkBoundsTrigger(a,r,u,c)};var p1={};p1.applyBypass=function(a,r,u,c){var d=this,g=[],b=!0;if(r==="*"||r==="**"){if(u!==void 0)for(var y=0;yd.length?c=c.substr(d.length):c=""}function k(){g.length>b.length?g=g.substr(b.length):g=""}for(;;){var E=c.match(/^\s*$/);if(E)break;var C=c.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!C){pr("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+c);break}d=C[0];var T=C[1];if(T!=="core"){var P=new Mf(T);if(P.invalid){pr("Skipping parsing of block: Invalid selector found in string stylesheet: "+T),y();continue}}var N=C[2],D=!1;g=N;for(var H=[];;){var _=g.match(/^\s*$/);if(_)break;var B=g.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!B){pr("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+N),D=!0;break}b=B[0];var $=B[1],F=B[2],W=r.properties[$];if(!W){pr("Skipping property: Invalid property name in: "+b),k();continue}var Q=u.parse($,F);if(!Q){pr("Skipping property: Invalid property definition in: "+b),k();continue}H.push({name:$,val:F}),k()}if(D){y();break}u.selector(T);for(var X=0;X=7&&r[0]==="d"&&(C=new RegExp(y.data.regex).exec(r))){if(u)return!1;var P=y.data;return{name:a,value:C,strValue:""+r,mapped:P,field:C[1],bypass:u}}else if(r.length>=10&&r[0]==="m"&&(T=new RegExp(y.mapData.regex).exec(r))){if(u||E.multiple)return!1;var N=y.mapData;if(!(E.color||E.number))return!1;var D=this.parse(a,T[4]);if(!D||D.mapped)return!1;var H=this.parse(a,T[5]);if(!H||H.mapped)return!1;if(D.pfValue===H.pfValue||D.strValue===H.strValue)return pr("`"+a+": "+r+"` is not a valid mapper because the output range is zero; converting to `"+a+": "+D.strValue+"`"),this.parse(a,D.strValue);if(E.color){var _=D.value,B=H.value,$=_[0]===B[0]&&_[1]===B[1]&&_[2]===B[2]&&(_[3]===B[3]||(_[3]==null||_[3]===1)&&(B[3]==null||B[3]===1));if($)return!1}return{name:a,value:T,strValue:""+r,mapped:N,field:T[1],fieldMin:parseFloat(T[2]),fieldMax:parseFloat(T[3]),valueMin:D.value,valueMax:H.value,bypass:u}}}if(E.multiple&&c!=="multiple"){var F;if(k?F=r.split(/\s+/):Wr(r)?F=r:F=[r],E.evenMultiple&&F.length%2!==0)return null;for(var W=[],Q=[],X=[],K="",ee=!1,Z=0;Z0?" ":"")+ae.strValue}return E.validate&&!E.validate(W,Q)?null:E.singleEnum&&ee?W.length===1&&Yt(W[0])?{name:a,value:W[0],strValue:W[0],bypass:u}:null:{name:a,value:W,pfValue:X,strValue:K,bypass:u,units:Q}}var oe=function(){for(var Ke=0;KeE.max||E.strictMax&&r===E.max))return null;var he={name:a,value:r,strValue:""+r+(J||""),units:J,bypass:u};return E.unitless||J!=="px"&&J!=="em"?he.pfValue=r:he.pfValue=J==="px"||!J?r:this.getEmSizeInPixels()*r,(J==="ms"||J==="s")&&(he.pfValue=J==="ms"?r:1e3*r),(J==="deg"||J==="rad")&&(he.pfValue=J==="rad"?r:aK(r)),J==="%"&&(he.pfValue=r/100),he}else if(E.propList){var de=[],ke=""+r;if(ke!=="none"){for(var Pe=ke.split(/\s*,\s*|\s+/),Ae=0;Ae0&&y>0&&!isNaN(c.w)&&!isNaN(c.h)&&c.w>0&&c.h>0){k=Math.min((b-2*u)/c.w,(y-2*u)/c.h),k=k>this._private.maxZoom?this._private.maxZoom:k,k=k=c.minZoom&&(c.maxZoom=u),this},minZoom:function(r){return r===void 0?this._private.minZoom:this.zoomRange({min:r})},maxZoom:function(r){return r===void 0?this._private.maxZoom:this.zoomRange({max:r})},getZoomedViewport:function(r){var u=this._private,c=u.pan,d=u.zoom,g,b,y=!1;if(u.zoomingEnabled||(y=!0),kt(r)?b=r:ar(r)&&(b=r.level,r.position!=null?g=Dw(r.position,d,c):r.renderedPosition!=null&&(g=r.renderedPosition),g!=null&&!u.panningEnabled&&(y=!0)),b=b>u.maxZoom?u.maxZoom:b,b=bu.maxZoom||!u.zoomingEnabled?b=!0:(u.zoom=k,g.push("zoom"))}if(d&&(!b||!r.cancelOnFailedZoom)&&u.panningEnabled){var E=r.pan;kt(E.x)&&(u.pan.x=E.x,y=!1),kt(E.y)&&(u.pan.y=E.y,y=!1),y||g.push("pan")}return g.length>0&&(g.push("viewport"),this.emit(g.join(" ")),this.notify("viewport")),this},center:function(r){var u=this.getCenterPan(r);return u&&(this._private.pan=u,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(r,u){if(this._private.panningEnabled){if(Yt(r)){var c=r;r=this.mutableElements().filter(c)}else Os(r)||(r=this.mutableElements());if(r.length!==0){var d=r.boundingBox(),g=this.width(),b=this.height();u=u===void 0?this._private.zoom:u;var y={x:(g-u*(d.x1+d.x2))/2,y:(b-u*(d.y1+d.y2))/2};return y}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var r=this._private,u=r.container,c=this;return r.sizeCache=r.sizeCache||(u?function(){var d=c.window().getComputedStyle(u),g=function(y){return parseFloat(d.getPropertyValue(y))};return{width:u.clientWidth-g("padding-left")-g("padding-right"),height:u.clientHeight-g("padding-top")-g("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var r=this._private.pan,u=this._private.zoom,c=this.renderedExtent(),d={x1:(c.x1-r.x)/u,x2:(c.x2-r.x)/u,y1:(c.y1-r.y)/u,y2:(c.y2-r.y)/u};return d.w=d.x2-d.x1,d.h=d.y2-d.y1,d},renderedExtent:function(){var r=this.width(),u=this.height();return{x1:0,y1:0,x2:r,y2:u,w:r,h:u}},multiClickDebounceTime:function(r){if(r)this._private.multiClickDebounceTime=r;else return this._private.multiClickDebounceTime;return this}};Jh.centre=Jh.center,Jh.autolockNodes=Jh.autolock,Jh.autoungrabifyNodes=Jh.autoungrabify;var w1={data:Cr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Cr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Cr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Cr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};w1.attr=w1.data,w1.removeAttr=w1.removeData;var m1=function(r){var u=this;r=en({},r);var c=r.container;c&&!Sw(c)&&Sw(c[0])&&(c=c[0]);var d=c?c._cyreg:null;d=d||{},d&&d.cy&&(d.cy.destroy(),d={});var g=d.readies=d.readies||[];c&&(c._cyreg=d),d.cy=u;var b=ya!==void 0&&c!==void 0&&!r.headless,y=r;y.layout=en({name:b?"grid":"null"},y.layout),y.renderer=en({name:b?"canvas":"null"},y.renderer);var k=function(D,H,_){return H!==void 0?H:_!==void 0?_:D},E=this._private={container:c,ready:!1,options:y,elements:new no(this),listeners:[],aniEles:new no(this),data:y.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:k(!0,y.zoomingEnabled),userZoomingEnabled:k(!0,y.userZoomingEnabled),panningEnabled:k(!0,y.panningEnabled),userPanningEnabled:k(!0,y.userPanningEnabled),boxSelectionEnabled:k(!0,y.boxSelectionEnabled),autolock:k(!1,y.autolock,y.autolockNodes),autoungrabify:k(!1,y.autoungrabify,y.autoungrabifyNodes),autounselectify:k(!1,y.autounselectify),styleEnabled:y.styleEnabled===void 0?b:y.styleEnabled,zoom:kt(y.zoom)?y.zoom:1,pan:{x:ar(y.pan)&&kt(y.pan.x)?y.pan.x:0,y:ar(y.pan)&&kt(y.pan.y)?y.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:k(250,y.multiClickDebounceTime)};this.createEmitter(),this.selectionType(y.selectionType),this.zoomRange({min:y.minZoom,max:y.maxZoom});var C=function(D,H){var _=D.some(vU);if(_)return Mv.all(D).then(H);H(D)};E.styleEnabled&&u.setStyle([]);var T=en({},y,y.renderer);u.initRenderer(T);var P=function(D,H,_){u.notifications(!1);var B=u.mutableElements();B.length>0&&B.remove(),D!=null&&(ar(D)||Wr(D))&&u.add(D),u.one("layoutready",function(F){u.notifications(!0),u.emit(F),u.one("load",H),u.emitAndNotify("load")}).one("layoutstop",function(){u.one("done",_),u.emit("done")});var $=en({},u._private.options.layout);$.eles=u.elements(),u.layout($).run()};C([y.style,y.elements],function(N){var D=N[0],H=N[1];E.styleEnabled&&u.style().append(D),P(H,function(){u.startAnimationLoop(),E.ready=!0,Ci(y.ready)&&u.on("ready",y.ready);for(var _=0;_0,k=cs(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:u.width(),h:u.height()}),E;if(Os(r.roots))E=r.roots;else if(Wr(r.roots)){for(var C=[],T=0;T0;){var pe=se(),he=ae(pe,J);if(he)pe.outgoers().filter(function(mt){return mt.isNode()&&c.has(mt)}).forEach(fe);else if(he===null){pr("Detected double maximal shift for node `"+pe.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Z();var de=0;if(r.avoidOverlap)for(var ke=0;ke0&&B[0].length<=3?Vt/2:0),ne=2*Math.PI/B[Lt].length*yt;return Lt===0&&B[0].length===1&&(Qe=1),{x:ft.x+Qe*Math.cos(ne),y:ft.y+Qe*Math.sin(ne)}}else{var sr={x:ft.x+(yt+1-(Mt+1)/2)*In,y:(Lt+1)*Pn};return sr}};return c.nodes().layoutPositions(this,r,gn),this};var kX={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(r,u){return!0},ready:void 0,stop:void 0,transform:function(r,u){return u}};function iD(a){this.options=en({},kX,a)}iD.prototype.run=function(){var a=this.options,r=a,u=a.cy,c=r.eles,d=r.counterclockwise!==void 0?!r.counterclockwise:r.clockwise,g=c.nodes().not(":parent");r.sort&&(g=g.sort(r.sort));for(var b=cs(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:u.width(),h:u.height()}),y={x:b.x1+b.w/2,y:b.y1+b.h/2},k=r.sweep===void 0?2*Math.PI-2*Math.PI/g.length:r.sweep,E=k/Math.max(1,g.length-1),C,T=0,P=0;P1&&r.avoidOverlap){T*=1.75;var B=Math.cos(E)-Math.cos(0),$=Math.sin(E)-Math.sin(0),F=Math.sqrt(T*T/(B*B+$*$));C=Math.max(F,C)}var W=function(X,K){var ee=r.startAngle+K*E*(d?1:-1),Z=C*Math.cos(ee),ae=C*Math.sin(ee),oe={x:y.x+Z,y:y.y+ae};return oe};return c.nodes().layoutPositions(this,r,W),this};var EX={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(r){return r.degree()},levelWidth:function(r){return r.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(r,u){return!0},ready:void 0,stop:void 0,transform:function(r,u){return u}};function aD(a){this.options=en({},EX,a)}aD.prototype.run=function(){for(var a=this.options,r=a,u=r.counterclockwise!==void 0?!r.counterclockwise:r.clockwise,c=a.cy,d=r.eles,g=d.nodes().not(":parent"),b=cs(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:c.width(),h:c.height()}),y={x:b.x1+b.w/2,y:b.y1+b.h/2},k=[],E=0,C=0;C0){var Q=Math.abs($[0].value-W.value);Q>=_&&($=[],B.push($))}$.push(W)}var X=E+r.minNodeSpacing;if(!r.avoidOverlap){var K=B.length>0&&B[0].length>1,ee=Math.min(b.w,b.h)/2-X,Z=ee/(B.length+K?1:0);X=Math.min(X,Z)}for(var ae=0,oe=0;oe1&&r.avoidOverlap){var pe=Math.cos(se)-Math.cos(0),he=Math.sin(se)-Math.sin(0),de=Math.sqrt(X*X/(pe*pe+he*he));ae=Math.max(de,ae)}J.r=ae,ae+=X}if(r.equidistant){for(var ke=0,Pe=0,Ae=0;Ae=a.numIter||(jX(c,a),c.temperature=c.temperature*a.coolingFactor,c.temperature=a.animationThreshold&&g(),xw(T)}};C()}else{for(;E;)E=b(k),k++;uD(c,a),y()}return this},tm.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},tm.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var CX=function(r,u,c){for(var d=c.eles.edges(),g=c.eles.nodes(),b=cs(c.boundingBox?c.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),y={isCompound:r.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:g.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:d.size(),temperature:c.initialTemp,clientWidth:b.w,clientHeight:b.h,boundingBox:b},k=c.eles.components(),E={},C=0;C0){y.graphSet.push(ee);for(var C=0;Cd.count?0:d.graph},TX=function a(r,u,c,d){var g=d.graphSet[c];if(-10)var T=d.nodeOverlap*C,P=Math.sqrt(y*y+k*k),N=T*y/P,D=T*k/P;else var H=nm(r,y,k),_=nm(u,-1*y,-1*k),B=_.x-H.x,$=_.y-H.y,F=B*B+$*$,P=Math.sqrt(F),T=(r.nodeRepulsion+u.nodeRepulsion)/F,N=T*B/P,D=T*$/P;r.isLocked||(r.offsetX-=N,r.offsetY-=D),u.isLocked||(u.offsetX+=N,u.offsetY+=D)}},MX=function(r,u,c,d){if(c>0)var g=r.maxX-u.minX;else var g=u.maxX-r.minX;if(d>0)var b=r.maxY-u.minY;else var b=u.maxY-r.minY;return g>=0&&b>=0?Math.sqrt(g*g+b*b):0},nm=function(r,u,c){var d=r.positionX,g=r.positionY,b=r.height||1,y=r.width||1,k=c/u,E=b/y,C={};return u===0&&0c?(C.x=d,C.y=g+b/2,C):0u&&-1*E<=k&&k<=E?(C.x=d-y/2,C.y=g-y*c/2/u,C):0=E)?(C.x=d+b*u/2/c,C.y=g+b/2,C):(0>c&&(k<=-1*E||k>=E)&&(C.x=d-b*u/2/c,C.y=g-b/2),C)},OX=function(r,u){for(var c=0;cc){var _=u.gravity*N/H,B=u.gravity*D/H;P.offsetX+=_,P.offsetY+=B}}}}},RX=function(r,u){var c=[],d=0,g=-1;for(c.push.apply(c,r.graphSet[0]),g+=r.graphSet[0].length;d<=g;){var b=c[d++],y=r.idToIndex[b],k=r.layoutNodes[y],E=k.children;if(0c)var g={x:c*r/d,y:c*u/d};else var g={x:r,y:u};return g},HX=function a(r,u){var c=r.parentId;if(c!=null){var d=u.layoutNodes[u.idToIndex[c]],g=!1;if((d.maxX==null||r.maxX+d.padRight>d.maxX)&&(d.maxX=r.maxX+d.padRight,g=!0),(d.minX==null||r.minX-d.padLeftd.maxY)&&(d.maxY=r.maxY+d.padBottom,g=!0),(d.minY==null||r.minY-d.padTopB&&(D+=_+u.componentSpacing,N=0,H=0,_=0)}}},_X={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(r){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(r,u){return!0},ready:void 0,stop:void 0,transform:function(r,u){return u}};function cD(a){this.options=en({},_X,a)}cD.prototype.run=function(){var a=this.options,r=a,u=a.cy,c=r.eles,d=c.nodes().not(":parent");r.sort&&(d=d.sort(r.sort));var g=cs(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:u.width(),h:u.height()});if(g.h===0||g.w===0)c.nodes().layoutPositions(this,r,function(ze){return{x:g.x1,y:g.y1}});else{var b=d.size(),y=Math.sqrt(b*g.h/g.w),k=Math.round(y),E=Math.round(g.w/g.h*y),C=function(We){if(We==null)return Math.min(k,E);var $e=Math.min(k,E);$e==k?k=We:E=We},T=function(We){if(We==null)return Math.max(k,E);var $e=Math.max(k,E);$e==k?k=We:E=We},P=r.rows,N=r.cols!=null?r.cols:r.columns;if(P!=null&&N!=null)k=P,E=N;else if(P!=null&&N==null)k=P,E=Math.ceil(b/k);else if(P==null&&N!=null)E=N,k=Math.ceil(b/E);else if(E*k>b){var D=C(),H=T();(D-1)*H>=b?C(D-1):(H-1)*D>=b&&T(H-1)}else for(;E*k=b?T(B+1):C(_+1)}var $=g.w/E,F=g.h/k;if(r.condense&&($=0,F=0),r.avoidOverlap)for(var W=0;W=E&&(pe=0,se++)},de={},ke=0;ke(pe=wK(a,r,he[de],he[de+1],he[de+2],he[de+3])))return _(K,pe),!0}else if(Z.edgeType==="bezier"||Z.edgeType==="multibezier"||Z.edgeType==="self"||Z.edgeType==="compound"){for(var he=Z.allpts,de=0;de+5(pe=pK(a,r,he[de],he[de+1],he[de+2],he[de+3],he[de+4],he[de+5])))return _(K,pe),!0}for(var ke=ke||ee.source,Pe=Pe||ee.target,Ae=d.getArrowWidth(ae,oe),Te=[{name:"source",x:Z.arrowStartX,y:Z.arrowStartY,angle:Z.srcArrowAngle},{name:"target",x:Z.arrowEndX,y:Z.arrowEndY,angle:Z.tgtArrowAngle},{name:"mid-source",x:Z.midX,y:Z.midY,angle:Z.midsrcArrowAngle},{name:"mid-target",x:Z.midX,y:Z.midY,angle:Z.midtgtArrowAngle}],de=0;de0&&(B(ke),B(Pe))}function F(K,ee,Z){return Ou(K,ee,Z)}function W(K,ee){var Z=K._private,ae=P,oe;ee?oe=ee+"-":oe="",K.boundingBox();var J=Z.labelBounds[ee||"main"],fe=K.pstyle(oe+"label").value,se=K.pstyle("text-events").strValue==="yes";if(!(!se||!fe)){var pe=F(Z.rscratch,"labelX",ee),he=F(Z.rscratch,"labelY",ee),de=F(Z.rscratch,"labelAngle",ee),ke=K.pstyle(oe+"text-margin-x").pfValue,Pe=K.pstyle(oe+"text-margin-y").pfValue,Ae=J.x1-ae-ke,Te=J.x2+ae-ke,Oe=J.y1-ae-Pe,ze=J.y2+ae-Pe;if(de){var We=Math.cos(de),$e=Math.sin(de),Ge=function(gn,mt){return gn=gn-pe,mt=mt-he,{x:gn*We-mt*$e+pe,y:gn*$e+mt*We+he}},me=Ge(Ae,Oe),Ve=Ge(Ae,ze),Ke=Ge(Te,Oe),at=Ge(Te,ze),ft=[me.x+ke,me.y+Pe,Ke.x+ke,Ke.y+Pe,at.x+ke,at.y+Pe,Ve.x+ke,Ve.y+Pe];if(ls(a,r,ft))return _(K),!0}else if(Dv(J,a,r))return _(K),!0}}for(var Q=b.length-1;Q>=0;Q--){var X=b[Q];X.isNode()?B(X)||W(X):$(X)||W(X)||W(X,"source")||W(X,"target")}return y},ed.getAllInBox=function(a,r,u,c){var d=this.getCachedZSortedEles().interactive,g=[],b=Math.min(a,u),y=Math.max(a,u),k=Math.min(r,c),E=Math.max(r,c);a=b,u=y,r=k,c=E;for(var C=cs({x1:a,y1:r,x2:u,y2:c}),T=0;T0?Math.max(tt-Gt,0):Math.min(tt+Gt,0)},fe=J(ae,ee),se=J(oe,Z),pe=!1;$===E?B=Math.abs(fe)>Math.abs(se)?d:c:$===k||$===y?(B=c,pe=!0):($===g||$===b)&&(B=d,pe=!0);var he=B===c,de=he?se:fe,ke=he?oe:ae,Pe=YP(ke),Ae=!1;!(pe&&(W||X))&&($===y&&ke<0||$===k&&ke>0||$===g&&ke>0||$===b&&ke<0)&&(Pe*=-1,de=Pe*Math.abs(de),Ae=!0);var Te;if(W){var Oe=Q<0?1+Q:Q;Te=Oe*de}else{var ze=Q<0?de:0;Te=ze+Q*Pe}var We=function(tt){return Math.abs(tt)=Math.abs(de)},$e=We(Te),Ge=We(Math.abs(de)-Math.abs(Te)),me=$e||Ge;if(me&&!Ae)if(he){var Ve=Math.abs(ke)<=P/2,Ke=Math.abs(ae)<=N/2;if(Ve){var at=(C.x1+C.x2)/2,ft=C.y1,tn=C.y2;u.segpts=[at,ft,at,tn]}else if(Ke){var gn=(C.y1+C.y2)/2,mt=C.x1,ht=C.x2;u.segpts=[mt,gn,ht,gn]}else u.segpts=[C.x1,C.y2]}else{var Rt=Math.abs(ke)<=T/2,Lt=Math.abs(oe)<=D/2;if(Rt){var yt=(C.y1+C.y2)/2,Mt=C.x1,In=C.x2;u.segpts=[Mt,yt,In,yt]}else if(Lt){var Pn=(C.x1+C.x2)/2,Vt=C.y1,sr=C.y2;u.segpts=[Pn,Vt,Pn,sr]}else u.segpts=[C.x2,C.y1]}else if(he){var Qe=C.y1+Te+(_?P/2*Pe:0),ne=C.x1,Ie=C.x2;u.segpts=[ne,Qe,Ie,Qe]}else{var Je=C.x1+Te+(_?T/2*Pe:0),Ye=C.y1,Fe=C.y2;u.segpts=[Je,Ye,Je,Fe]}},So.tryToCorrectInvalidPoints=function(a,r){var u=a._private.rscratch;if(u.edgeType==="bezier"){var c=r.srcPos,d=r.tgtPos,g=r.srcW,b=r.srcH,y=r.tgtW,k=r.tgtH,E=r.srcShape,C=r.tgtShape,T=!kt(u.startX)||!kt(u.startY),P=!kt(u.arrowStartX)||!kt(u.arrowStartY),N=!kt(u.endX)||!kt(u.endY),D=!kt(u.arrowEndX)||!kt(u.arrowEndY),H=3,_=this.getArrowWidth(a.pstyle("width").pfValue,a.pstyle("arrow-scale").value)*this.arrowShapeWidth,B=H*_,$=Uh({x:u.ctrlpts[0],y:u.ctrlpts[1]},{x:u.startX,y:u.startY}),F=$se.poolIndex()){var pe=fe;fe=se,se=pe}var he=Z.srcPos=fe.position(),de=Z.tgtPos=se.position(),ke=Z.srcW=fe.outerWidth(),Pe=Z.srcH=fe.outerHeight(),Ae=Z.tgtW=se.outerWidth(),Te=Z.tgtH=se.outerHeight(),Oe=Z.srcShape=u.nodeShapes[r.getNodeShape(fe)],ze=Z.tgtShape=u.nodeShapes[r.getNodeShape(se)];Z.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var We=0;We0){var Ve=g,Ke=Kh(Ve,Lv(u)),at=Kh(Ve,Lv(me)),ft=Ke;if(at2){var tn=Kh(Ve,{x:me[2],y:me[3]});tn0){var ne=b,Ie=Kh(ne,Lv(u)),Je=Kh(ne,Lv(Qe)),Ye=Ie;if(Je2){var Fe=Kh(ne,{x:Qe[2],y:Qe[3]});Fe=D||K){_={cp:W,segment:X};break}}if(_)break}var ee=_.cp,Z=_.segment,ae=(D-B)/Z.length,oe=Z.t1-Z.t0,J=N?Z.t0+oe*ae:Z.t1-oe*ae;J=i1(0,J,1),r=Pv(ee.p0,ee.p1,ee.p2,J),P=VX(ee.p0,ee.p1,ee.p2,J);break}case"straight":case"segments":case"haystack":{for(var fe=0,se,pe,he,de,ke=c.allpts.length,Pe=0;Pe+3=D));Pe+=2);var Ae=D-pe,Te=Ae/se;Te=i1(0,Te,1),r=sK(he,de,Te),P=pD(he,de);break}}b("labelX",T,r.x),b("labelY",T,r.y),b("labelAutoAngle",T,P)}};E("source"),E("target"),this.applyLabelDimensions(a)}},Dc.applyLabelDimensions=function(a){this.applyPrefixedLabelDimensions(a),a.isEdge()&&(this.applyPrefixedLabelDimensions(a,"source"),this.applyPrefixedLabelDimensions(a,"target"))},Dc.applyPrefixedLabelDimensions=function(a,r){var u=a._private,c=this.getLabelText(a,r),d=this.calculateLabelDimensions(a,c),g=a.pstyle("line-height").pfValue,b=a.pstyle("text-wrap").strValue,y=Ou(u.rscratch,"labelWrapCachedLines",r)||[],k=b!=="wrap"?1:Math.max(y.length,1),E=d.height/k,C=E*g,T=d.width,P=d.height+(k-1)*(g-1)*E;jf(u.rstyle,"labelWidth",r,T),jf(u.rscratch,"labelWidth",r,T),jf(u.rstyle,"labelHeight",r,P),jf(u.rscratch,"labelHeight",r,P),jf(u.rscratch,"labelLineHeight",r,C)},Dc.getLabelText=function(a,r){var u=a._private,c=r?r+"-":"",d=a.pstyle(c+"label").strValue,g=a.pstyle("text-transform").value,b=function(Ae,Te){return Te?(jf(u.rscratch,Ae,r,Te),Te):Ou(u.rscratch,Ae,r)};if(!d)return"";g=="none"||(g=="uppercase"?d=d.toUpperCase():g=="lowercase"&&(d=d.toLowerCase()));var y=a.pstyle("text-wrap").value;if(y==="wrap"){var k=b("labelKey");if(k!=null&&b("labelWrapKey")===k)return b("labelWrapCachedText");for(var E="​",C=d.split(` -`),T=a.pstyle("text-max-width").pfValue,P=a.pstyle("text-overflow-wrap").value,N=P==="anywhere",D=[],H=/[\s\u200b]+/,_=N?"":" ",B=0;BT){for(var X=$.split(H),K="",ee=0;eefe)break;se+=d[de],de===d.length-1&&(he=!0)}return he||(se+=pe),se}return d},Dc.getLabelJustification=function(a){var r=a.pstyle("text-justification").strValue,u=a.pstyle("text-halign").strValue;if(r==="auto")if(a.isNode())switch(u){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return r},Dc.calculateLabelDimensions=function(a,r){var u=this,c=Wh(r,a._private.labelDimsKey),d=u.labelDimCache||(u.labelDimCache=[]),g=d[c];if(g!=null)return g;var b=0,y=a.pstyle("font-style").strValue,k=a.pstyle("font-size").pfValue,E=a.pstyle("font-family").strValue,C=a.pstyle("font-weight").strValue,T=this.labelCalcCanvas,P=this.labelCalcCanvasContext;if(!T){T=this.labelCalcCanvas=document.createElement("canvas"),P=this.labelCalcCanvasContext=T.getContext("2d");var N=T.style;N.position="absolute",N.left="-9999px",N.top="-9999px",N.zIndex="-1",N.visibility="hidden",N.pointerEvents="none"}P.font="".concat(y," ").concat(C," ").concat(k,"px ").concat(E);for(var D=0,H=0,_=r.split(` -`),B=0;B<_.length;B++){var $=_[B],F=P.measureText($),W=Math.ceil(F.width),Q=k;D=Math.max(W,D),H+=Q}return D+=b,H+=b,d[c]={width:D,height:H}},Dc.calculateLabelAngle=function(a,r){var u=a._private,c=u.rscratch,d=a.isEdge(),g=r?r+"-":"",b=a.pstyle(g+"text-rotation"),y=b.strValue;return y==="none"?0:d&&y==="autorotate"?c.labelAutoAngle:y==="autorotate"?0:b.pfValue},Dc.calculateLabelAngles=function(a){var r=this,u=a.isEdge(),c=a._private,d=c.rscratch;d.labelAngle=r.calculateLabelAngle(a),u&&(d.sourceLabelAngle=r.calculateLabelAngle(a,"source"),d.targetLabelAngle=r.calculateLabelAngle(a,"target"))};var wD={},mD=28,yD=!1;wD.getNodeShape=function(a){var r=this,u=a.pstyle("shape").value;if(u==="cutrectangle"&&(a.width()1&&arguments[1]!==void 0?arguments[1]:!0;if(r.merge(b),y)for(var k=0;k=a.desktopTapThreshold2}var au=d(ne);aa&&(a.hoverData.tapholdCancelled=!0);var Bu=function(){var Rs=a.hoverData.dragDelta=a.hoverData.dragDelta||[];Rs.length===0?(Rs.push(jn[0]),Rs.push(jn[1])):(Rs[0]+=jn[0],Rs[1]+=jn[1])};Je=!0,c(Dn,["mousemove","vmousemove","tapdrag"],ne,{x:tt[0],y:tt[1]});var Il=function(){a.data.bgActivePosistion=void 0,a.hoverData.selecting||Ye.emit({originalEvent:ne,type:"boxstart",position:{x:tt[0],y:tt[1]}}),vr[4]=1,a.hoverData.selecting=!0,a.redrawHint("select",!0),a.redraw()};if(a.hoverData.which===3){if(aa){var Nc={originalEvent:ne,type:"cxtdrag",position:{x:tt[0],y:tt[1]}};wn?wn.emit(Nc):Ye.emit(Nc),a.hoverData.cxtDragged=!0,(!a.hoverData.cxtOver||Dn!==a.hoverData.cxtOver)&&(a.hoverData.cxtOver&&a.hoverData.cxtOver.emit({originalEvent:ne,type:"cxtdragout",position:{x:tt[0],y:tt[1]}}),a.hoverData.cxtOver=Dn,Dn&&Dn.emit({originalEvent:ne,type:"cxtdragover",position:{x:tt[0],y:tt[1]}}))}}else if(a.hoverData.dragging){if(Je=!0,Ye.panningEnabled()&&Ye.userPanningEnabled()){var Ml;if(a.hoverData.justStartedPan){var ad=a.hoverData.mdownPos;Ml={x:(tt[0]-ad[0])*Fe,y:(tt[1]-ad[1])*Fe},a.hoverData.justStartedPan=!1}else Ml={x:jn[0]*Fe,y:jn[1]*Fe};Ye.panBy(Ml),Ye.emit("dragpan"),a.hoverData.dragged=!0}tt=a.projectIntoViewport(ne.clientX,ne.clientY)}else if(vr[4]==1&&(wn==null||wn.pannable())){if(aa){if(!a.hoverData.dragging&&Ye.boxSelectionEnabled()&&(au||!Ye.panningEnabled()||!Ye.userPanningEnabled()))Il();else if(!a.hoverData.selecting&&Ye.panningEnabled()&&Ye.userPanningEnabled()){var Ic=g(wn,a.hoverData.downs);Ic&&(a.hoverData.dragging=!0,a.hoverData.justStartedPan=!0,vr[4]=0,a.data.bgActivePosistion=Lv(Gt),a.redrawHint("select",!0),a.redraw())}wn&&wn.pannable()&&wn.active()&&wn.unactivate()}}else{if(wn&&wn.pannable()&&wn.active()&&wn.unactivate(),(!wn||!wn.grabbed())&&Dn!=rr&&(rr&&c(rr,["mouseout","tapdragout"],ne,{x:tt[0],y:tt[1]}),Dn&&c(Dn,["mouseover","tapdragover"],ne,{x:tt[0],y:tt[1]}),a.hoverData.last=Dn),wn)if(aa){if(Ye.boxSelectionEnabled()&&au)wn&&wn.grabbed()&&(_(ci),wn.emit("freeon"),ci.emit("free"),a.dragData.didDrag&&(wn.emit("dragfreeon"),ci.emit("dragfree"))),Il();else if(wn&&wn.grabbed()&&a.nodeIsDraggable(wn)){var ao=!a.dragData.didDrag;ao&&a.redrawHint("eles",!0),a.dragData.didDrag=!0,a.hoverData.draggingEles||D(ci,{inDragLayer:!0});var Sa={x:0,y:0};if(kt(jn[0])&&kt(jn[1])&&(Sa.x+=jn[0],Sa.y+=jn[1],ao)){var oo=a.hoverData.dragDelta;oo&&kt(oo[0])&&kt(oo[1])&&(Sa.x+=oo[0],Sa.y+=oo[1])}a.hoverData.draggingEles=!0,ci.silentShift(Sa).emit("position drag"),a.redrawHint("drag",!0),a.redraw()}}else Bu();Je=!0}if(vr[2]=tt[0],vr[3]=tt[1],Je)return ne.stopPropagation&&ne.stopPropagation(),ne.preventDefault&&ne.preventDefault(),!1}},!1);var ae,oe,J;a.registerBinding(r,"mouseup",function(ne){var Ie=a.hoverData.capture;if(Ie){a.hoverData.capture=!1;var Je=a.cy,Ye=a.projectIntoViewport(ne.clientX,ne.clientY),Fe=a.selection,bn=a.findNearestElement(Ye[0],Ye[1],!0,!1),tt=a.dragData.possibleDragElements,Gt=a.hoverData.down,tr=d(ne);if(a.data.bgActivePosistion&&(a.redrawHint("select",!0),a.redraw()),a.hoverData.tapholdCancelled=!0,a.data.bgActivePosistion=void 0,Gt&&Gt.unactivate(),a.hoverData.which===3){var vr={originalEvent:ne,type:"cxttapend",position:{x:Ye[0],y:Ye[1]}};if(Gt?Gt.emit(vr):Je.emit(vr),!a.hoverData.cxtDragged){var Dn={originalEvent:ne,type:"cxttap",position:{x:Ye[0],y:Ye[1]}};Gt?Gt.emit(Dn):Je.emit(Dn)}a.hoverData.cxtDragged=!1,a.hoverData.which=null}else if(a.hoverData.which===1){if(c(bn,["mouseup","tapend","vmouseup"],ne,{x:Ye[0],y:Ye[1]}),!a.dragData.didDrag&&!a.hoverData.dragged&&!a.hoverData.selecting&&!a.hoverData.isOverThresholdDrag&&(c(Gt,["click","tap","vclick"],ne,{x:Ye[0],y:Ye[1]}),oe=!1,ne.timeStamp-J<=Je.multiClickDebounceTime()?(ae&&clearTimeout(ae),oe=!0,J=null,c(Gt,["dblclick","dbltap","vdblclick"],ne,{x:Ye[0],y:Ye[1]})):(ae=setTimeout(function(){oe||c(Gt,["oneclick","onetap","voneclick"],ne,{x:Ye[0],y:Ye[1]})},Je.multiClickDebounceTime()),J=ne.timeStamp)),Gt==null&&!a.dragData.didDrag&&!a.hoverData.selecting&&!a.hoverData.dragged&&!d(ne)&&(Je.$(u).unselect(["tapunselect"]),tt.length>0&&a.redrawHint("eles",!0),a.dragData.possibleDragElements=tt=Je.collection()),bn==Gt&&!a.dragData.didDrag&&!a.hoverData.selecting&&bn!=null&&bn._private.selectable&&(a.hoverData.dragging||(Je.selectionType()==="additive"||tr?bn.selected()?bn.unselect(["tapunselect"]):bn.select(["tapselect"]):tr||(Je.$(u).unmerge(bn).unselect(["tapunselect"]),bn.select(["tapselect"]))),a.redrawHint("eles",!0)),a.hoverData.selecting){var rr=Je.collection(a.getAllInBox(Fe[0],Fe[1],Fe[2],Fe[3]));a.redrawHint("select",!0),rr.length>0&&a.redrawHint("eles",!0),Je.emit({type:"boxend",originalEvent:ne,position:{x:Ye[0],y:Ye[1]}});var wn=function(aa){return aa.selectable()&&!aa.selected()};Je.selectionType()==="additive"||tr||Je.$(u).unmerge(rr).unselect(),rr.emit("box").stdFilter(wn).select().emit("boxselect"),a.redraw()}if(a.hoverData.dragging&&(a.hoverData.dragging=!1,a.redrawHint("select",!0),a.redrawHint("eles",!0),a.redraw()),!Fe[4]){a.redrawHint("drag",!0),a.redrawHint("eles",!0);var jn=Gt&&Gt.grabbed();_(tt),jn&&(Gt.emit("freeon"),tt.emit("free"),a.dragData.didDrag&&(Gt.emit("dragfreeon"),tt.emit("dragfree")))}}Fe[4]=0,a.hoverData.down=null,a.hoverData.cxtStarted=!1,a.hoverData.draggingEles=!1,a.hoverData.selecting=!1,a.hoverData.isOverThresholdDrag=!1,a.dragData.didDrag=!1,a.hoverData.dragged=!1,a.hoverData.dragDelta=[],a.hoverData.mdownPos=null,a.hoverData.mdownGPos=null}},!1);var fe=function(ne){if(!a.scrollingPage){var Ie=a.cy,Je=Ie.zoom(),Ye=Ie.pan(),Fe=a.projectIntoViewport(ne.clientX,ne.clientY),bn=[Fe[0]*Je+Ye.x,Fe[1]*Je+Ye.y];if(a.hoverData.draggingEles||a.hoverData.dragging||a.hoverData.cxtStarted||ee()){ne.preventDefault();return}if(Ie.panningEnabled()&&Ie.userPanningEnabled()&&Ie.zoomingEnabled()&&Ie.userZoomingEnabled()){ne.preventDefault(),a.data.wheelZooming=!0,clearTimeout(a.data.wheelTimeout),a.data.wheelTimeout=setTimeout(function(){a.data.wheelZooming=!1,a.redrawHint("eles",!0),a.redraw()},150);var tt;ne.deltaY!=null?tt=ne.deltaY/-250:ne.wheelDeltaY!=null?tt=ne.wheelDeltaY/1e3:tt=ne.wheelDelta/1e3,tt=tt*a.wheelSensitivity;var Gt=ne.deltaMode===1;Gt&&(tt*=33);var tr=Ie.zoom()*Math.pow(10,tt);ne.type==="gesturechange"&&(tr=a.gestureStartZoom*ne.scale),Ie.zoom({level:tr,renderedPosition:{x:bn[0],y:bn[1]}}),Ie.emit(ne.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};a.registerBinding(a.container,"wheel",fe,!0),a.registerBinding(r,"scroll",function(ne){a.scrollingPage=!0,clearTimeout(a.scrollingPageTimeout),a.scrollingPageTimeout=setTimeout(function(){a.scrollingPage=!1},250)},!0),a.registerBinding(a.container,"gesturestart",function(ne){a.gestureStartZoom=a.cy.zoom(),a.hasTouchStarted||ne.preventDefault()},!0),a.registerBinding(a.container,"gesturechange",function(Qe){a.hasTouchStarted||fe(Qe)},!0),a.registerBinding(a.container,"mouseout",function(ne){var Ie=a.projectIntoViewport(ne.clientX,ne.clientY);a.cy.emit({originalEvent:ne,type:"mouseout",position:{x:Ie[0],y:Ie[1]}})},!1),a.registerBinding(a.container,"mouseover",function(ne){var Ie=a.projectIntoViewport(ne.clientX,ne.clientY);a.cy.emit({originalEvent:ne,type:"mouseover",position:{x:Ie[0],y:Ie[1]}})},!1);var se,pe,he,de,ke,Pe,Ae,Te,Oe,ze,We,$e,Ge,me=function(ne,Ie,Je,Ye){return Math.sqrt((Je-ne)*(Je-ne)+(Ye-Ie)*(Ye-Ie))},Ve=function(ne,Ie,Je,Ye){return(Je-ne)*(Je-ne)+(Ye-Ie)*(Ye-Ie)},Ke;a.registerBinding(a.container,"touchstart",Ke=function(ne){if(a.hasTouchStarted=!0,!!Z(ne)){$(),a.touchData.capture=!0,a.data.bgActivePosistion=void 0;var Ie=a.cy,Je=a.touchData.now,Ye=a.touchData.earlier;if(ne.touches[0]){var Fe=a.projectIntoViewport(ne.touches[0].clientX,ne.touches[0].clientY);Je[0]=Fe[0],Je[1]=Fe[1]}if(ne.touches[1]){var Fe=a.projectIntoViewport(ne.touches[1].clientX,ne.touches[1].clientY);Je[2]=Fe[0],Je[3]=Fe[1]}if(ne.touches[2]){var Fe=a.projectIntoViewport(ne.touches[2].clientX,ne.touches[2].clientY);Je[4]=Fe[0],Je[5]=Fe[1]}if(ne.touches[1]){a.touchData.singleTouchMoved=!0,_(a.dragData.touchDragEles);var bn=a.findContainerClientCoords();Oe=bn[0],ze=bn[1],We=bn[2],$e=bn[3],se=ne.touches[0].clientX-Oe,pe=ne.touches[0].clientY-ze,he=ne.touches[1].clientX-Oe,de=ne.touches[1].clientY-ze,Ge=0<=se&&se<=We&&0<=he&&he<=We&&0<=pe&&pe<=$e&&0<=de&&de<=$e;var tt=Ie.pan(),Gt=Ie.zoom();ke=me(se,pe,he,de),Pe=Ve(se,pe,he,de),Ae=[(se+he)/2,(pe+de)/2],Te=[(Ae[0]-tt.x)/Gt,(Ae[1]-tt.y)/Gt];var tr=200,vr=tr*tr;if(Pe=1){for(var hs=a.touchData.startPosition=[null,null,null,null,null,null],oa=0;oa=a.touchTapThreshold2}if(Ie&&a.touchData.cxt){ne.preventDefault();var hs=ne.touches[0].clientX-Oe,oa=ne.touches[0].clientY-ze,zo=ne.touches[1].clientX-Oe,Ha=ne.touches[1].clientY-ze,au=Ve(hs,oa,zo,Ha),Bu=au/Pe,Il=150,Nc=Il*Il,Ml=1.5,ad=Ml*Ml;if(Bu>=ad||au>=Nc){a.touchData.cxt=!1,a.data.bgActivePosistion=void 0,a.redrawHint("select",!0);var Ic={originalEvent:ne,type:"cxttapend",position:{x:Fe[0],y:Fe[1]}};a.touchData.start?(a.touchData.start.unactivate().emit(Ic),a.touchData.start=null):Ye.emit(Ic)}}if(Ie&&a.touchData.cxt){var Ic={originalEvent:ne,type:"cxtdrag",position:{x:Fe[0],y:Fe[1]}};a.data.bgActivePosistion=void 0,a.redrawHint("select",!0),a.touchData.start?a.touchData.start.emit(Ic):Ye.emit(Ic),a.touchData.start&&(a.touchData.start._private.grabbed=!1),a.touchData.cxtDragged=!0;var ao=a.findNearestElement(Fe[0],Fe[1],!0,!0);(!a.touchData.cxtOver||ao!==a.touchData.cxtOver)&&(a.touchData.cxtOver&&a.touchData.cxtOver.emit({originalEvent:ne,type:"cxtdragout",position:{x:Fe[0],y:Fe[1]}}),a.touchData.cxtOver=ao,ao&&ao.emit({originalEvent:ne,type:"cxtdragover",position:{x:Fe[0],y:Fe[1]}}))}else if(Ie&&ne.touches[2]&&Ye.boxSelectionEnabled())ne.preventDefault(),a.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,a.touchData.selecting||Ye.emit({originalEvent:ne,type:"boxstart",position:{x:Fe[0],y:Fe[1]}}),a.touchData.selecting=!0,a.touchData.didSelect=!0,Je[4]=1,!Je||Je.length===0||Je[0]===void 0?(Je[0]=(Fe[0]+Fe[2]+Fe[4])/3,Je[1]=(Fe[1]+Fe[3]+Fe[5])/3,Je[2]=(Fe[0]+Fe[2]+Fe[4])/3+1,Je[3]=(Fe[1]+Fe[3]+Fe[5])/3+1):(Je[2]=(Fe[0]+Fe[2]+Fe[4])/3,Je[3]=(Fe[1]+Fe[3]+Fe[5])/3),a.redrawHint("select",!0),a.redraw();else if(Ie&&ne.touches[1]&&!a.touchData.didSelect&&Ye.zoomingEnabled()&&Ye.panningEnabled()&&Ye.userZoomingEnabled()&&Ye.userPanningEnabled()){ne.preventDefault(),a.data.bgActivePosistion=void 0,a.redrawHint("select",!0);var Sa=a.dragData.touchDragEles;if(Sa){a.redrawHint("drag",!0);for(var oo=0;oo0&&!a.hoverData.draggingEles&&!a.swipePanning&&a.data.bgActivePosistion!=null&&(a.data.bgActivePosistion=void 0,a.redrawHint("select",!0),a.redraw())}},!1);var ft;a.registerBinding(r,"touchcancel",ft=function(ne){var Ie=a.touchData.start;a.touchData.capture=!1,Ie&&Ie.unactivate()});var tn,gn,mt,ht;if(a.registerBinding(r,"touchend",tn=function(ne){var Ie=a.touchData.start,Je=a.touchData.capture;if(Je)ne.touches.length===0&&(a.touchData.capture=!1),ne.preventDefault();else return;var Ye=a.selection;a.swipePanning=!1,a.hoverData.draggingEles=!1;var Fe=a.cy,bn=Fe.zoom(),tt=a.touchData.now,Gt=a.touchData.earlier;if(ne.touches[0]){var tr=a.projectIntoViewport(ne.touches[0].clientX,ne.touches[0].clientY);tt[0]=tr[0],tt[1]=tr[1]}if(ne.touches[1]){var tr=a.projectIntoViewport(ne.touches[1].clientX,ne.touches[1].clientY);tt[2]=tr[0],tt[3]=tr[1]}if(ne.touches[2]){var tr=a.projectIntoViewport(ne.touches[2].clientX,ne.touches[2].clientY);tt[4]=tr[0],tt[5]=tr[1]}Ie&&Ie.unactivate();var vr;if(a.touchData.cxt){if(vr={originalEvent:ne,type:"cxttapend",position:{x:tt[0],y:tt[1]}},Ie?Ie.emit(vr):Fe.emit(vr),!a.touchData.cxtDragged){var Dn={originalEvent:ne,type:"cxttap",position:{x:tt[0],y:tt[1]}};Ie?Ie.emit(Dn):Fe.emit(Dn)}a.touchData.start&&(a.touchData.start._private.grabbed=!1),a.touchData.cxt=!1,a.touchData.start=null,a.redraw();return}if(!ne.touches[2]&&Fe.boxSelectionEnabled()&&a.touchData.selecting){a.touchData.selecting=!1;var rr=Fe.collection(a.getAllInBox(Ye[0],Ye[1],Ye[2],Ye[3]));Ye[0]=void 0,Ye[1]=void 0,Ye[2]=void 0,Ye[3]=void 0,Ye[4]=0,a.redrawHint("select",!0),Fe.emit({type:"boxend",originalEvent:ne,position:{x:tt[0],y:tt[1]}});var wn=function(Nc){return Nc.selectable()&&!Nc.selected()};rr.emit("box").stdFilter(wn).select().emit("boxselect"),rr.nonempty()&&a.redrawHint("eles",!0),a.redraw()}if(Ie!=null&&Ie.unactivate(),ne.touches[2])a.data.bgActivePosistion=void 0,a.redrawHint("select",!0);else if(!ne.touches[1]){if(!ne.touches[0]){if(!ne.touches[0]){a.data.bgActivePosistion=void 0,a.redrawHint("select",!0);var jn=a.dragData.touchDragEles;if(Ie!=null){var ci=Ie._private.grabbed;_(jn),a.redrawHint("drag",!0),a.redrawHint("eles",!0),ci&&(Ie.emit("freeon"),jn.emit("free"),a.dragData.didDrag&&(Ie.emit("dragfreeon"),jn.emit("dragfree"))),c(Ie,["touchend","tapend","vmouseup","tapdragout"],ne,{x:tt[0],y:tt[1]}),Ie.unactivate(),a.touchData.start=null}else{var aa=a.findNearestElement(tt[0],tt[1],!0,!0);c(aa,["touchend","tapend","vmouseup","tapdragout"],ne,{x:tt[0],y:tt[1]})}var fs=a.touchData.startPosition[0]-tt[0],hs=fs*fs,oa=a.touchData.startPosition[1]-tt[1],zo=oa*oa,Ha=hs+zo,au=Ha*bn*bn;a.touchData.singleTouchMoved||(Ie||Fe.$(":selected").unselect(["tapunselect"]),c(Ie,["tap","vclick"],ne,{x:tt[0],y:tt[1]}),gn=!1,ne.timeStamp-ht<=Fe.multiClickDebounceTime()?(mt&&clearTimeout(mt),gn=!0,ht=null,c(Ie,["dbltap","vdblclick"],ne,{x:tt[0],y:tt[1]})):(mt=setTimeout(function(){gn||c(Ie,["onetap","voneclick"],ne,{x:tt[0],y:tt[1]})},Fe.multiClickDebounceTime()),ht=ne.timeStamp)),Ie!=null&&!a.dragData.didDrag&&Ie._private.selectable&&au"u"){var Rt=[],Lt=function(ne){return{clientX:ne.clientX,clientY:ne.clientY,force:1,identifier:ne.pointerId,pageX:ne.pageX,pageY:ne.pageY,radiusX:ne.width/2,radiusY:ne.height/2,screenX:ne.screenX,screenY:ne.screenY,target:ne.target}},yt=function(ne){return{event:ne,touch:Lt(ne)}},Mt=function(ne){Rt.push(yt(ne))},In=function(ne){for(var Ie=0;Ie0)return Te[0]}return null},N=Object.keys(T),D=0;D0?P:VP(g,b,r,u,c,d,y)},checkPoint:function(r,u,c,d,g,b,y){var k=s1(d,g),E=2*k;if(Pl(r,u,this.points,b,y,d,g-E,[0,-1],c)||Pl(r,u,this.points,b,y,d-E,g,[0,-1],c))return!0;var C=d/2+2*c,T=g/2+2*c,P=[b-C,y-T,b-C,y,b+C,y,b+C,y-T];return!!(ls(r,u,P)||Zh(r,u,E,E,b+d/2-k,y+g/2-k,c)||Zh(r,u,E,E,b-d/2+k,y+g/2-k,c))}}},jl.registerNodeShapes=function(){var a=this.nodeShapes={},r=this;this.generateEllipse(),this.generatePolygon("triangle",Bo(3,0)),this.generateRoundPolygon("round-triangle",Bo(3,0)),this.generatePolygon("rectangle",Bo(4,0)),a.square=a.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var u=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",u),this.generateRoundPolygon("round-diamond",u)}this.generatePolygon("pentagon",Bo(5,0)),this.generateRoundPolygon("round-pentagon",Bo(5,0)),this.generatePolygon("hexagon",Bo(6,0)),this.generateRoundPolygon("round-hexagon",Bo(6,0)),this.generatePolygon("heptagon",Bo(7,0)),this.generateRoundPolygon("round-heptagon",Bo(7,0)),this.generatePolygon("octagon",Bo(8,0)),this.generateRoundPolygon("round-octagon",Bo(8,0));var c=new Array(20);{var d=F5(5,0),g=F5(5,Math.PI/5),b=.5*(3-Math.sqrt(5));b*=1.57;for(var y=0;y=r.deqFastCost*W)break}else if(E){if($>=r.deqCost*N||$>=r.deqAvgCost*P)break}else if(F>=r.deqNoDrawCost*dS)break;var Q=r.deq(c,_,H);if(Q.length>0)for(var X=0;X0&&(r.onDeqd(c,D),!E&&r.shouldRedraw(c,D,_,H)&&g())},y=r.priority||B5;d.beforeRender(b,y(c))}}}},UX=function(){function a(r){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Lw;N5(this,a),this.idsByKey=new Lc,this.keyForId=new Lc,this.cachesByLvl=new Lc,this.lvls=[],this.getKey=r,this.doesEleInvalidateKey=u}return I5(a,[{key:"getIdsFor",value:function(u){u==null&&Hi("Can not get id list for null key");var c=this.idsByKey,d=this.idsByKey.get(u);return d||(d=new Tv,c.set(u,d)),d}},{key:"addIdForKey",value:function(u,c){u!=null&&this.getIdsFor(u).add(c)}},{key:"deleteIdForKey",value:function(u,c){u!=null&&this.getIdsFor(u).delete(c)}},{key:"getNumberOfIdsForKey",value:function(u){return u==null?0:this.getIdsFor(u).size}},{key:"updateKeyMappingFor",value:function(u){var c=u.id(),d=this.keyForId.get(c),g=this.getKey(u);this.deleteIdForKey(d,c),this.addIdForKey(g,c),this.keyForId.set(c,g)}},{key:"deleteKeyMappingFor",value:function(u){var c=u.id(),d=this.keyForId.get(c);this.deleteIdForKey(d,c),this.keyForId.delete(c)}},{key:"keyHasChangedFor",value:function(u){var c=u.id(),d=this.keyForId.get(c),g=this.getKey(u);return d!==g}},{key:"isInvalid",value:function(u){return this.keyHasChangedFor(u)||this.doesEleInvalidateKey(u)}},{key:"getCachesAt",value:function(u){var c=this.cachesByLvl,d=this.lvls,g=c.get(u);return g||(g=new Lc,c.set(u,g),d.push(u)),g}},{key:"getCache",value:function(u,c){return this.getCachesAt(c).get(u)}},{key:"get",value:function(u,c){var d=this.getKey(u),g=this.getCache(d,c);return g!=null&&this.updateKeyMappingFor(u),g}},{key:"getForCachedKey",value:function(u,c){var d=this.keyForId.get(u.id()),g=this.getCache(d,c);return g}},{key:"hasCache",value:function(u,c){return this.getCachesAt(c).has(u)}},{key:"has",value:function(u,c){var d=this.getKey(u);return this.hasCache(d,c)}},{key:"setCache",value:function(u,c,d){d.key=u,this.getCachesAt(c).set(u,d)}},{key:"set",value:function(u,c,d){var g=this.getKey(u);this.setCache(g,c,d),this.updateKeyMappingFor(u)}},{key:"deleteCache",value:function(u,c){this.getCachesAt(c).delete(u)}},{key:"delete",value:function(u,c){var d=this.getKey(u);this.deleteCache(d,c)}},{key:"invalidateKey",value:function(u){var c=this;this.lvls.forEach(function(d){return c.deleteCache(u,d)})}},{key:"invalidate",value:function(u){var c=u.id(),d=this.keyForId.get(c);this.deleteKeyMappingFor(u);var g=this.doesEleInvalidateKey(u);return g&&this.invalidateKey(d),g||this.getNumberOfIdsForKey(d)===0}}]),a}(),TD=25,om=50,sm=-4,vS=3,KX=7.99,ZX=8,XX=1024,QX=1024,JX=1024,eQ=.2,tQ=.8,nQ=10,rQ=.15,iQ=.1,aQ=.9,oQ=.9,sQ=100,uQ=1,Fv={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},cQ=eo({getKey:null,doesEleInvalidateKey:Lw,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:RP,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),E1=function(r,u){var c=this;c.renderer=r,c.onDequeues=[];var d=cQ(u);en(c,d),c.lookup=new UX(d.getKey,d.doesEleInvalidateKey),c.setupDequeueing()},Ea=E1.prototype;Ea.reasons=Fv,Ea.getTextureQueue=function(a){var r=this;return r.eleImgCaches=r.eleImgCaches||{},r.eleImgCaches[a]=r.eleImgCaches[a]||[]},Ea.getRetiredTextureQueue=function(a){var r=this,u=r.eleImgCaches.retired=r.eleImgCaches.retired||{},c=u[a]=u[a]||[];return c},Ea.getElementQueue=function(){var a=this,r=a.eleCacheQueue=a.eleCacheQueue||new Zb.default(function(u,c){return c.reqs-u.reqs});return r},Ea.getElementKeyToQueue=function(){var a=this,r=a.eleKeyToCacheQueue=a.eleKeyToCacheQueue||{};return r},Ea.getElement=function(a,r,u,c,d){var g=this,b=this.renderer,y=b.cy.zoom(),k=this.lookup;if(!r||r.w===0||r.h===0||isNaN(r.w)||isNaN(r.h)||!a.visible()||a.removed()||!g.allowEdgeTxrCaching&&a.isEdge()||!g.allowParentTxrCaching&&a.isParent())return null;if(c==null&&(c=Math.ceil(_5(y*u))),c=KX||c>vS)return null;var E=Math.pow(2,c),C=r.h*E,T=r.w*E,P=b.eleTextBiggerThanMin(a,E);if(!this.isVisible(a,P))return null;var N=k.get(a,c);if(N&&N.invalidated&&(N.invalidated=!1,N.texture.invalidatedWidth-=N.width),N)return N;var D;if(C<=TD?D=TD:C<=om?D=om:D=Math.ceil(C/om)*om,C>JX||T>QX)return null;var H=g.getTextureQueue(D),_=H[H.length-2],B=function(){return g.recycleTexture(D,T)||g.addTexture(D,T)};_||(_=H[H.length-1]),_||(_=B()),_.width-_.usedWidthc;oe--)Z=g.getElement(a,r,u,oe,Fv.downscale);ae()}else return g.queueElement(a,X.level-1),X;else{var J;if(!F&&!W&&!Q)for(var fe=c-1;fe>=sm;fe--){var se=k.get(a,fe);if(se){J=se;break}}if($(J))return g.queueElement(a,c),J;_.context.translate(_.usedWidth,0),_.context.scale(E,E),this.drawElement(_.context,a,r,P,!1),_.context.scale(1/E,1/E),_.context.translate(-_.usedWidth,0)}return N={x:_.usedWidth,texture:_,level:c,scale:E,width:T,height:C,scaledLabelShown:P},_.usedWidth+=Math.ceil(T+ZX),_.eleCaches.push(N),k.set(a,c,N),g.checkTextureFullness(_),N},Ea.invalidateElements=function(a){for(var r=0;r=eQ*a.width&&this.retireTexture(a)},Ea.checkTextureFullness=function(a){var r=this,u=r.getTextureQueue(a.height);a.usedWidth/a.width>tQ&&a.fullnessChecks>=nQ?Df(u,a):a.fullnessChecks++},Ea.retireTexture=function(a){var r=this,u=a.height,c=r.getTextureQueue(u),d=this.lookup;Df(c,a),a.retired=!0;for(var g=a.eleCaches,b=0;b=r)return b.retired=!1,b.usedWidth=0,b.invalidatedWidth=0,b.fullnessChecks=0,z5(b.eleCaches),b.context.setTransform(1,0,0,1,0,0),b.context.clearRect(0,0,b.width,b.height),Df(d,b),c.push(b),b}},Ea.queueElement=function(a,r){var u=this,c=u.getElementQueue(),d=u.getElementKeyToQueue(),g=this.getKey(a),b=d[g];if(b)b.level=Math.max(b.level,r),b.eles.merge(a),b.reqs++,c.updateItem(b);else{var y={eles:a.spawn().merge(a),level:r,reqs:1,key:g};c.push(y),d[g]=y}},Ea.dequeue=function(a){for(var r=this,u=r.getElementQueue(),c=r.getElementKeyToQueue(),d=[],g=r.lookup,b=0;b0;b++){var y=u.pop(),k=y.key,E=y.eles[0],C=g.hasCache(E,y.level);if(c[k]=null,C)continue;d.push(y);var T=r.getBoundingBox(E);r.getElement(E,T,a,y.level,Fv.dequeue)}return d},Ea.removeFromQueue=function(a){var r=this,u=r.getElementQueue(),c=r.getElementKeyToQueue(),d=this.getKey(a),g=c[d];g!=null&&(g.eles.length===1?(g.reqs=R5,u.updateItem(g),u.pop(),c[d]=null):g.eles.unmerge(a))},Ea.onDequeue=function(a){this.onDequeues.push(a)},Ea.offDequeue=function(a){Df(this.onDequeues,a)},Ea.setupDequeueing=xD.setupDequeueing({deqRedrawThreshold:sQ,deqCost:rQ,deqAvgCost:iQ,deqNoDrawCost:aQ,deqFastCost:oQ,deq:function(r,u,c){return r.dequeue(u,c)},onDeqd:function(r,u){for(var c=0;c=fQ||u>um)return null}c.validateLayersElesOrdering(u,a);var k=c.layersByLevel,E=Math.pow(2,u),C=k[u]=k[u]||[],T,P=c.levelIsComplete(u,a),N,D=function(){var ae=function(pe){if(c.validateLayersElesOrdering(pe,a),c.levelIsComplete(pe,a))return N=k[pe],!0},oe=function(pe){if(!N)for(var he=u+pe;S1<=he&&he<=um&&!ae(he);he+=pe);};oe(1),oe(-1);for(var J=C.length-1;J>=0;J--){var fe=C[J];fe.invalid&&Df(C,fe)}};if(!P)D();else return C;var H=function(){if(!T){T=cs();for(var ae=0;aemQ)return null;var fe=c.makeLayer(T,u);if(oe!=null){var se=C.indexOf(oe)+1;C.splice(se,0,fe)}else(ae.insert===void 0||ae.insert)&&C.unshift(fe);return fe};if(c.skipping&&!y)return null;for(var B=null,$=a.length/lQ,F=!y,W=0;W=$||!qP(B.bb,Q.boundingBox()))&&(B=_({insert:!0,after:B}),!B))return null;N||F?c.queueLayer(B,Q):c.drawEleInLayer(B,Q,u,r),B.eles.push(Q),K[u]=B}return N||(F?null:C)},io.getEleLevelForLayerLevel=function(a,r){return a},io.drawEleInLayer=function(a,r,u,c){var d=this,g=this.renderer,b=a.context,y=r.boundingBox();y.w===0||y.h===0||!r.visible()||(u=d.getEleLevelForLayerLevel(u,c),g.setImgSmoothing(b,!1),g.drawCachedElement(b,r,null,null,u,yQ),g.setImgSmoothing(b,!0))},io.levelIsComplete=function(a,r){var u=this,c=u.layersByLevel[a];if(!c||c.length===0)return!1;for(var d=0,g=0;g0||b.invalid)return!1;d+=b.eles.length}return d===r.length},io.validateLayersElesOrdering=function(a,r){var u=this.layersByLevel[a];if(u)for(var c=0;c0){r=!0;break}}return r},io.invalidateElements=function(a){var r=this;a.length!==0&&(r.lastInvalidationTime=Ll(),!(a.length===0||!r.haveLayers())&&r.updateElementsInLayers(a,function(c,d,g){r.invalidateLayer(c)}))},io.invalidateLayer=function(a){if(this.lastInvalidationTime=Ll(),!a.invalid){var r=a.level,u=a.eles,c=this.layersByLevel[r];Df(c,a),a.elesQueue=[],a.invalid=!0,a.replacement&&(a.replacement.invalid=!0);for(var d=0;d3&&arguments[3]!==void 0?arguments[3]:!0,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,b=this,y=r._private.rscratch;if(!(g&&!r.visible())&&!(y.badLine||y.allpts==null||isNaN(y.allpts[0]))){var k;u&&(k=u,a.translate(-k.x1,-k.y1));var E=g?r.pstyle("opacity").value:1,C=g?r.pstyle("line-opacity").value:1,T=r.pstyle("curve-style").value,P=r.pstyle("line-style").value,N=r.pstyle("width").pfValue,D=r.pstyle("line-cap").value,H=E*C,_=E*C,B=function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;T==="straight-triangle"?(b.eleStrokeStyle(a,r,J),b.drawEdgeTrianglePath(r,a,y.allpts)):(a.lineWidth=N,a.lineCap=D,b.eleStrokeStyle(a,r,J),b.drawEdgePath(r,a,y.allpts,P),a.lineCap="butt")},$=function(){d&&b.drawEdgeOverlay(a,r)},F=function(){d&&b.drawEdgeUnderlay(a,r)},W=function(){var J=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_;b.drawArrowheads(a,r,J)},Q=function(){b.drawElementText(a,r,null,c)};a.lineJoin="round";var X=r.pstyle("ghost").value==="yes";if(X){var K=r.pstyle("ghost-offset-x").pfValue,ee=r.pstyle("ghost-offset-y").pfValue,Z=r.pstyle("ghost-opacity").value,ae=H*Z;a.translate(K,ee),B(ae),W(ae),a.translate(-K,-ee)}F(),B(),W(),$(),Q(),u&&a.translate(k.x1,k.y1)}};var MD=function(r){if(!["overlay","underlay"].includes(r))throw new Error("Invalid state");return function(u,c){if(c.visible()){var d=c.pstyle("".concat(r,"-opacity")).value;if(d!==0){var g=this,b=g.usePaths(),y=c._private.rscratch,k=c.pstyle("".concat(r,"-padding")).pfValue,E=2*k,C=c.pstyle("".concat(r,"-color")).value;u.lineWidth=E,y.edgeType==="self"&&!b?u.lineCap="butt":u.lineCap="round",g.colorStrokeStyle(u,C[0],C[1],C[2],d),g.drawEdgePath(c,u,y.allpts,"solid")}}}};Nl.drawEdgeOverlay=MD("overlay"),Nl.drawEdgeUnderlay=MD("underlay"),Nl.drawEdgePath=function(a,r,u,c){var d=a._private.rscratch,g=r,b,y=!1,k=this.usePaths(),E=a.pstyle("line-dash-pattern").pfValue,C=a.pstyle("line-dash-offset").pfValue;if(k){var T=u.join("$"),P=d.pathCacheKey&&d.pathCacheKey===T;P?(b=r=d.pathCache,y=!0):(b=r=new Path2D,d.pathCacheKey=T,d.pathCache=b)}if(g.setLineDash)switch(c){case"dotted":g.setLineDash([1,1]);break;case"dashed":g.setLineDash(E),g.lineDashOffset=C;break;case"solid":g.setLineDash([]);break}if(!y&&!d.badLine)switch(r.beginPath&&r.beginPath(),r.moveTo(u[0],u[1]),d.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var N=2;N+35&&arguments[5]!==void 0?arguments[5]:!0,b=this;if(c==null){if(g&&!b.eleTextBiggerThanMin(r))return}else if(c===!1)return;if(r.isNode()){var y=r.pstyle("label");if(!y||!y.value)return;var k=b.getLabelJustification(r);a.textAlign=k,a.textBaseline="bottom"}else{var E=r.element()._private.rscratch.badLine,C=r.pstyle("label"),T=r.pstyle("source-label"),P=r.pstyle("target-label");if(E||(!C||!C.value)&&(!T||!T.value)&&(!P||!P.value))return;a.textAlign="center",a.textBaseline="bottom"}var N=!u,D;u&&(D=u,a.translate(-D.x1,-D.y1)),d==null?(b.drawText(a,r,null,N,g),r.isEdge()&&(b.drawText(a,r,"source",N,g),b.drawText(a,r,"target",N,g))):b.drawText(a,r,d,N,g),u&&a.translate(D.x1,D.y1)},td.getFontCache=function(a){var r;this.fontCaches=this.fontCaches||[];for(var u=0;u2&&arguments[2]!==void 0?arguments[2]:!0,c=r.pstyle("font-style").strValue,d=r.pstyle("font-size").pfValue+"px",g=r.pstyle("font-family").strValue,b=r.pstyle("font-weight").strValue,y=u?r.effectiveOpacity()*r.pstyle("text-opacity").value:1,k=r.pstyle("text-outline-opacity").value*y,E=r.pstyle("color").value,C=r.pstyle("text-outline-color").value;a.font=c+" "+b+" "+d+" "+g,a.lineJoin="round",this.colorFillStyle(a,E[0],E[1],E[2],y),this.colorStrokeStyle(a,C[0],C[1],C[2],k)};function NQ(a,r,u,c,d){var g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5;a.beginPath(),a.moveTo(r+g,u),a.lineTo(r+c-g,u),a.quadraticCurveTo(r+c,u,r+c,u+g),a.lineTo(r+c,u+d-g),a.quadraticCurveTo(r+c,u+d,r+c-g,u+d),a.lineTo(r+g,u+d),a.quadraticCurveTo(r,u+d,r,u+d-g),a.lineTo(r,u+g),a.quadraticCurveTo(r,u,r+g,u),a.closePath(),a.fill()}td.getTextAngle=function(a,r){var u,c=a._private,d=c.rscratch,g=r?r+"-":"",b=a.pstyle(g+"text-rotation"),y=Ou(d,"labelAngle",r);return b.strValue==="autorotate"?u=a.isEdge()?y:0:b.strValue==="none"?u=0:u=b.pfValue,u},td.drawText=function(a,r,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,g=r._private,b=g.rscratch,y=d?r.effectiveOpacity():1;if(!(d&&(y===0||r.pstyle("text-opacity").value===0))){u==="main"&&(u=null);var k=Ou(b,"labelX",u),E=Ou(b,"labelY",u),C,T,P=this.getLabelText(r,u);if(P!=null&&P!==""&&!isNaN(k)&&!isNaN(E)){this.setupTextStyle(a,r,d);var N=u?u+"-":"",D=Ou(b,"labelWidth",u),H=Ou(b,"labelHeight",u),_=r.pstyle(N+"text-margin-x").pfValue,B=r.pstyle(N+"text-margin-y").pfValue,$=r.isEdge(),F=r.pstyle("text-halign").value,W=r.pstyle("text-valign").value;$&&(F="center",W="center"),k+=_,E+=B;var Q;switch(c?Q=this.getTextAngle(r,u):Q=0,Q!==0&&(C=k,T=E,a.translate(C,T),a.rotate(Q),k=0,E=0),W){case"top":break;case"center":E+=H/2;break;case"bottom":E+=H;break}var X=r.pstyle("text-background-opacity").value,K=r.pstyle("text-border-opacity").value,ee=r.pstyle("text-border-width").pfValue,Z=r.pstyle("text-background-padding").pfValue;if(X>0||ee>0&&K>0){var ae=k-Z;switch(F){case"left":ae-=D;break;case"center":ae-=D/2;break}var oe=E-H-Z,J=D+2*Z,fe=H+2*Z;if(X>0){var se=a.fillStyle,pe=r.pstyle("text-background-color").value;a.fillStyle="rgba("+pe[0]+","+pe[1]+","+pe[2]+","+X*y+")";var he=r.pstyle("text-background-shape").strValue;he.indexOf("round")===0?NQ(a,ae,oe,J,fe,2):a.fillRect(ae,oe,J,fe),a.fillStyle=se}if(ee>0&&K>0){var de=a.strokeStyle,ke=a.lineWidth,Pe=r.pstyle("text-border-color").value,Ae=r.pstyle("text-border-style").value;if(a.strokeStyle="rgba("+Pe[0]+","+Pe[1]+","+Pe[2]+","+K*y+")",a.lineWidth=ee,a.setLineDash)switch(Ae){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash([4,2]);break;case"double":a.lineWidth=ee/4,a.setLineDash([]);break;case"solid":a.setLineDash([]);break}if(a.strokeRect(ae,oe,J,fe),Ae==="double"){var Te=ee/2;a.strokeRect(ae+Te,oe+Te,J-Te*2,fe-Te*2)}a.setLineDash&&a.setLineDash([]),a.lineWidth=ke,a.strokeStyle=de}}var Oe=2*r.pstyle("text-outline-width").pfValue;if(Oe>0&&(a.lineWidth=Oe),r.pstyle("text-wrap").value==="wrap"){var ze=Ou(b,"labelWrapCachedLines",u),We=Ou(b,"labelLineHeight",u),$e=D/2,Ge=this.getLabelJustification(r);switch(Ge==="auto"||(F==="left"?Ge==="left"?k+=-D:Ge==="center"&&(k+=-$e):F==="center"?Ge==="left"?k+=-$e:Ge==="right"&&(k+=$e):F==="right"&&(Ge==="center"?k+=$e:Ge==="right"&&(k+=D))),W){case"top":E-=(ze.length-1)*We;break;case"center":case"bottom":E-=(ze.length-1)*We;break}for(var me=0;me0&&a.strokeText(ze[me],k,E),a.fillText(ze[me],k,E),E+=We}else Oe>0&&a.strokeText(P,k,E),a.fillText(P,k,E);Q!==0&&(a.rotate(-Q),a.translate(-C,-T))}}};var qv={};qv.drawNode=function(a,r,u){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,b=this,y,k,E=r._private,C=E.rscratch,T=r.position();if(!(!kt(T.x)||!kt(T.y))&&!(g&&!r.visible())){var P=g?r.effectiveOpacity():1,N=b.usePaths(),D,H=!1,_=r.padding();y=r.width()+2*_,k=r.height()+2*_;var B;u&&(B=u,a.translate(-B.x1,-B.y1));for(var $=r.pstyle("background-image"),F=$.value,W=new Array(F.length),Q=new Array(F.length),X=0,K=0;K0&&arguments[0]!==void 0?arguments[0]:fe;b.eleFillStyle(a,r,yt)},ke=function(){var yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:he;b.colorStrokeStyle(a,se[0],se[1],se[2],yt)},Pe=r.pstyle("shape").strValue,Ae=r.pstyle("shape-polygon-points").pfValue;if(N){a.translate(T.x,T.y);var Te=b.nodePathCache=b.nodePathCache||[],Oe=OP(Pe==="polygon"?Pe+","+Ae.join(","):Pe,""+k,""+y),ze=Te[Oe];ze!=null?(D=ze,H=!0,C.pathCache=D):(D=new Path2D,Te[Oe]=C.pathCache=D)}var We=function(){if(!H){var yt=T;N&&(yt={x:0,y:0}),b.nodeShapes[b.getNodeShape(r)].draw(D||a,yt.x,yt.y,y,k)}N?a.fill(D):a.fill()},$e=function(){for(var yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P,Mt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,In=E.backgrounding,Pn=0,Vt=0;Vt0&&arguments[0]!==void 0?arguments[0]:!1,Mt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:P;b.hasPie(r)&&(b.drawPie(a,r,Mt),yt&&(N||b.nodeShapes[b.getNodeShape(r)].draw(a,T.x,T.y,y,k)))},me=function(){var yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:P,Mt=(oe>0?oe:-oe)*yt,In=oe>0?0:255;oe!==0&&(b.colorFillStyle(a,In,In,In,Mt),N?a.fill(D):a.fill())},Ve=function(){if(J>0){if(a.lineWidth=J,a.lineCap="butt",a.setLineDash)switch(pe){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash([4,2]);break;case"solid":case"double":a.setLineDash([]);break}if(N?a.stroke(D):a.stroke(),pe==="double"){a.lineWidth=J/3;var yt=a.globalCompositeOperation;a.globalCompositeOperation="destination-out",N?a.stroke(D):a.stroke(),a.globalCompositeOperation=yt}a.setLineDash&&a.setLineDash([])}},Ke=function(){d&&b.drawNodeOverlay(a,r,T,y,k)},at=function(){d&&b.drawNodeUnderlay(a,r,T,y,k)},ft=function(){b.drawElementText(a,r,null,c)},tn=r.pstyle("ghost").value==="yes";if(tn){var gn=r.pstyle("ghost-offset-x").pfValue,mt=r.pstyle("ghost-offset-y").pfValue,ht=r.pstyle("ghost-opacity").value,Rt=ht*P;a.translate(gn,mt),de(ht*fe),We(),$e(Rt,!0),ke(ht*he),Ve(),Ge(oe!==0||J!==0),$e(Rt,!1),me(Rt),a.translate(-gn,-mt)}N&&a.translate(-T.x,-T.y),at(),N&&a.translate(T.x,T.y),de(),We(),$e(P,!0),ke(),Ve(),Ge(oe!==0||J!==0),$e(P,!1),me(),N&&a.translate(-T.x,-T.y),ft(),Ke(),u&&a.translate(B.x1,B.y1)}};var OD=function(r){if(!["overlay","underlay"].includes(r))throw new Error("Invalid state");return function(u,c,d,g,b){var y=this;if(c.visible()){var k=c.pstyle("".concat(r,"-padding")).pfValue,E=c.pstyle("".concat(r,"-opacity")).value,C=c.pstyle("".concat(r,"-color")).value,T=c.pstyle("".concat(r,"-shape")).value;if(E>0){if(d=d||c.position(),g==null||b==null){var P=c.padding();g=c.width()+2*P,b=c.height()+2*P}y.colorFillStyle(u,C[0],C[1],C[2],E),y.nodeShapes[T].draw(u,d.x,d.y,g+k*2,b+k*2),u.fill()}}}};qv.drawNodeOverlay=OD("overlay"),qv.drawNodeUnderlay=OD("underlay"),qv.hasPie=function(a){return a=a[0],a._private.hasPie},qv.drawPie=function(a,r,u,c){r=r[0],c=c||r.position();var d=r.cy().style(),g=r.pstyle("pie-size"),b=c.x,y=c.y,k=r.width(),E=r.height(),C=Math.min(k,E)/2,T=0,P=this.usePaths();P&&(b=0,y=0),g.units==="%"?C=C*g.pfValue:g.pfValue!==void 0&&(C=g.pfValue/2);for(var N=1;N<=d.pieBackgroundN;N++){var D=r.pstyle("pie-"+N+"-background-size").value,H=r.pstyle("pie-"+N+"-background-color").value,_=r.pstyle("pie-"+N+"-background-opacity").value*u,B=D/100;B+T>1&&(B=1-T);var $=1.5*Math.PI+2*Math.PI*T,F=2*Math.PI*B,W=$+F;D===0||T>=1||T+B>1||(a.beginPath(),a.moveTo(b,y),a.arc(b,y,C,$,W),a.closePath(),this.colorFillStyle(a,H[0],H[1],H[2],_),a.fill(),T+=B)}};var As={},IQ=100;As.getPixelRatio=function(){var a=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var r=a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/r},As.paintCache=function(a){for(var r=this.paintCaches=this.paintCaches||[],u=!0,c,d=0;db.minMbLowQualFrames&&(b.motionBlurPxRatio=b.mbPxRBlurry)),b.clearingMotionBlur&&(b.motionBlurPxRatio=1),b.textureDrawLastFrame&&!T&&(C[b.NODE]=!0,C[b.SELECT_BOX]=!0);var $=k.style(),F=k.zoom(),W=d!==void 0?d:F,Q=k.pan(),X={x:Q.x,y:Q.y},K={zoom:F,pan:{x:Q.x,y:Q.y}},ee=b.prevViewport,Z=ee===void 0||K.zoom!==ee.zoom||K.pan.x!==ee.pan.x||K.pan.y!==ee.pan.y;!Z&&!(H&&!D)&&(b.motionBlurPxRatio=1),g&&(X=g),W*=y,X.x*=y,X.y*=y;var ae=b.getCachedZSortedEles();function oe(mt,ht,Rt,Lt,yt){var Mt=mt.globalCompositeOperation;mt.globalCompositeOperation="destination-out",b.colorFillStyle(mt,255,255,255,b.motionBlurTransparency),mt.fillRect(ht,Rt,Lt,yt),mt.globalCompositeOperation=Mt}function J(mt,ht){var Rt,Lt,yt,Mt;!b.clearingMotionBlur&&(mt===E.bufferContexts[b.MOTIONBLUR_BUFFER_NODE]||mt===E.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG])?(Rt={x:Q.x*N,y:Q.y*N},Lt=F*N,yt=b.canvasWidth*N,Mt=b.canvasHeight*N):(Rt=X,Lt=W,yt=b.canvasWidth,Mt=b.canvasHeight),mt.setTransform(1,0,0,1,0,0),ht==="motionBlur"?oe(mt,0,0,yt,Mt):!r&&(ht===void 0||ht)&&mt.clearRect(0,0,yt,Mt),u||(mt.translate(Rt.x,Rt.y),mt.scale(Lt,Lt)),g&&mt.translate(g.x,g.y),d&&mt.scale(d,d)}if(T||(b.textureDrawLastFrame=!1),T){if(b.textureDrawLastFrame=!0,!b.textureCache){b.textureCache={},b.textureCache.bb=k.mutableElements().boundingBox(),b.textureCache.texture=b.data.bufferCanvases[b.TEXTURE_BUFFER];var fe=b.data.bufferContexts[b.TEXTURE_BUFFER];fe.setTransform(1,0,0,1,0,0),fe.clearRect(0,0,b.canvasWidth*b.textureMult,b.canvasHeight*b.textureMult),b.render({forcedContext:fe,drawOnlyNodeLayer:!0,forcedPxRatio:y*b.textureMult});var K=b.textureCache.viewport={zoom:k.zoom(),pan:k.pan(),width:b.canvasWidth,height:b.canvasHeight};K.mpan={x:(0-K.pan.x)/K.zoom,y:(0-K.pan.y)/K.zoom}}C[b.DRAG]=!1,C[b.NODE]=!1;var se=E.contexts[b.NODE],pe=b.textureCache.texture,K=b.textureCache.viewport;se.setTransform(1,0,0,1,0,0),P?oe(se,0,0,K.width,K.height):se.clearRect(0,0,K.width,K.height);var he=$.core("outside-texture-bg-color").value,de=$.core("outside-texture-bg-opacity").value;b.colorFillStyle(se,he[0],he[1],he[2],de),se.fillRect(0,0,K.width,K.height);var F=k.zoom();J(se,!1),se.clearRect(K.mpan.x,K.mpan.y,K.width/K.zoom/y,K.height/K.zoom/y),se.drawImage(pe,K.mpan.x,K.mpan.y,K.width/K.zoom/y,K.height/K.zoom/y)}else b.textureOnViewport&&!r&&(b.textureCache=null);var ke=k.extent(),Pe=b.pinching||b.hoverData.dragging||b.swipePanning||b.data.wheelZooming||b.hoverData.draggingEles||b.cy.animated(),Ae=b.hideEdgesOnViewport&&Pe,Te=[];if(Te[b.NODE]=!C[b.NODE]&&P&&!b.clearedForMotionBlur[b.NODE]||b.clearingMotionBlur,Te[b.NODE]&&(b.clearedForMotionBlur[b.NODE]=!0),Te[b.DRAG]=!C[b.DRAG]&&P&&!b.clearedForMotionBlur[b.DRAG]||b.clearingMotionBlur,Te[b.DRAG]&&(b.clearedForMotionBlur[b.DRAG]=!0),C[b.NODE]||u||c||Te[b.NODE]){var Oe=P&&!Te[b.NODE]&&N!==1,se=r||(Oe?b.data.bufferContexts[b.MOTIONBLUR_BUFFER_NODE]:E.contexts[b.NODE]),ze=P&&!Oe?"motionBlur":void 0;J(se,ze),Ae?b.drawCachedNodes(se,ae.nondrag,y,ke):b.drawLayeredElements(se,ae.nondrag,y,ke),b.debug&&b.drawDebugPoints(se,ae.nondrag),!u&&!P&&(C[b.NODE]=!1)}if(!c&&(C[b.DRAG]||u||Te[b.DRAG])){var Oe=P&&!Te[b.DRAG]&&N!==1,se=r||(Oe?b.data.bufferContexts[b.MOTIONBLUR_BUFFER_DRAG]:E.contexts[b.DRAG]);J(se,P&&!Oe?"motionBlur":void 0),Ae?b.drawCachedNodes(se,ae.drag,y,ke):b.drawCachedElements(se,ae.drag,y,ke),b.debug&&b.drawDebugPoints(se,ae.drag),!u&&!P&&(C[b.DRAG]=!1)}if(b.showFps||!c&&C[b.SELECT_BOX]&&!u){var se=r||E.contexts[b.SELECT_BOX];if(J(se),b.selection[4]==1&&(b.hoverData.selecting||b.touchData.selecting)){var F=b.cy.zoom(),We=$.core("selection-box-border-width").value/F;se.lineWidth=We,se.fillStyle="rgba("+$.core("selection-box-color").value[0]+","+$.core("selection-box-color").value[1]+","+$.core("selection-box-color").value[2]+","+$.core("selection-box-opacity").value+")",se.fillRect(b.selection[0],b.selection[1],b.selection[2]-b.selection[0],b.selection[3]-b.selection[1]),We>0&&(se.strokeStyle="rgba("+$.core("selection-box-border-color").value[0]+","+$.core("selection-box-border-color").value[1]+","+$.core("selection-box-border-color").value[2]+","+$.core("selection-box-opacity").value+")",se.strokeRect(b.selection[0],b.selection[1],b.selection[2]-b.selection[0],b.selection[3]-b.selection[1]))}if(E.bgActivePosistion&&!b.hoverData.selecting){var F=b.cy.zoom(),$e=E.bgActivePosistion;se.fillStyle="rgba("+$.core("active-bg-color").value[0]+","+$.core("active-bg-color").value[1]+","+$.core("active-bg-color").value[2]+","+$.core("active-bg-opacity").value+")",se.beginPath(),se.arc($e.x,$e.y,$.core("active-bg-size").pfValue/F,0,2*Math.PI),se.fill()}var Ge=b.lastRedrawTime;if(b.showFps&&Ge){Ge=Math.round(Ge);var me=Math.round(1e3/Ge);se.setTransform(1,0,0,1,0,0),se.fillStyle="rgba(255, 0, 0, 0.75)",se.strokeStyle="rgba(255, 0, 0, 0.75)",se.lineWidth=1,se.fillText("1 frame = "+Ge+" ms = "+me+" fps",0,20);var Ve=60;se.strokeRect(0,30,250,20),se.fillRect(0,30,250*Math.min(me/Ve,1),20)}u||(C[b.SELECT_BOX]=!1)}if(P&&N!==1){var Ke=E.contexts[b.NODE],at=b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_NODE],ft=E.contexts[b.DRAG],tn=b.data.bufferCanvases[b.MOTIONBLUR_BUFFER_DRAG],gn=function(ht,Rt,Lt){ht.setTransform(1,0,0,1,0,0),Lt||!B?ht.clearRect(0,0,b.canvasWidth,b.canvasHeight):oe(ht,0,0,b.canvasWidth,b.canvasHeight);var yt=N;ht.drawImage(Rt,0,0,b.canvasWidth*yt,b.canvasHeight*yt,0,0,b.canvasWidth,b.canvasHeight)};(C[b.NODE]||Te[b.NODE])&&(gn(Ke,at,Te[b.NODE]),C[b.NODE]=!1),(C[b.DRAG]||Te[b.DRAG])&&(gn(ft,tn,Te[b.DRAG]),C[b.DRAG]=!1)}b.prevViewport=K,b.clearingMotionBlur&&(b.clearingMotionBlur=!1,b.motionBlurCleared=!0,b.motionBlur=!0),P&&(b.motionBlurTimeout=setTimeout(function(){b.motionBlurTimeout=null,b.clearedForMotionBlur[b.NODE]=!1,b.clearedForMotionBlur[b.DRAG]=!1,b.motionBlur=!1,b.clearingMotionBlur=!T,b.mbFrames=0,C[b.NODE]=!0,C[b.DRAG]=!0,b.redraw()},IQ)),r||k.emit("render")};var Hf={};Hf.drawPolygonPath=function(a,r,u,c,d,g){var b=c/2,y=d/2;a.beginPath&&a.beginPath(),a.moveTo(r+b*g[0],u+y*g[1]);for(var k=1;k0&&b>0){N.clearRect(0,0,g,b),N.globalCompositeOperation="source-over";var D=this.getCachedZSortedEles();if(a.full)N.translate(-c.x1*E,-c.y1*E),N.scale(E,E),this.drawElements(N,D),N.scale(1/E,1/E),N.translate(c.x1*E,c.y1*E);else{var H=r.pan(),_={x:H.x*E,y:H.y*E};E*=r.zoom(),N.translate(_.x,_.y),N.scale(E,E),this.drawElements(N,D),N.scale(1/E,1/E),N.translate(-_.x,-_.y)}a.bg&&(N.globalCompositeOperation="destination-over",N.fillStyle=a.bg,N.rect(0,0,g,b),N.fill())}return P};function MQ(a,r){for(var u=atob(a),c=new ArrayBuffer(u.length),d=new Uint8Array(c),g=0;g"u"?"undefined":ma(OffscreenCanvas))!=="undefined"?u=new OffscreenCanvas(a,r):(u=document.createElement("canvas"),u.width=a,u.height=r),u},[jD,jc,Nl,bS,td,qv,As,Hf,C1,_D].forEach(function(a){en(dr,a)});var RQ=[{name:"null",impl:hD},{name:"base",impl:CD},{name:"canvas",impl:OQ}],BQ=[{type:"layout",extensions:FX},{type:"renderer",extensions:RQ}],$D={},YD={};function FD(a,r,u){var c=u,d=function(ee){pr("Can not register `"+r+"` for `"+a+"` since `"+ee+"` already exists in the prototype and can not be overridden")};if(a==="core"){if(m1.prototype[r])return d(r);m1.prototype[r]=u}else if(a==="collection"){if(no.prototype[r])return d(r);no.prototype[r]=u}else if(a==="layout"){for(var g=function(ee){this.options=ee,u.call(this,ee),ar(this._private)||(this._private={}),this._private.cy=ee.cy,this._private.listeners=[],this.createEmitter()},b=g.prototype=Object.create(u.prototype),y=[],k=0;kt?e:t}function fN(e,t){return e>t?e:t}function ti(e,t){return e>t?e:t}function Xt(e,t){return et?1:0}function TI(e,t){return et?1:0}function py(e){return e!=null?Ko(e):0}function LI(e){this.a=oI(),this.b=e}function PI(e){this.a=oI(),this.b=e}function DI(e){this.a=e,n3.call(this,e)}function jI(){N4(),this.b=new Q9(this)}function Yo(){Yo=c,wT=zte(new B1(", "))}function xo(){xo=c,Ua=new vI,Np=new xI}function _n(){_n=c,QH=new P,mT=new N}function n0(){n0=c,Rk=new WN,yT=new yI}function r0(){r0=c,Bk=new gI,ET=new _I}function rh(){rh=c,u_=new _,c_=new B}function j4(e){e.g=new Se,e.b=new Se}function NI(e){e.a=new mm,e.c=new mm}function N4(){N4=c,MG=new bm,IG=new MM}function II(){qm.call(this,"IS_NULL",2)}function MI(){Z1.call(this,"Head",1)}function OI(){Z1.call(this,"Tail",3)}function I4(e,t){aC.call(this,e,t,null)}function M4(e,t){yh(e,0,e.length,t)}function pg(e,t){return Le(t.a,e.a),e.a}function Fo(e,t){return e.a*=t,e.b*=t,e}function AI(e,t){gr(),this.a=e,this.b=t}function Ite(e,t){return e.a[t.d.k][t.k]}function xa(e,t){return e.a[t.d.k][t.k]}function Mte(e,t){return Ky(e.b,t.mc())}function RI(e,t){return wN(Cae(e.a,t))}function BI(e,t){return wN(xae(e.a,t))}function Or(e,t){return f(Ia(e.a,t),20)}function xe(e,t){return e!=null&&$2(e,t)}function Bc(e){return e.a=t)throw new $j}function Lo(e,t){return vt(e),vt(t),new RM(e,t)}function bs(e,t){return vt(e),vt(t),new BM(e,t)}function une(e,t){return mn(),e.lastIndexOf(t)}function Ny(e,t,n){return e0),e.a.sb(e.c=--e.b)}function C0(e){e.b?C0(e.b):e.d.V()&&Yl(e.f.b,e.e)}function uh(e){if(Na(e.d),e.d.d!=e.c)throw new gd}function _y(e,t){if(t[hl]!=e[hl])throw new gd}function Fl(e,t){return _n(),vt(e),vt(t),new PN(e,t)}function eO(e,t){gr(),hte.call(this,e,W0(new uo(t)))}function v3(e,t,n,i){this.a=e,Ng.call(this,e,t,n,i)}function Fc(e){this.a=Math.cos(e),this.b=Math.sin(e)}function ps(e,t,n){Co.call(this,e),this.b=t,this.a=n}function g3(e){this.b=new Se,this.a=new Se,this.c=e}function qc(e){this.c=new Fr,this.a=new Se,this.b=e}function tO(){tO=c,r_=new LS(!1),i_=new LS(!0)}function Wu(e,t){return++e.d,e.c[e.c.length]=t,!0}function Cg(e,t){mr(e.d,t,e.b.b,e.b),++e.a,e.c=null}function vn(e,t){var n;return n=e.a.db(t,e),n==null}function Gy(e,t){var n;return n=e.slice(0,t),Ig(n,e)}function Ti(e,t){var n;return n=new Array(t),Ig(n,e)}function $y(e,t,n){var i;return i=e.b[t],e.b[t]=n,i}function Sne(e,t){var n;for(n=0;n0?new q4(e-1,t):new q4(e,t)}function rO(e){return vt(e),xe(e,345)?f(e,345):ha(e)}function b3(e,t){return OR(e.a,t,(yn(),Rn))==null}function p3(e,t){var n;return n=e.a.Y(),gre(t,n),n-1-t}function iO(e,t,n){var i;return i=Uu(e,t),iie(e,t,n),i}function G(e,t,n){var i;return i=Fy(e,t),VA(n,i),i}function Fy(e,t){var n;return n=new yC,n.i=e,n.d=t,n}function aO(e,t,n){this.a=e,a2(n,t),this.c=t,this.b=n}function $a(e,t,n){return Pte(n==null||nue(e,n)),e[t]=n}function w3(e){e.a=null,e.e=null,ho(e.b),e.d=0,++e.c}function jne(e){nn.call(this,(mn(),e??Fs))}function Nne(e){nn.call(this,(mn(),e??Fs))}function ql(e){var t;return t=e.f,t||(e.f=new w4(e))}function m3(e){var t;return t=e.k,t||(e.k=new j9(e))}function oO(e){var t;return t=e.e,t||(e.e=new zN(e))}function ch(e){var t;return t=e.e,!t&&(e.e=t=e.gb()),t}function qy(e){var t,n;return t=e.c.f.d,n=e.d.f.d,t==n}function y3(e,t){var n;return n=new jg(e),rC(n,t),n}function jd(e,t){return e.a+=String.fromCharCode(t),e}function Li(e){return!e.a&&e.d?e.d.b:e.a}function Vy(e){return ta(e)?e|0:e.l|e.m<<22}function Ine(e){return hi(e,Zx),vh(Pr(Pr(5,e),e/10|0))}function Kt(e,t){return To(t)?j0(e,t):li(fi(e.d,t))}function Vl(e){return xe(e,19)?f(e,19).Y():s2(e.mb())}function k3(e){return e?new l3((Yo(),e)):cne(null.mb())}function Wl(e,t){return He(e)===He(t)||e!=null&&jo(e,t)}function sO(e,t){return r4(),yr(ge(Ot(e)),ge(Ot(t)))}function uO(e){return On(),Dy(e.a.bb().mb(),(n0(),yT))}function gr(){gr=c,Ta(),db=new Qn((Qt(),Qt(),yc))}function lh(){lh=c,Ta(),ev=new ny((Qt(),Qt(),k5))}function cO(e,t){if(e==null)throw new rg((mn(),t))}function Mne(e,t){return qC(),(e-t<=0?0-(e-t):e-t)<.2}function One(e,t){return e.i.b0?1:0}function Wne(){return Yi(),re(ie(Ufe,1),De,171,0,[Db,rs,Zs])}function Une(){return K0(),re(ie(m_,1),De,166,0,[qk,MT,OT])}function Kne(){return bh(),re(ie(I_,1),De,149,0,[xb,eE,Jk])}function Zne(){return o2(),re(ie(Wfe,1),De,225,0,[lc,_h,fc])}function Xne(){return U0(),re(ie(Qfe,1),De,221,0,[lL,fL,cL])}function Qne(){return _0(),re(ie(_G,1),De,173,0,[DE,JL,QL])}function CO(e,t){return Rg(yne(ta(e)?Qu(e):e,ta(t)?Qu(t):t))}function Jne(e){return e.b==0?null:(ut(e.b!=0),_s(e,e.a.a))}function T3(e){e.d=e.d-15,e.b=e.b-15,e.c=e.c+15,e.a=e.a+15}function L3(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function xO(e,t,n){this.d=e,this.b=new Se,this.c=t,this.a=n}function Qy(e,t){vee(this,new ot(e.a,e.b)),gee(this,ca(t))}function ere(e,t){return t===e?!0:(Na(e),e.d.t(t))}function tre(e){return e==Ro||e==is}function nre(e){Bc(new M(Yg(e.e)))&&(Nfe(e),Iue(e))}function TO(e,t){var n;n=f(X3(e.e,t),116),n&&(e.d=!0)}function P3(e,t){var n;return n=e.b.pb(t),hA(n,e.b.Y()),n}function rre(e){var t;return t=YB(e,(we(),qe)),t+=YB(e,Be),t}function ire(e,t,n){Zg(e,t,n,(we(),Be),e.f),Zg(e,t,n,qe,e.n)}function cn(e,t){e.f&&Tr(e.f.f,e),e.f=t,e.f&&Le(e.f.f,e)}function Ar(e,t){e.d&&Tr(e.d.a,e),e.d=t,e.d&&Le(e.d.a,e)}function kn(e,t){e.d&&Tr(e.d.b,e),e.d=t,e.d&&Le(e.d.b,e)}function Bn(e,t){e.c&&Tr(e.c.e,e),e.c=t,e.c&&Le(e.c.e,e)}function Jy(e){var t;return t=ca(e.b),na(t,e.c),na(t,e.i),t}function are(){U6==256&&(W6=vw,vw={},U6=0),++U6}function Do(){Do=c,dc=new k4(Ud,0),js=new k4(Wd,1)}function Vc(){Vc=c,Xs=new C4(Wd,0),wf=new C4(Ud,1)}function ore(){return Vc(),re(ie(ahe,1),De,223,0,[Xs,wf])}function sre(){return A0(),re(ie(nhe,1),De,242,0,[Rb,Ab])}function ure(){return Do(),re(ie(rhe,1),De,248,0,[dc,js])}function cre(){return fo(),re(ie(ihe,1),De,247,0,[Su,Xa])}function lre(){return Mg(),re(ie(c$,1),De,194,0,[ME,OE])}function fre(){return O0(),re(ie(Z$,1),De,174,0,[QE,w6])}function D3(e){return Qt(),xe(e,63)?new i4(e):new u0(e)}function hre(e){var t;return t=e.g,f(t||(e.g=new TS(e)),20)}function fi(e,t){return HR(e,t,Yne(e,t==null?0:e.b.Vc(t)))}function LO(e){var t;return t=B0(e),"n_"+(t??G1(e.k))}function PO(e){return _1(Od(e))+"@"+(Ko(e)>>>0).toString(16)}function dre(e,t){return ene(Pt((ur(e),e)),Pt((ur(t),t)))}function j0(e,t){return t==null?li(fi(e.d,null)):rI(e.e,t)}function vre(e,t,n){return new O3(e.c,xz(e.b,Nre(e.d,t,n)),e.a)}function Xn(e){return Math.max(Math.min(e,kr),-2147483648)|0}function j3(e){this.e=e,this.b=this.e.a.entries(),this.a=[]}function N3(e){this.c=e,this.b=new ef(new ou(this.c.a).a)}function DO(e){this.b=(_n(),_n(),_n(),QH),this.a=f(vt(e),35)}function Ul(e,t,n){rh(),nt.call(this,e,t),n!=null&&(this.c=n)}function jO(e,t,n){if(e<0||tn)throw new _o(Hse(e,t,n))}function gre(e,t){if(e<0||e>=t)throw new _o(Gse(e,t));return e}function e2(e,t){if(e==null)throw new rg((mn(),t));return e}function Et(e){if(!xt(e))throw new sa;return e.c=e.b,e.b.H()}function bre(e){function t(){}return t.prototype=e||{},new t}function NO(e){var t;return t=new Gm(y2(e.length)),Bg(t,e),t}function IO(e){var t;t=e.c.b.b,e.b=t,e.a=e.c.b,t.a=e.c.b.b=e}function I3(e){this.b=null,!e&&(e=(Hl(),Hl(),Cf)),this.a=e}function M3(e){this.b=e,this.a=new fn(this.b,this.b.c.length)}function MO(e){return gr(),vt(e),D8(e||v0(new M(null)))}function pre(e,t){var n=zk[e.charCodeAt(0)];return n??e}function OO(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.Oc(t))}function AO(e,t,n){var i;_C(t,n,e.c.length),i=n-t,o4(e.c,t,i)}function O3(e,t,n){LN.call(this,t.a),this.c=e,this.b=t,this.a=n}function t2(e){return e0(e.c),e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function RO(e){return e0(e.e),e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function Di(e){return ln(re(ie(_t,1),Ht,10,0,[e.f.i,e.i,e.a]))}function wre(){return Es(),re(ie(d_,1),De,107,0,[Gk,gb,dl,Ih])}function mre(){return du(),re(ie(g_,1),De,122,0,[Yk,LT,ff,$k])}function yre(){return Eh(),re(ie(oE,1),De,139,0,[Pb,aE,iE,rE])}function kre(){return gu(),re(ie(iv,1),De,150,0,[nE,Lb,tE,Tb])}function Ere(){return C3(),re(ie(jp,1),De,136,0,[ZH,KH,bT,XH])}function Sre(){return Ag(),re(ie(Zfe,1),De,201,0,[hc,ml,wl,bf])}function Cre(){return we(),re(ie(Mr,1),De,32,0,[fr,rt,Be,ct,qe])}function xre(){return $n(),re(ie(vb,1),De,59,0,[Mo,Vi,Oa,Ps,Ks])}function BO(){BO=c,BG=Rr((D0(),re(ie(RG,1),De,193,0,[PE,XL])))}function zO(){zO=c,DG=Rr((R0(),re(ie(PG,1),De,175,0,[FL,LE])))}function HO(){HO=c,ZG=Rr((Pg(),re(ie(KG,1),De,192,0,[NE,jE])))}function Tre(){return ks(),re(ie(she,1),De,140,0,[aw,kf,$h])}function Lre(){return ph(),re(ie(ohe,1),De,218,0,[a6,tw,Bb])}function Pre(){return cr(),re(ie(uhe,1),De,219,0,[o5,Ri,ai])}function Dre(){return Q0(),re(ie(iY,1),De,153,0,[H6,y5,_6])}function jre(){return hu(),re(ie(oY,1),De,172,0,[pv,$b,dw])}function N0(e,t,n){return t==null?ra(e.d,null,n):I2(e.e,t,n)}function Nre(e,t,n){return new fp(e,!1,null,(xo(),Ua),!0,t,n)}function A3(e,t){return UM(e.a,t)?$y(e,f(t,17).e,null):null}function I0(e){return vt(e),BC((_n(),new Go($o(bs(e.a,new T)))))}function Ire(e){return Qt(),e?new hj(e):(KN(),fY)}function _O(e,t){var n,i;return i=sh(e,t),n=e.a.ub(i),new IN(e,n)}function Mre(e,t){var n,i;for(i=e.Y(),n=0;nt)throw new _o(ex(e,t,"index"));return e}function Qre(e,t){var n;return Na(e),n=e.d.nb(t),n&&(--e.f.c,C0(e)),n}function Dg(e,t,n){var i;i=(vt(e),new Fu((Yo(),e))),Boe(new JO(i,t,n))}function Jre(e,t){return Ky((mn(),e.toLowerCase()),t.toLowerCase())}function eie(e,t){return Ky((mn(),e.toLowerCase()),t.toLowerCase())}function tie(){return Q3(),re(ie(S5,1),De,138,0,[V6,dY,vY,gY])}function nie(e,t,n,i){Array.prototype.splice.apply(e,[t,n].concat(i))}function mr(e,t,n,i){var s;s=new mm,s.c=t,s.b=n,s.a=i,i.b=n.a=s,++e.b}function z3(e,t){var n;return n=D3(v0(new l2(e,t))),S0(new l2(e,t)),n}function rie(e,t,n){if(n){var i=n.gc();e.a[t]=i(n)}else delete e.a[t]}function iie(e,t,n){if(n){var i=n.gc();n=i(n)}else n=void 0;e.a[t]=n}function jg(e){this.d=e.d,this.c=e.c,this.a=e.a,this.b=e.b}function nA(){this.g=new GS,this.c=new GS,this.a=new Se,this.k=new Se}function rA(){this.d=new fO,this.a=new JI,this.c=new sI,this.b=new b9}function H3(){this.i=new Se,this.g=new Fr,this.n=new t3,this.q=new t3}function iA(e,t,n,i){this.e=e,this.b=new Se,this.d=t,this.a=n,this.c=i}function Id(){Id=c,pG=new pe,wG=new he,gG=new de,bG=new ke,mG=new Pe}function o2(){o2=c,lc=new Zm(Wd,0),_h=new Zm(Cp,1),fc=new Zm(Ud,2)}function aA(){aA=c,v_=Rr((Es(),re(ie(d_,1),De,107,0,[Gk,gb,dl,Ih])))}function oA(){oA=c,b_=Rr((du(),re(ie(g_,1),De,122,0,[Yk,LT,ff,$k])))}function sA(){sA=c,R_=Rr((Eh(),re(ie(oE,1),De,139,0,[Pb,aE,iE,rE])))}function uA(){uA=c,A_=Rr((gu(),re(ie(iv,1),De,150,0,[nE,Lb,tE,Tb])))}function cA(){cA=c,l$=Rr((Mg(),re(ie(c$,1),De,194,0,[ME,OE])))}function lA(){lA=c,X$=Rr((O0(),re(ie(Z$,1),De,174,0,[QE,w6])))}function Wc(e){return vt(e),xe(e,19)?new Fu((Yo(),f(e,19))):v0(e.mb())}function aie(e){return Pt(ge(Nt(z(e,(le(),wc)))))&&z(e,lt)!=null}function oie(e){return Pt(ge(Nt(z(e,(le(),wc)))))&&z(e,lt)!=null}function fA(e,t,n,i){t==null&&(t=Fs),e.a+=""+(mn(),t.substr(n,i-n))}function hA(e,t){var n;for(n=0;n>22&Wa,i=e<0?ic:0,qu(t,n,i)}function fie(){return rp(),re(ie(a$,1),De,141,0,[r6,e6,t6,IE,n6])}function hie(){return ap(),re(ie(F$,1),De,115,0,[nw,$E,FE,YE,qE])}function die(){return Fi(),re(ie(tY,1),De,85,0,[Sf,_b,mc,dv,Pu])}function bA(){bA=c,h_=Rr(($n(),re(ie(vb,1),De,59,0,[Mo,Vi,Oa,Ps,Ks])))}function pA(){pA=c,O_=Rr((we(),re(ie(Mr,1),De,32,0,[fr,rt,Be,ct,qe])))}function wA(){wA=c,D_=Rr((ec(),re(ie(UT,1),De,100,0,[df,Ds,qT,VT,WT])))}function mA(){mA=c,QG=bi(Pa(Pa(Pa(pi(new An,(jr(),SE)),IL),bL),kE),EE)}function yA(e,t){var n,i;for(i=t.mb();i.G();)n=f(i.H(),55),dz(e,n,0,0)}function ys(e,t,n){var i,s;for(s=e.mb();s.G();)i=f(s.H(),55),tb(i,t,n)}function $3(e,t,n){var i,s;for(i=0,s=0;st)throw new _o("Index: "+e+", Size: "+t)}function Sn(e,t){if(e<0||e>=t)throw new _o("Index: "+e+", Size: "+t)}function EA(e,t){var n,i;return n=t.yb(),i=kC(e,n),!!i&&la(i.e,t.zb())}function gie(e,t){var n;return n=e.d,t>0?f(_e(n.a,t-1),9):null}function ve(e,t,n,i,s,l){var h;return h=H8(s,i),s!=9&&re(ie(e,l),t,n,s,h),h}function Xl(e){var t;if(!Ku(e))throw new sa;return e.d=1,t=e.c,e.c=null,t}function Ng(e,t,n,i){this.f=e,this.e=t,this.d=n,this.b=i,this.c=i?i.d:null}function bie(e,t){if(e&&typeof e==mp)try{e.__gwt$exception=t}catch{}}function pie(e,t){e.a.$b(t.d,e.b)>0&&(Le(e.c,new Q4(t.c,t.d,e.d)),e.b=t.d)}function wie(e,t){var n;return n=yr(e.j,t.j),n==0?yr(e.k,t.k):n}function Y3(e){var t,n;return n=f(_e(e.f,0),7),t=f(z(n,(le(),lt)),7),t}function u2(e){var t,n;return n=f(_e(e.f,0),7),t=f(z(n,(le(),lt)),7),t}function mie(e,t){return yr(ge(Ot(z(e,(le(),Lu)))),ge(Ot(z(t,Lu))))}function SA(){SA=c,aY=Rr((Q0(),re(ie(iY,1),De,153,0,[H6,y5,_6])))}function CA(){CA=c,sY=Rr((hu(),re(ie(oY,1),De,172,0,[pv,$b,dw])))}function xA(){xA=c,f_=Rr((Zo(),re(ie(l_,1),De,103,0,[_k,Rp,Bp,zp,Op,Ap])))}function TA(){TA=c,w_=Rr((cp(),re(ie(p_,1),De,133,0,[Fk,jT,IT,PT,NT,DT])))}function LA(){LA=c,N_=Rr((zn(),re(ie(j_,1),De,28,0,[cc,Ao,Cb,Ah,ts,ii])))}function PA(){PA=c,NG=Rr((Yd(),re(ie(jG,1),De,125,0,[Ob,VL,KL,UL,WL,qL])))}function yie(){return rl(),re(ie(TG,1),De,109,0,[Zp,Ib,Mb,GL,$L,_L,YL,Xp])}function kie(){return pu(),re(ie(Ln,1),De,41,0,[Wi,Ka,Ki,ba,ga,va,Ei,Zi,Ui])}function Eie(){return Gd(),re(ie(GE,1),De,123,0,[_E,HE,zE,RE,AE,BE])}function Sie(){return Vg(),re(ie(V$,1),De,124,0,[WE,s6,c6,o6,u6,VE])}function F3(){F3=c,TT=new nt("de.cau.cs.kieler.labels.labelManager",null)}function Cie(){return Date.now?Date.now():new Date().getTime()}function xie(e){var t;return t=f(Gy(e.b,e.b.length),11),new ri(e.a,t,e.c)}function Tie(e,t){var n;return n=(mn(),t.length),Ho(Pd(e,e.length-n,n),t)}function DA(e,t){var n;return n=new ym,n.c=!0,n.d=t.zb(),$z(e,t.yb(),n)}function Lie(e,t){var n;return n=t.yb(),On(),new c4(n,S8(e.b,n,f(t.zb(),19)))}function Tr(e,t){var n;return n=ji(e,t,0),n==-1?!1:(e.vb(n),!0)}function Ig(e,t){return J3(t)!=9&&re(Od(t),t._c,t.__elementTypeId$,J3(t),e),e}function q3(e){return _y(e.c.a.c,e),ut(e.b!=e.c.a.b),e.a=e.b,e.b=e.b.a,e.a}function V3(e){_l(!!e.c),_y(e.e,e),e.c.I(),e.c=null,e.b=fC(e),B4(e.e,e)}function Pie(e,t,n){e.a=t,e.c=n,e.b.a.Q(),Hs(e.d),e.e.a.c=ve(Ze,Me,1,0,4,1)}function jA(e,t,n){XS.call(this,iR(vt(e),vt(t))),this.b=e,this.c=t,this.a=n}function NA(e,t,n,i){this.b=new rj(this),this.a=e,this.c=t,this.e=n,this.d=i}function IA(e){BR.call(this,e,0),rM(this),this.b.b=this.b,this.b.a=this.b}function c2(e,t){Q1.call(this,e,t),this.a=ve(hhe,Me,183,2,0,1),this.b=!0}function dh(e,t){return To(t)?t==null?!!fi(e.d,null):gne(e.e,t):!!fi(e.d,t)}function W3(e,t){return bd(),(e-t>0?e-t:-(e-t))<=ob||e==t||isNaN(e)&&isNaN(t)}function MA(e,t){return bd(),(e-t>0?e-t:-(e-t))<=ob||e==t||isNaN(e)&&isNaN(t)}function U3(e){var t,n;t=!0;do t?n=n8(e):n=u8(e),t=!t;while(n);hC(e,e.d)}function ja(e,t,n){var i;if(t==null)throw new vd;return i=Mn(e,t),rie(e,t,n),i}function ce(e,t,n){return!e.n&&(e.n=new $t),n==null?Yl(e.n,t):un(e.n,t,n),e}function ji(e,t,n){for(;n=e.a.c.length;)Le(e.a,new Ur);return f(_e(e.a,t),20)}function jie(e,t){var n;return n=f(Gg(e.a,t),19),n?S8(e.b,t,n):null}function Nie(e,t,n){var i;i=Mn(e,yk),i||(i=new Al,ja(e,yk,i)),ja(i.kc(),t,n)}function At(e,t,n,i,s){var l;return l=Fy(e,t),VA(n,l),l.g=s?8:0,l.f=i,l.e=s,l}function l2(e,t){var n;this.f=e,this.b=t,n=f(Kt(e.b,t),126),this.c=n?n.b:null}function K3(e,t){var n,i,s;for(i=0,s=t.length;i0&&(i+=vfe(t)),e.b[n]&&(i+=Efe(t)),i}function X3(e,t){var n;return n=f(Yl(e.c,t),176),n?(s3(n),n.e):null}function vh(e){return T2(e,kr)>0?kr:T2(e,qs)<0?qs:Vy(e)}function Iie(e){return Yo(),hi(e,"size"),Vy(ste(UR(e,8),Ux)?UR(e,8):Ux),new Hm}function f2(e){rne.call(this,(mn(),e==null?Fs:ha(e)),xe(e,46)?f(e,46):null)}function Ni(e){gy(this),u3(e>=0,"Initial capacity must not be negative")}function AA(){AA=c,uG=Sg(Pa(Pa(new An,(jr(),PL)),SL),xL),cG=pi(new An,CL)}function fa(){fa=c,uL=new $e,sL=new Ge,dE=new me,hE=new Ve,vE=new Ke,gE=new at}function Q3(){Q3=c,V6=new Z1("All",0),dY=new MI,vY=new HI,gY=new OI}function _0(){_0=c,DE=new Jm(RH,0),JL=new Jm("LONGEST_PATH",1),QL=new Jm(Tk,2)}function G0(){G0=c,o_=qu(Wa,Wa,524287),s_=qu(0,0,524288),G3(1),G3(2),xT=G3(0)}function RA(){RA=c,LG=Rr((rl(),re(ie(TG,1),De,109,0,[Zp,Ib,Mb,GL,$L,_L,YL,Xp])))}function BA(){BA=c,o$=Rr((rp(),re(ie(a$,1),De,141,0,[r6,e6,t6,IE,n6])))}function zA(){zA=c,q$=Rr((ap(),re(ie(F$,1),De,115,0,[nw,$E,FE,YE,qE])))}function HA(){HA=c,nY=Rr((Fi(),re(ie(tY,1),De,85,0,[Sf,_b,mc,dv,Pu])))}function _A(e){UC(),_te(this,Vy(CO(Rg(rue(ta(e)?Qu(e):e,24)),dT)),Vy(CO(e,dT)))}function Od(e){return To(e)?Ok:ih(e)?Yb:ah(e)?che:zy(e)||Oy(e)?e.$c:e.$c||Vfe}function J3(e){return e.__elementTypeCategory$==null?9:e.__elementTypeCategory$}function Mie(e){var t,n;if(e.a){n=null;do t=e.a,e.a=null,n=cB(t,n);while(e.a);e.a=n}}function Oie(e){var t,n;if(e.b){n=null;do t=e.b,e.b=null,n=cB(t,n);while(e.b);e.b=n}}function gh(e){ZN();var t,n;for(n=eT,t=0;tn&&(n=e[t]);return n}function $0(e,t){var n;return n=f(Kt(e.b,t),106),n||(n=t.rc(),un(e.b,t,n)),n}function h2(e,t){var n;return n=f(Kt(e.c,t),176),n?(WI(e,n),n.e):null}function GA(e,t,n,i){var s;s=f(h2(e.e,t),116),s.b+=n,s.a+=i,$g(e.e,t,s),e.d=!0}function $A(e){var t;for(++e.a,t=e.c.a.length;e.a"+e.d.f+"("+e.d+")":"e_"+su(e)}function Hie(e,t){return Ag(),e==hc&&t==ml||e==ml&&t==hc||e==bf&&t==wl||e==wl&&t==bf}function _ie(e,t){return Ag(),e==hc&&t==wl||e==hc&&t==bf||e==ml&&t==bf||e==ml&&t==wl}function Gie(){return nb(),re(ie(U$,1),De,110,0,[h6,XE,d6,b6,v6,p6,g6,ZE])}function FA(){FA=c,P_=Rr((pu(),re(ie(Ln,1),De,41,0,[Wi,Ka,Ki,ba,ga,va,Ei,Zi,Ui])))}function bh(){bh=c,xb=new Km("OUTSIDE",0),eE=new Km("INSIDE",1),Jk=new Km("FIXED",2)}function ks(){ks=c,aw=new oy(Kd,0),kf=new oy("TOP",1),$h=new oy("BOTTOM",2)}function Mg(){Mg=c,ME=new S4("CLASSIC",0),OE=new S4("IMPROVE_STRAIGHTNESS",1)}function nC(){this.e=new Fr,this.a=new yO,this.d=new Fr,this.b=new Se,this.c=new Se}function Y0(e,t,n){this.b=t,this.a=e,this.c=n,Le(this.a.e,this),Le(this.b.b,this)}function rC(e,t){e.d=Xt(e.d,t.d),e.c=je(e.c,t.c),e.a=je(e.a,t.a),e.b=Xt(e.b,t.b)}function _s(e,t){var n;return n=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--e.b,n}function b2(e,t){_n();var n;for(vt(e),vt(t),n=!1;t.G();)n=n|e.ib(t.H());return n}function Rd(e){var t;return _y(e.e,e),ut(e.b),e.c=e.a,t=f(e.a.H(),21),e.b=fC(e),t}function $ie(e){for(var t;e.b.G();)if(t=e.b.H(),e.a.D(t))return t;return e.d=2,null}function Yie(e,t){return t&&e.b[t.e]==t?($a(e.b,t.e,null),--e.c,!0):!1}function Fie(e){return wk0&&e.c0&&e.e!=0&&eR(e.g,t/e.j*e.g.d))}function tR(e){return e.b.d.f.g==(et(),Cn)?f(z(e.b.d.f,(le(),lt)),7):e.b.d}function Xie(e){return e.b.c.f.g==(et(),Cn)?f(z(e.b.c.f,(le(),lt)),7):e.b.c}function Ku(e){switch(J1(e.d!=3),e.d){case 2:return!1;case 0:return!0}return lie(e)}function nR(e){switch(e.e){case 2:return we(),qe;case 4:return we(),Be;default:return e}}function rR(e){switch(e.e){case 1:return we(),ct;case 3:return we(),rt;default:return e}}function Qie(e){var t;return xe(e,90)?(t=f(e,90),new QS(t.a)):(_n(),new Sm(e))}function iR(e,t){Qt();var n;return n=new ty(1),To(e)?N0(n,e,t):ra(n.d,e,t),new MS(n)}function aR(e,t){return e.g?(e.g=aR(e.g,t),--e.a,e.j=Ju(e.j,t.c),bu(e)):e.e}function oR(e,t){return e.e?(e.e=oR(e.e,t),--e.a,e.j=Ju(e.j,t.c),bu(e)):e.g}function na(e,t){var n,i,s;for(ur(t),n=!1,s=t.mb();s.G();)i=s.H(),n=n|e.ib(i);return n}function Jie(e){var t,n,i;for(t=0,i=e.mb();i.G();)n=i.H(),t+=n!=null?Ko(n):0,t=~~t;return t}function eae(e){var t,n,i,s;for(n=e.a,i=0,s=n.length;i0?1:i<0?-1:0)}function fR(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new Se,Yse(this),Qt(),Fa(this.a,null)}function q0(e,t){th(t>0),this.b=e,this.c=t,this.j=t,this.a=1,this.d=1,this.e=null,this.g=null}function nae(e){e.a=null,e.e=null,e.b.c=ve(Ze,Me,1,0,4,1),e.f.c=ve(Ze,Me,1,0,4,1),e.c=null}function rae(){return br(),re(ie(f6,1),De,113,0,[UE,os,rw,KE,mf,yf,iw,sv,uv,l6])}function iae(e){return rf(e,26)*14901161193847656e-24+rf(e,27)*11102230246251565e-32}function w2(e){return xe(e,87)?Nd(f(e,87)):xe(e,88)?f(e,88).a:xe(e,63)?new ng(e):new md(e)}function hR(e){var t;return t=f(z(e,(le(),_r)),32),e.g==(et(),Cn)&&(t==(we(),qe)||t==Be)}function dR(e,t){return Koe(e,t)?(pt(e.a,f(z(t,(le(),Ef)),18),t),!0):!1}function Lr(e,t){var n;if(t)for(n=0;n<6;n++)f(_e(e.a,n),18).jb(f(_e(t.a,n),19));return e}function Ql(e,t){var n;return e.b?null:(n=Dne(e.e,e.f),an(e.a,n),n.g=e,e.d=t,n)}function Zu(e,t){var n,i;for(i=Jt(e,0);i.b!=i.d.c;)n=f(qt(i),10),n.a+=t.a,n.b+=t.b;return e}function uC(e,t){var n,i;for(n=0;n0?e.g?lC(e.g,t,n):0:e.c}function oae(e,t){var n,i;return e.b?(i=e.e,n=e.a.$b(t,i),n<0|n==0&e.d==(xo(),Ua)):!1}function gR(e,t){var n,i;return e.c?(i=e.g,n=e.a.$b(t,i),n>0|n==0&e.f==(xo(),Ua)):!1}function Rg(e){var t;return t=e.h,t==0?e.l+e.m*of:t==ic?e.l+e.m*of-ac:e}function ln(e){var t,n,i,s;for(t=new Fr,i=0,s=e.length;i=s;l--)e[l+1]=e[l];e[s]=i}function yR(e,t,n,i){var s,l;for(s=hoe(e,t,n,i),s<0&&(s=-s-1),l=n-1;l>=s;l--)e[l+1]=e[l];e[s]=i}function Xu(e,t){var n,i;for(ur(t),i=t.mb();i.G();)if(n=i.H(),!e.kb(n))return!1;return!0}function fae(e,t){_n();var n;for(vt(t);e.G();)if(n=e.H(),!hR(f(n,9)))return!1;return!0}function hae(e,t){var n,i,s;return n=t.k-e.k,n==0?(i=e.e.a*e.e.b,s=t.e.a*t.e.b,yr(i,s)):n}function Qu(e){var t,n,i,s;return s=e,i=0,s<0&&(s+=ac,i=ic),n=Xn(s/of),t=Xn(s-n*of),qu(t,n,i)}function m2(e,t){return e.c.c=ve(Ze,Me,1,0,4,1),rB(e,e.e,t),rB(e,e.a,t),Qt(),Fa(e.c,null),Eae(e)}function kR(e,t,n){e.g=Z2(e,t,(we(),Be),e.b),e.d=Z2(e,n,Be,e.b),!(e.g.c==0||e.d.c==0)&&X8(e)}function ER(e,t,n){e.g=Z2(e,t,(we(),qe),e.j),e.d=Z2(e,n,qe,e.j),!(e.g.c==0||e.d.c==0)&&X8(e)}function SR(e,t,n){return new Ya(Xt(e.a,t.a)-n/2,Xt(e.b,t.b)-n/2,ni(e.a-t.a)+n,ni(e.b-t.b)+n)}function fC(e){return e.a.G()?!0:e.a!=e.d?!1:(e.a=new j3(e.e.d),e.a.G())}function Tn(e,t){var n,i;return n=t.ob(),i=n.length,i==0?!1:(i3(e.c,e.c.length,n),!0)}function hC(e,t){var n,i;for(n=0;n0;s--)l=s-1,n=n|v8(e,t,l,s);return n}function bae(e,t){var n,i,s,l;for(n=!1,i=e.d[t].length,l=0;l>22),s=e.h+t.h+(i>>22),qu(n&Wa,i&Wa,s&ic)}function wae(e,t){var n,i,s;return n=e.l-t.l,i=e.m-t.m+(n>>22),s=e.h-t.h+(i>>22),qu(n&Wa,i&Wa,s&ic)}function LR(e,t){var n;for(n=0;n<(mn(),t.length);n++)if(e==t.charCodeAt(n))return!0;return!1}function PR(e,t){var n;for(n=0;n<(mn(),t.length);n++)if(e==t.charCodeAt(n))return!0;return!1}function z(e,t){var n,i;return e.n&&(i=Kt(e.n,t),i!=null)?i:(n=vle(t),xe(n,5)&&ce(e,t,n),n)}function S2(e){var t,n,i;for(t=new xi,i=Jt(e,0);i.b!=i.d.c;)n=f(qt(i),10),s0(t,0,new qn(n));return t}function DR(e,t,n){var i,s,l,h;for(h=new _c(t,n),l=0,s=il(h);s.G();)i=f(s.H(),7),un(e.c,i,gt(l++))}function mae(e,t,n){if(vt(t),n.G())for(Rc(t,e.C(n.H()));n.G();)Rc(t,e.c),Rc(t,e.C(n.H()));return t}function yae(e,t,n,i,s){i?Qoe(e,t):(Joe(e,t,s),$le(e,t,n)),t.c.length>1&&(Fa(t,e.b),cce(e.c,t))}function re(e,t,n,i,s){return s.$c=e,s._c=t,s.ad=u,s.__elementTypeId$=n,s.__elementTypeCategory$=i,s}function zg(e,t,n){switch(n.e){case 2:e.b=t;break;case 1:e.c=t;break;case 4:e.d=t;break;case 3:e.a=t}}function jR(e,t,n){var i,s;return s=Y3(n).g,i=$R(e,t,s).a,i-Wee(f(Kt(e.c,t),24).a-f(Kt(e.c,n),24).a)}function yr(e,t){return et?1:e==t?0:isNaN(e)?isNaN(t)?0:1:-1}function W0(e){switch(e.Y()){case 0:return db;case 1:return new fu(e.mb().H());default:return new Qn(e)}}function Bd(){Bd=c;var e,t;t=!(Error.stackTraceLimit||"stack"in new Error),e=new h9,vT=t?new b:e}function bC(){bC=c,KT=new nt("intCoordinates",(yn(),yn(),Rn)),ZT=new Zn("jsonObject"),uE=new ot(0,0)}function U0(){U0=c,lL=new Qm("MIRROR_X",0),fL=new Qm("TRANSPOSE",1),cL=new Qm("MIRROR_AND_TRANSPOSE",2)}function ph(){ph=c,a6=new ay(Kd,0),tw=new ay("INCOMING_ONLY",1),Bb=new ay("OUTGOING_ONLY",2)}function pC(){return wi(),re(ie(ov,1),De,60,0,[Ns,vc,Cu,xu,as,pc,bc,Ro,is,gc,Tu,kl,pf])}function NR(){NR=c;var e,t,n,i;for(yl=new DC(ov),t=pC(),n=0,i=t.length;n0)return b0(t-1,e.a.c.length),Zl(e.a,t-1);throw new Hj}function RR(e){e.b.c.length-e.e.c.length<0?(Bt(e,(we(),Be)),e.a.a=e.j.a):(Bt(e,(we(),qe)),e.a.a=0)}function BR(e,t){u3(e>=0,"Negative initial capacity"),u3(t>=0,"Non-positive load factor"),ho(this)}function ef(e){var t;this.e=e,this.d=new _3(this.e.e),this.a=this.d,this.b=fC(this),t=e[hl],this[hl]=t}function yC(){this.n=null,this.j=null,this.i=null,this.d=null,this.b=null,this.k=null,this.a=null}function x2(e){var t,n,i,s;for(s=1,n=0,i=e.length;n=0?s=s.a[1]:(i=s,s=s.a[0]);return i}function xae(e,t){var n,i,s;for(i=null,s=e.b;s;)n=e.a.$b(t,s.d),n<=0?s=s.a[0]:(i=s,s=s.a[1]);return i}function Tae(e,t,n,i){var s,l;for(l=e.mb();l.G();)s=f(l.H(),33),s.i.a=t.a+(i.a-s.j.a)/2,s.i.b=t.b,t.b+=s.j.b+n}function FR(e,t){var n;e.c.length!=0&&(n=f(Vn(e,ve(Er,Ii,9,e.c.length,0,1)),51),M4(n,new sr),Z8(n,t))}function qR(e,t){var n;e.c.length!=0&&(n=f(Vn(e,ve(Er,Ii,9,e.c.length,0,1)),51),M4(n,new Qe),Z8(n,t))}function VR(e){var t,n;return t=e.g,t==(et(),Cn)?(n=f(z(e,(le(),_r)),32),n==(we(),rt)||n==ct):!1}function Br(e,t){var n;return ur(t),n=e[":"+t],KM(!!n,"Enum constant undefined: %s",re(ie(Ze,1),Me,1,4,[t])),n}function Lae(e,t,n){if(!e)throw new nn(Jg("lowerEndpoint (%s) > upperEndpoint (%s)",re(ie(Ze,1),Me,1,4,[t,n])))}function SC(e){throw k2(),new qj("Unexpected typeof result '"+e+"'; please report this bug to the GWT team")}function P2(e){switch(e.e){case 1:return ct;case 2:return qe;case 3:return rt;case 4:return Be;default:return fr}}function WR(e){switch(e.e){case 2:return Vi;case 1:return Oa;case 4:return Ps;case 3:return Ks;default:return Mo}}function Pae(e){return e>=48&&e<58?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function Dae(e,t){var n,i;for(i=uO(oO(e.P()));i.b.G();)if(n=f(lN(i,i.b.H()),19),n.kb(t))return!0;return!1}function jae(e){var t;if(!xR(e))throw new sa;return t=new ON(e.c,e.a),e.b=t,e.a.i==e.c.a?e.a=null:e.a=e.a.i,t}function Nae(e,t){On();var n;return e===t?!0:xe(t,57)?(n=f(t,57),dB(Yc(e),n.bb())):!1}function Iae(e,t,n,i){return Ff(),hi(n,"oldCount"),hi(i,"newCount"),e.Cb(t)==n?(e.Gb(t,i),!0):!1}function Mae(e,t,n,i,s){return vt(n),vt(s),vre(new O3(e.c,xz(e.b,new fp(e.d,!0,t,n,!1,null,(xo(),Ua))),e.a),i,s)}function CC(e){switch(Ta(),e.Y()){case 0:return lh(),ev;case 1:return new Gu(e.mb().H());default:return new ny(e)}}function Pr(e,t){var n;return ta(e)&&ta(t)&&(n=e+t,wk=i||tn));)s>=t&&++i;return i}function Bae(e,t,n){var i,s,l,h;for(ur(n),h=!1,l=Jt(e,t),s=Jt(n,0);s.b!=s.d.c;)i=qt(s),Cg(l,i),h=!0;return h}function zae(e,t){var n,i,s;return t.V()?!1:(s=e.Y(),n=e.d.jb(t),n&&(i=e.d.Y(),e.f.c+=i-s,s==0&&d0(e)),n)}function vu(e,t){var n;return t&&(n=t.n?t.n:(Qt(),Qt(),Y6),n.V()||(e.n?lR(e.n,n):e.n=new hI(n))),e}function JR(e,t,n){var i;try{mae(e,t,n)}catch(s){throw s=Kr(s),xe(s,181)?(i=s,new f2(i)):Zr(s)}return t}function Hae(e,t,n){var i;try{qse(e,t,n)}catch(s){throw s=Kr(s),xe(s,181)?(i=s,new f2(i)):Zr(s)}return t}function Zr(e){var t;return xe(e,164)&&(t=f(e,164),He(t.b)!==He((qS(),Dp)))?He(t.b)===He(Dp)?null:t.b:e}function wh(e,t){var n;for(n=f(z(Li(e),(le(),Cl)),9);n;){if(n==t)return!0;n=f(z(Li(n),Cl),9)}return!1}function _ae(e){switch(f(z(e,(le(),Qs)),140).e){case 1:ce(e,Qs,(ks(),$h));break;case 2:ce(e,Qs,(ks(),kf))}}function Uo(e){switch(Ta(),e.c){case 0:return lh(),ev;case 1:return new Gu(hB(new eh(e)));default:return new Fj(e)}}function lr(e){gr();var t,n;for(t=0,n=e.length;t-129&&e<128?(t=e+128,n=(qM(),G6)[t],!n&&(n=G6[t]=new jS(e)),n):new jS(e)}function xC(e){var t,n;for(t=V2(e.b,e.d),n=kr;n>t;){if(hC(e,e.d),t==0){n=0;break}n8(e),u8(e),n=t,t=V2(e.b,e.d)}e.c=n}function e8(){UC();var e,t,n;n=fhe+++Cie(),e=Xn(Math.floor(n*Lk))&dT,t=Xn(n-e*hT),this.a=e^1502,this.b=t^jk}function Ko(e){return To(e)?G2(e):ih(e)?Xn((ur(e),e)):ah(e)?Pt((ur(e),e))?1231:1237:zy(e)?e.v():(Oy(e),su(e))}function qae(e,t,n){var i,s,l;s=new O8,s.d=n,i=gse(s,t),l=new rA,Pt(ge(Nt(z(i,iL))))?Zie(l,i,new f0):Ez(e,l,i),eH(s,i)}function t8(e,t,n,i){var s,l,h,v;for(v=new _c(t,i),h=0,l=il(v);l.G();)s=f(l.H(),7),un(e.i,s,gt(h++));un(n,t,gt(h))}function Vae(e,t){var n,i,s,l,h;for(n=0,h=0,s=0,l=t.length;s=1?Vi:Ps):n}function xt(e){if(vt(e.b),e.b.G())return!0;for(;e.a.G();)if(vt(e.b=e.Wb(e.a.H())),e.b.G())return!0;return!1}function tf(e){return(e.d!=e.c.d||e.i!=e.g.d)&&(e.a.c=ve(Ze,Me,1,0,4,1),Tn(e.a,e.c),Tn(e.a,e.g),e.d=e.c.d,e.i=e.g.d),e.a}function Na(e){var t;if(e.b){if(Na(e.b),e.b.d!=e.c)throw new gd}else e.d.V()&&(t=f(Kt(e.f.b,e.e),19),t&&(e.d=t))}function TC(e,t,n,i,s){var l,h,v,p;for(p=H0(e),yae(t,p,i,s,n),l=0,v=new M(p);v.at){Tg(n);break}}Cg(n,t)}function I2(e,t,n){var i;return i=_m(e.a,t),Xee(e.a,t,n===void 0?null:n),i===void 0?(++e.c,Ly(e.b)):++e.d,i}function M2(e,t,n){return(t-e<=0?0-(t-e):t-e)oc?e-n>oc:n-e>oc}function i8(e){switch(e.e){case 0:return $E;case 1:return nw;case 2:return YE;case 3:return FE;default:return qE}}function LC(e,t){switch(t.e){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function Z0(e){switch(we(),e.e){case 4:return rt;case 1:return Be;case 3:return ct;case 2:return qe;default:return fr}}function O2(e,t){if(t==e.c)return e.d;if(t==e.d)return e.c;throw new nn("Node "+t+" not part of edge "+e)}function Qae(e,t){var n;return qo(e.a,t)?f(qo(e.a,t)?e.b[t.e]:null,62):(n=new Sj,di(e.a,t),$y(e,t.e,n),n)}function a8(e,t){var n,i,s,l;for(l=e.g.tb(),n=0;l.G();){if(i=ge(Ot(l.H())),s=i-t,s>fl)return n;s>Lp&&++n}return n}function X0(e){var t,n,i,s;return n=(t=f(Gi((i=e.$c,s=i.f,s==on?i:s)),11),new ri(t,f(Ti(t,t.length),11),0)),di(n,e),n}function A2(e,t){var n,i;for(i=new M(t);i.at&&i.$b(e[l-1],e[l])>0;--l)h=e[l],$a(e,l,e[l-1]),$a(e,l-1,h)}function eoe(e){var t,n;if(!gs(f(z(e,(Ee(),dt)),28)))for(n=new M(e.f);n.a %s",re(ie(Ze,1),Me,1,4,[gt(t),gt(n)])),i=e.length,n=n=0;n--)e.j=(t=new ZC(e.e,e.d,n,1),new VC(n,e.d,t)),i=i|WA(e,n);return i}function PC(e){this.f=(On(),new $t),this.n=new $t,this.k=new $t,this.g=new Yr,this.i=new x8((Ij(),e_)),this.j=e,Vae(this,e)}function DC(e){var t;this.a=(t=f(e.e&&e.e(),11),new ri(t,f(Ti(t,t.length),11),0)),this.b=ve(Ze,Me,1,this.a.a.length,4,1)}function c8(e,t){var n;return t===e?!0:!xe(t,18)||(n=f(t,18),n.Y()!=e.Y())?!1:e.lb(n)}function R2(e){switch(wi(),e.e){case 1:return Ns;case 2:return Cu;case 3:return as;case 4:return bc;default:return pf}}function l8(e,t){switch(t.e){case 1:return e.e.d;case 2:return e.e.c;case 3:return e.e.a;case 4:return e.e.b;default:return 0}}function jC(){return dk(),re(ie(iG,1),De,67,0,[nG,tG,rG,W_,V_,U_,X_,Z_,K_,eG,J_,Q_,F_,Y_,q_,G_,__,$_,z_,B_,H_,sE])}function ec(){ec=c,df=new sg(sf,0),Ds=new sg("JUSTIFIED",1),qT=new sg("BEGIN",2),VT=new sg(Cp,3),WT=new sg("END",4)}function gu(){gu=c,nE=new F1("PORTS",0),Lb=new F1("PORT_LABELS",1),tE=new F1("NODE_LABELS",2),Tb=new F1("MINIMUM_SIZE",3)}function Yi(){Yi=c,Db=new Xm("UNKNOWN",0),rs=new Xm("ABOVE",1),Zs=new Xm("BELOW",2),aG=new nt("de.cau.cs.kieler.labelSide",Db)}function Q0(){Q0=c,H6=new uy("EQUALLY_DISTRIBUTED",0),y5=new uy("NORTH_STACKED",1),_6=new uy("NORTH_SEQUENCE",2)}function noe(){Pp={},!Array.isArray&&(Array.isArray=function(e){return Object.prototype.toString.call(e)==="[object Array]"})}function roe(e,t){return bd(),bd(),((e-t>0?e-t:-(e-t))<=ob||e==t||isNaN(e)&&isNaN(t)?0:et?1:wI(isNaN(e),isNaN(t)))>0}function NC(e,t){return bd(),bd(),((e-t>0?e-t:-(e-t))<=ob||e==t||isNaN(e)&&isNaN(t)?0:et?1:wI(isNaN(e),isNaN(t)))<0}function B2(e){var t,n;for(e.d||ace(e),n=new xi,t=e.b.mb(),t.H();t.G();)an(n,f(t.H(),92).a);return ut(n.b!=0),_s(n,n.c.b),n}function f8(e){var t,n,i,s;for(s=new $i,t=new Fu(e.c),lp(t),i=new M(t);i.at.f?1:e.gt.g?1:e.b-t.b}function ooe(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw new nn("Input edge is not connected to the input port.")}function z2(e){var t;e.c!=0&&(t=f(_e(e.a,e.b),128),t.b==1?(++e.b,e.b.5&&l<50;)s=UB(i),n=nf(i,s,!0),t=ni(n.b),++l;return nf(e,s,!1)}function p8(e){var t,n,i,s,l;for(i=lk(e),t=Xo,l=0,s=0;t>.5&&l<50;)s=WB(i),n=nf(i,s,!0),t=ni(n.a),++l;return nf(e,s,!1)}function ep(e){var t,n,i;for(this.a=new $i,this.e=new Yr,this.f=0,n=0,i=e.length;n2e3&&(n_=e,Mp=r.setTimeout(ute,10))),Ip++==0?(Mie((VS(),CT)),!0):!1}function Cs(e){var t,n;for(n=new M(e.a.b);n.a0),t.a.sb(t.c=--t.b))}function coe(e){var t;gi(f(z(e,(Ee(),dt)),28))&&(t=e.c,GB((Sn(0,t.c.length),f(t.c[0],16))),GB(f(_e(t,t.c.length-1),16)))}function k8(e,t,n){It(n,"Compound graph preprocessor",1),e.a=new cg,Lz(e,t,null),sle(e,t),ce(t,(le(),E6),e.a),e.a=null,ho(e.b),Ct(n)}function E8(e){var t,n;return t=f(Et(Dt(Dr(e))),12),n=f(Et(Dt(En(e))),12),!Pt(ge(Nt(z(t,(le(),Js)))))||!Pt(ge(Nt(z(n,Js))))}function loe(e,t,n){t.g==(et(),Hn)&&n.g==hn&&(e.d=L2(t,(we(),ct)),e.b=L2(t,rt)),n.g==Hn&&t.g==hn&&(e.d=L2(n,(we(),rt)),e.b=L2(n,ct))}function foe(e,t,n){var i,s,l,h;return l=t.g,h=n.g,l!=h?l.e-h.e:(i=e.a[t.k],s=e.a[n.k],!i&&!s?0:i?s?yr(i.a,s.a):1:-1)}function hoe(e,t,n,i){var s,l,h,v;for(l=t,s=n-1;l<=s;)if(h=l+s>>>1,v=e[h],vi)s=h-1;else return h;return-(l+1)}function doe(e){return xe(e,137)?(Qt(),new H4(f(e,137))):xe(e,18)?(Qt(),new Rl(f(e,18))):xe(e,20)?D3(f(e,20)):(Qt(),new Xv(e))}function S8(e,t,n){return xe(n,137)?new Y4(e,t,f(n,137)):xe(n,18)?new $4(e,t,f(n,18)):xe(n,20)?B3(e,t,f(n,20),null):new Ng(e,t,n,null)}function Hd(e,t){var n;n=e.ub(t);try{return n.H()}catch(i){throw i=Kr(i),xe(i,74)?new _o("Can't get element "+t):Zr(i)}}function Gg(e,t){On(),vt(e);try{return e.cb(t)}catch(n){if(n=Kr(n),xe(n,119))return null;if(xe(n,76))return null;throw Zr(n)}}function voe(e,t){var n=e.a,i;t=String(t),n.hasOwnProperty(t)&&(i=n[t]);var s=(k2(),Hk)[typeof i],l=s?s(i):SC(typeof i);return l}function C8(e,t,n,i){tt.e?1:e.ft.f?1:su(e)-su(t)}function P8(e){switch(e.e){case 1:return we(),qe;case 4:return we(),rt;case 3:return we(),Be;case 2:return we(),ct;default:return we(),fr}}function D8(e){var t,n;switch(t=Gy(e.c,e.c.length),t.length){case 0:return db;case 1:return n=new fu(t[0]),n;default:return new Qn(lr(t))}}function koe(e){var t,n,i,s;for(i=ve(Yfe,Me,64,e.c.length,0,1),s=0,n=new M(e);n.a=e.b>>1)for(i=e.c,n=e.b;n>t;--n)i=i.b;else for(i=e.a.a,n=0;n0&&(s.b+=t),s}function np(e,t){var n,i,s;for(s=new Fr,i=e.mb();i.G();)n=f(i.H(),55),tb(n,0,s.b),s.b+=n.e.b+t,s.a=je(s.a,n.e.a);return s.a>0&&(s.a+=t),s}function $g(e,t,n){var i,s,l;return s=f(Kt(e.c,t),176),s?(l=J4(s,n),WI(e,s),l):(i=new a3(e,t,n),un(e.c,t,i),IO(i),null)}function Soe(e,t){return Sue(e.b).kb(t.c)?tre(e.b)?!(Ny(t.d,e.c,e.a)&&Ny(t.a,e.c,e.a)):Ny(t.d,e.c,e.a)&&Ny(t.a,e.c,e.a):!1}function Coe(e,t){return e.cHc(e.d,by(t.a,t.b))?-1:e.c==t.c&&by(e.a,e.b)==by(e.a,e.b)?0:1}function xoe(e,t,n){if(e.e)switch(e.b){case 1:$ne(e.c,t,n);break;case 0:Gne(e.c,t,n)}else Are(e.c,t,n);e.a[t.k][n.k]=e.c.i,e.a[n.k][t.k]=e.c.e}function Toe(e,t,n){switch(n.e){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function AC(e){switch(e.e){case 8:return we(),rt;case 9:return we(),ct;case 10:return we(),Be;case 11:return we(),qe;default:return we(),fr}}function Loe(e){var t,n,i;for(t="Ot",i=Hu(e.length,5),n=0;n=n+1&&e.splice(0,n+1);break}return e}function $2(e,t){return To(e)?!!WH[t]:e._c?!!e._c[t]:ih(e)?!!VH[t]:ah(e)?!!qH[t]:!1}function O8(){bC(),this.i=(On(),new $t),this.a=new $t,this.k=new $t,this.j=new $t,this.b=new $t,this.n=new $t,this.f=new $t,this.e=new $t}function Poe(e,t){var n,i;t.a.R(e)||(i=f(z(e,(le(),_r)),32),n=f(_e(e.f,0),7),i==(we(),rt)?Bt(n,ct):i==ct&&Bt(n,rt),t.a.db(e,t))}function A8(e){var t,n;return n=ti(1,f(z(e,(le(),Qa)),24).a),e.c.f.g==(et(),Hn)&&e.d.f.g==Hn?t=1:e.c.f.g==Hn||e.d.f.g==Hn?t=2:t=8,n*t}function Doe(e){var t,n,i,s,l;for(l=f(z(e,(le(),lt)),7),t=f(Vn(e.b,ve(Xi,qi,12,e.b.c.length,0,1)),47),i=0,s=t.length;is&&$a(t,s,null),t}function B8(e,t){var n,i,s;for(s=e.a.length,t.lengths&&$a(t,s,null),t}function ha(e){return To(e)?e:ih(e)?CN((ur(e),e)):ah(e)?zI(Pt((ur(e),e))):zy(e)?e.w():Oy(e)?PO(e):e.toString?e.toString():"[JavaScriptObject]"}function Noe(e){var t,n,i,s,l;for(l=0,n=e.b,i=0,s=n.length;i0),(t&-t)==t)return Xn(t*rf(e,31)*4656612873077393e-25);do n=rf(e,31),i=n%t;while(n-i+(t-1)<0);return Xn(i)}function Moe(e,t){if(e.c.f==t)return e.d.f;if(e.d.f==t)return e.c.f;throw new nn("Node "+t+" is neither source nor target of edge "+e)}function Ooe(e,t,n){return CI(e>=0&&e<=1114111),e>=rb?(t[n++]=55296+(e-rb>>10&1023)&Ts,t[n]=56320+(e-rb&1023)&Ts,2):(t[n]=e&Ts,1)}function Aoe(e,t){_n();for(var n,i;e.G();)if(!t.G()||(n=e.H(),i=t.H(),!(He(n)===He(i)||n!=null&&jo(n,i))))return!1;return!t.G()}function Roe(e){var t,n,i;for(z1(e.b.a),e.a=ve(Gp,Me,25,e.c.b.a.b.c.length,0,1),t=0,i=new M(e.c.b.a.b);i.al&&$a(t,l,null),t}function kh(e,t,n){if(n&&(t<0||t>n.a.c.length))throw new nn("index must be >= 0 and <= layer node count");e.d&&Tr(e.d.a,e),e.d=n,n&&Gc(n.a,t,e)}function HC(e,t,n,i,s,l,h,v){var p,m;i&&(p=i.a[0],p&&HC(e,t,n,p,s,l,h,v),qoe(e,n,i.d,s,l,h,v)&&t.ib(i),m=i.a[1],m&&HC(e,t,n,m,s,l,h,v))}function _C(e,t,n){if(e<0)throw new _o(sH+e+" < 0");if(t>n)throw new _o("toIndex: "+t+" > size "+n);if(e>t)throw new nn(sH+e+" > toIndex: "+t)}function F2(e,t){var n,i,s;return n=t.yb(),s=t.zb(),i=e.cb(n),!(!(He(s)===He(i)||s!=null&&jo(s,i))||i==null&&!e.R(n))}function zoe(e,t,n){var i;i=t.c.f,i.g==(et(),hn)?(ce(e,(le(),Oi),f(z(i,Oi),7)),ce(e,Si,f(z(i,Si),7))):(ce(e,(le(),Oi),t.c),ce(e,Si,n.d))}function Hoe(e,t,n){var i;i=t.c.f,i.g==(et(),hn)?(ce(e,(le(),Oi),f(z(i,Oi),7)),ce(e,Si,f(z(i,Si),7))):(ce(e,(le(),Oi),t.c),ce(e,Si,n.d))}function GC(e,t,n){var i,s,l,h,v;for(Aie(e),s=(e.i==null&&(e.i=ve($fe,Nr,46,0,0,1)),e.i),l=0,h=s.length;l>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Yoe(e,t,n){var i,s;return t.c==(cr(),ai)&&n.c==Ri?-1:t.c==Ri&&n.c==ai?1:(i=s8(t.a,e.a),s=s8(n.a,e.a),t.c==ai?s-i:i-s)}function Foe(e){var t,n,i,s,l;for(s=kr,l=null,i=new M(e.d);i.a0||!h&&v==0))}function _8(e){Ta();var t,n;if(!e.G())return lh(),ev;if(n=e.H(),!e.G())return new Gu(n);t=new $i,vn(t,vt(n));do vn(t,vt(e.H()));while(e.G());return CC(t)}function Voe(e,t,n){e.e=t,e.a=n,e.d=m2(e,(we(),Be)),e.d+=m2(e,qe),Zg(e,t,n,Be,e.f),Zg(e,t,n,qe,e.n),e.b=m2(e,Be),e.b+=m2(e,qe),Zg(e,n,t,Be,e.f),Zg(e,n,t,qe,e.n)}function Jc(e){var t,n,i;for(n=(mn(),e.length),i=0;ii&&e.charCodeAt(t-1)<=32;)--t;return i>0||t>19,m=t.h>>19,p!=m?m-p:(s=e.h,v=t.h,s!=v?s-v:(i=e.m,h=t.m,i!=h?i-h:(n=e.l,l=t.l,n-l)))}function $8(e){var t,n,i,s;for(n=(s=new Wt(e.p.a).a.bb().mb(),new Zt(s));n.a.G();)if(t=(i=f(n.a.H(),21),f(i.yb(),89)),t.e&&e.b[t.b]<0)return t;return null}function qg(e,t){var n,i,s,l,h;i=Xt(e.d,t.d),l=Xt(e.e,t.e),s=je(e.d+e.c,t.d+t.c),h=je(e.e+e.b,t.e+t.b),s=t.length)throw new _o("Greedy SwitchDecider: Free layer layer not in graph.");this.b=t[e],this.c=new hM(this.b),this.d=new bR(this.b)}function V8(e,t){var n;if(this.f=e,this.b=this.f.c,n=e.d,a2(t,n),t>=(n/2|0))for(this.e=e.e,this.d=n;t++0;)FO(this);this.a=null}function el(e){var t,n,i;for(n=new M(e.a.b);n.a0&&(e.g=eB(e.g)),J8(e);case 2:return mI(e.e)<0&&(e.e=J8(e.e)),eB(e);default:return e.d=1+ti(vs(e.e),vs(e.g)),e}}function U8(e,t){this.f=(On(),new $t),this.b=new $t,this.j=new $t,this.a=e,this.c=t,this.c>0&&yB(this,this.c-1,(we(),Be)),this.c0&&hp(e,t,n),0)):(th(n==0),0)}function Z8(e,t){var n,i,s,l,h;for(s=f(z(t,(le(),Ai)),15).a*f(z(t,(zt(),eu)),15).a,h=e[0].i.a+e[0].j.a,l=1;l=0;t--)q6[t]=i,i*=.5;for(n=1,e=24;e>=0;e--)F6[e]=n,n*=.5}function X8(e){for(;e.g.c!=0&&e.d.c!=0;)Ey(e.g).c>Ey(e.d).c?(e.i+=e.g.c,z2(e.d)):Ey(e.d).c>Ey(e.g).c?(e.e+=e.d.c,z2(e.g)):(e.i+=AM(e.g),e.e+=AM(e.d),z2(e.g),z2(e.d))}function vse(e){if(!e)throw new Om("An element is null. The origin of an edge could not be determined, this might be due to an inconsistency within the internal element mappings.")}function gse(e,t){var n,i;return ho(e.i),ho(e.a),ho(e.k),ho(e.j),ho(e.b),ho(e.n),ho(e.f),ho(e.e),e.d&&(i=Mn(e.d,KT.b),i&&i.ic()&&(e.c=i.ic().a)),n=Wz(e,t,null),pz(e,t),n}function bse(e){var t,n,i,s,l,h;for(i=vz(lk(e)),t=Xo,l=0,s=0;t>.5&&l<50;)s=UB(i),n=nf(i,s,!0),t=ni(n.b),++l;return h=Ot(Hd(ca(e.g),ca(e.g).b-1)),nf(e,(ur(h),h-s),!1)}function pse(e){var t,n,i,s,l,h;for(i=vz(lk(e)),t=Xo,l=0,s=0;t>.5&&l<50;)s=WB(i),n=nf(i,s,!0),t=ni(n.a),++l;return h=Ot(Hd(ca(e.g),ca(e.g).b-1)),nf(e,(ur(h),h-s),!1)}function nc(e){var t,n,i,s;for(s=new pd("["),t=!1,i=e.mb();i.G();)n=i.H(),t?s.a+=", ":t=!0,co(s,n===e?"(this Collection)":(mn(),n==null?Fs:ha(n)));return s.a+="]",s.a}function Q8(e){var t,n,i,s;for(s=new pd("{"),t=!1,i=e.bb().mb();i.G();)n=f(i.H(),21),t?s.a+=", ":t=!0,co(s,UO(e,n.yb())),s.a+="=",co(s,UO(e,n.zb()));return s.a+="}",s.a}function J8(e){var t;return J1(!!e.g),t=e.g,e.g=t.e,t.e=e,t.j=e.j,t.a=e.a,e.a=1+Im(e.e)+Im(e.g),e.j=Pr(Pr(e.c,Mm(e.e)),Mm(e.g)),e.d=1+ti(vs(e.e),vs(e.g)),t.d=1+ti(vs(t.e),vs(t.g)),t}function eB(e){var t;return J1(!!e.e),t=e.e,e.e=t.g,t.g=e,t.j=e.j,t.a=e.a,e.a=1+Im(e.e)+Im(e.g),e.j=Pr(Pr(e.c,Mm(e.e)),Mm(e.g)),e.d=1+ti(vs(e.e),vs(e.g)),t.d=1+ti(vs(t.e),vs(t.g)),t}function wse(e){var t;Bc(new M(tc(e.e)))&&(t=f(nr(e.e,(Ee(),dt)),28),t==(zn(),ii)?Yue(e.e):t==ts?Hle(e.e):Pt(ge(Nt(nr(e.e,wb))))||e.e.e.j.a==0&&e.e.e.j.b==0?Mue(e.e):Ile(e))}function KC(e,t,n){var i,s,l;if(s=new M(e),s.av?s:v;return s}function yse(e,t){Id();var n;if(e.c==t.c){if(e.b==t.b||Hie(e.b,t.b)){if(n=wte(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return TI(e.b.e,t.b.e)}else return yr(e.c,t.c)}function tB(e){var t,n;switch(n=Ga(ln(re(ie(_t,1),Ht,10,0,[e.f.i,e.i,e.a]))),t=e.f.e,e.g.e){case 1:n.b-=t.d;break;case 2:n.a+=t.c;break;case 3:n.b+=t.a;break;case 4:n.a-=t.b}return n}function kse(e,t){var n;return n=0,t.g==(et(),er)?(Y3(t).f!=e.a&&(tI(e,Y3(t).f),e.e=!0),e.e?++e.g:n+=e.f):t.g==hn?e.e?n+=e.g:++e.f:t.g==Hn&&(tI(e,t),e.e=!1),n}function Ese(e,t,n,i,s){var l,h,v,p;for(p=null,v=new M(i);v.a0;)l%2>0&&(i+=v[l+1]),l=(l-1)/2|0,++v[l];return i}function $d(e,t,n){var i,s,l,h;if(e.e=t,n)for(s=(h=new Wt(e.a.a).a.bb().mb(),new Zt(h));s.a.G();)i=(l=f(s.a.H(),21),f(l.yb(),12)),ce(i,(le(),Hb),e.e),Bt(i.c,t.a),Bt(i.d,t.b)}function Yd(){Yd=c,Ob=new Cd(Kd,0),VL=new Cd(Wd,1),KL=new Cd(Ud,2),UL=new Cd("LEFT_RIGHT_CONSTRAINT_LOCKING",3),WL=new Cd("LEFT_RIGHT_CONNECTION_LOCKING",4),qL=new Cd("EDGE_LENGTH",5)}function ZC(e,t,n,i){var s;this.b=i,this.e=e.a,s=t[n],this.d=Ay(Fb,[Nr,lb],[227,26],13,[s.length,s.length],2),this.a=Ay(Kn,[Nr,Wn],[52,26],12,[s.length,s.length],2),this.c=new U8(t,n)}function xse(e,t,n,i){var s,l;for(l=t,s=l.d==null||e.a.$b(n.d,l.d)>0?1:0;l.a[s]!=n;)l=l.a[s],s=e.a.$b(n.d,l.d)>0?1:0;l.a[s]=i,i.b=n.b,i.a[0]=n.a[0],i.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function Tse(e,t,n){var i,s,l,h;if(It(n,TH,1),Fz(e.d,t),h=yle(e.a,t),h.Y()==1)Px(f(h.sb(0),55),n);else for(l=1/h.Y(),s=h.mb();s.G();)i=f(s.H(),55),Px(i,Ql(n,l));Gee(e.a,h,t),Sz(t),Ct(n)}function rB(e,t,n){var i,s,l,h,v;for(v=new _c(t,n),h=il(v);h.G();)for(l=f(h.H(),7),s=Dt(Ca((gr(),new Qn(lr(re(ie(Ze,1),Me,1,4,[l.b,l.e]))))));xt(s);)i=f(Et(s),12),Zc(i)||Ise(e,t,l,i)}function iB(e,t){var n,i,s;for(s=Jn(e,t),i=s.mb();i.G();)if(n=f(i.H(),7),z(n,(le(),Is))!=null||xt(Dt(Ca((gr(),new Qn(lr(re(ie(Ze,1),Me,1,4,[n.b,n.e]))))))))return!0;return!1}function W2(e){var t,n;if(Lg(e))throw new nn(_H);for(n=Jt(e,0);n.b!=n.d.c;)t=f(qt(n),10),this.d=Xt(this.d,t.b),this.c=je(this.c,t.a),this.a=je(this.a,t.b),this.b=Xt(this.b,t.a)}function Lse(e,t,n){if(t<0||n<0)throw new nn("The highx must be bigger then lowx and the highy must be bigger then lowy");return e.a<0?e.a=0:e.a>t&&(e.a=t),e.b<0?e.b=0:e.b>n&&(e.b=n),e}function Jn(e,t){switch(t.e){case 1:return Lo(e.f,(fa(),dE));case 2:return Lo(e.f,(fa(),hE));case 3:return Lo(e.f,(fa(),vE));case 4:return Lo(e.f,(fa(),gE));default:return Qt(),Qt(),yc}}function Pse(e){var t,n,i,s;for(s=(_n(),new Go($o(bs(e.a,new T))));xt(s);)for(i=f(Et(s),9),i.g==(et(),Za)&&ce(i,(le(),bo),(Yi(),Zs)),n=Dt(En(i));xt(n);)t=f(Et(n),12),ik(t,(Yi(),Zs))}function Dse(e){var t,n,i,s;for(s=(_n(),new Go($o(bs(e.a,new T))));xt(s);)for(i=f(Et(s),9),i.g==(et(),Za)&&ce(i,(le(),bo),(Yi(),rs)),n=Dt(En(i));xt(n);)t=f(Et(n),12),ik(t,(Yi(),rs))}function U2(e,t){switch(this.b=new Yr,e){case 0:this.d=new lj(this);break;case 1:this.d=new uj(this);break;case 2:this.d=new cj(this);break;default:throw new dd}this.c=t,this.a=.2*t}function aB(e){var t,n,i,s;if(!e.b)for(e.b=new Se,n=new M(e.a.c);n.a=rb?(t=55296+(e-rb>>10&1023)&Ts,n=56320+(e-rb&1023)&Ts,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&Ts)}function Nse(e,t,n,i){var s,l,h;switch(s=Li(n),l=N2(s),h=new Yn,cn(h,n),i.e){case 1:Bt(h,P2(Z0(l)));break;case 2:Bt(h,Z0(l))}return ce(h,(le(),fv),f(z(t,fv),15)),ce(t,lt,h),un(e.b,h,t),h}function Ise(e,t,n,i){var s;Le(e.c,new S3(e,n,i,f(Kt(e.k,n),24).a)),qy(i)&&(t==e.e?i.d.f!=e.a&&i.c.f!=e.a:i.d.f!=e.e&&i.c.f!=e.e)&&(s=n==i.c?i.d:i.c,Le(e.c,new S3(e,s,i,f(Kt(e.k,s),24).a)))}function oB(e,t){var n,i,s;if(t===e)return!0;if(!xe(t,57)||(s=f(t,57),e.Y()!=s.Y()))return!1;for(i=s.bb().mb();i.G();)if(n=f(i.H(),21),!e._(n))return!1;return!0}function sB(e,t){var n,i,s;return i=new Va(e),vu(i,t),ce(i,(le(),sw),t),ce(i,(Ee(),dt),(zn(),ii)),ce(i,go,(Zo(),Ap)),_a(i,(et(),Cn)),n=new Yn,cn(n,i),Bt(n,(we(),qe)),s=new Yn,cn(s,i),Bt(s,Be),i}function QC(e,t){var n,i,s;for(s=kr,i=new M(tf(t));i.as?l:s}return l}function Ase(e){var t,n,i,s,l;for(l=kr,s=kr,i=new M(tf(e));i.a0&&lB(e,l,n));t.k=0}function fB(e,t){if(0>t)throw new nn("Top must be smaller or equal to bottom.");if(0>e)throw new nn("Left must be smaller or equal to right.");this.d=0,this.c=e,this.a=t,this.b=0}function K2(e){var t,n,i;if(e.length==0)throw new nn(_H);for(n=0,i=e.length;nn?ex(e,n,"start index"):t<0||t>n?ex(t,n,"end index"):Jg("end index (%s) must not be less than start index (%s)",re(ie(Ze,1),Me,1,4,[gt(t),gt(e)]))}function JC(e){if(!("id"in e.a))throw new wg("Every graph element must specify an 'id' property.",e);if(!Mn(e,"id").lc())throw new wg("Invalid format for 'id'. Must be a string, was "+Mn(e,"id").$c,e)}function nl(e,t){var n,i,s,l,h,v,p;for(p=e.b,i=f(fh(yl,e),20).mb();i.G();)for(n=f(i.H(),75),v=(l=new Wt(n.c.a).a.bb().mb(),new Zt(l));v.a.G();)h=(s=f(v.a.H(),21),f(s.yb(),7)),cu(t,h),dp(h,p)}function _se(e,t){var n,i,s;for(s=new M(t.e);s.a1)throw new nn("In straight hyperEdges there may be only one edge.");an((s=new Wt(n.a).a.bb().mb(),i=f(new Zt(s).a.H(),21),f(i.yb(),12)).a,new ot(t,e.b))}function bB(e,t,n){var i,s;if(this.f=e,i=f(Kt(e.b,t),126),s=i?i.a:0,a2(n,s),n>=(s/2|0))for(this.e=i?i.c:null,this.d=s;n++0;)t2(this);this.b=t,this.a=null}function Ug(e,t){(typeof document!==sb||a.exports)&&bw(e(t)),typeof document===sb&&typeof self!==sb&&self.postMessage(t)}function Q2(e,t){var n,i,s,l;"x"in e.a&&(s=f(Mn(e,"x"),104),t.i.a=s.a),"y"in e.a&&(l=f(Mn(e,"y"),104),t.i.b=l.a),Ek in e.a&&(i=f(Mn(e,Ek),104),t.j.a=i.a),Sk in e.a&&(n=f(Mn(e,Sk),104),t.j.b=n.a)}function pB(e,t,n){var i,s;kA(this),t==(Vc(),Xs)?vn(this.g,e.c):vn(this.o,e.c),n==Xs?vn(this.g,e.d):vn(this.o,e.d),vn(this.c,e),i=Di(e.c).b,s=Di(e.d).b,C8(this,i,s,s),this.f=Mne(Di(e.c).b,Di(e.d).b)}function Yse(e){var t,n,i,s,l,h;for(h=new _c(e.d,e.e),l=il(h);l.G();)for(s=f(l.H(),7),i=e.e==(we(),qe)?s.b:s.e,n=new M(i);n.a>1),tx(t,e,p,m,-s,l),tx(t,e,m,v,-s,l),l.$b(e[m-1],e[m])<=0){for(;nv?i:v;return i-s}function PB(e){var t;return t=new Al,ja(t,"type",new $c((Gl(sG),sG.n))),ja(t,mk,new $c(e.f)),e.b&&ja(t,"value",e.b),e.a&&ja(t,"context",e.a),ja(t,SH,new $c(O4(new B1(` -`),new Yf(new uo((e.g==null&&(e.g=o3(e)),e.g)))))),t}function Wse(e,t){return e.ct.c?1:e.bt.b?1:e.a!=t.a?e.a.b-t.a.b:e.d==0&&t.d==1?-1:e.d==1&&t.d==0?1:0}function DB(e,t){var n,i,s,l,h;if(t===e)return!0;if(!xe(t,20)||(h=f(t,20),e.Y()!=h.Y()))return!1;for(l=h.mb(),i=e.mb();i.G();)if(n=i.H(),s=l.H(),!(He(n)===He(s)||n!=null&&jo(n,s)))return!1;return!0}function jB(e){!zk&&(zk=kfe());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return pre(n)});return'"'+t+'"'}function NB(e,t){var n,i,s,l,h,v,p;for(s=t==1?lE:cE,i=(h=new Wt(s.a).a.bb().mb(),new Zt(h));i.a.G();)for(n=(l=f(i.a.H(),21),f(l.yb(),59)),p=f(Ia(e.f.c,n),18).mb();p.G();)v=f(p.H(),27),Tr(e.b.b,v.b),Tr(e.b.a,f(v.b,25).f)}function IB(e,t,n){var i,s,l,h;if(It(n,"Recursive layout",2),t.b.c.length!=0){for(h=1/t.b.c.length,l=new M(t.b);l.a=2147483648&&(i-=4294967296),i)}function sx(e,t,n){var i,s,l;if(t!=n){i=t;do dn(e,i.d),l=f(z(i,(le(),Cl)),9),l&&(s=i.a,ua(e,s.b,s.d),dn(e,l.i),i=Li(l));while(l);i=n;do uu(e,i.d),l=f(z(i,(le(),Cl)),9),l&&(s=i.a,Gte(e,s.b,s.d),uu(e,l.i),i=Li(l));while(l)}}function Zse(e,t){var n,i,s,l,h,v;for(n=new Se,v=new m4,s=(h=new Wt(e.a).a.bb().mb(),new Zt(h));s.a.G();)i=(l=f(s.a.H(),21),f(l.yb(),12)),uk(v,i.c,i,null),uk(v,i.d,i,null);for(;v.a;)Le(n,jce(v,t,gi(f(z(t,(Ee(),dt)),28))));return n}function Xse(e,t){var n,i,s,l,h;for(l=new M(e.e.a);l.a0&&s0):s<0&&-s0):!1}function eue(e,t,n,i,s){var l,h;uR(ln(re(ie(_t,1),Ht,10,0,[s.f.i,s.i,s.a])),n)||(t.c==s?s0(t.a,0,new qn(n)):an(t.a,new qn(n)),i&&!Oc(e.a,n)&&(h=f(z(t,(Ee(),Un)),44),h||(h=new xi,ce(t,Un,h)),l=new qn(n),mr(h,l,h.c.b,h.c),vn(e.a,l)))}function BB(e){var t,n,i,s,l,h,v;for(t=0,i=new M(e.a);i.a(v-h<=0?0-(v-h):v-h)?t:v-h<=0?0-(v-h):v-h);return t}function tue(e,t){var n,i,s;if(He(t)===He(vt(e)))return!0;if(!xe(t,20)||(i=f(t,20),s=e.Y(),s!=i.Y()))return!1;if(xe(i,63)){for(n=0;n=0)return s;for(l=1,v=new M(t.f);v.ap+1?l:p+1);return Xae(e,t,l),l}function HB(e,t,n){var i,s,l,h,v,p;if(i=0,e.b!=0&&t.b!=0){l=Jt(e,0),h=Jt(t,0),v=ge(Ot(qt(l))),p=ge(Ot(qt(h))),s=!0;do v>p-n&&v>t,l=e.m>>t|n<<22-t,s=e.l>>t|e.m<<22-t):t<44?(h=i?ic:0,l=n>>t-22,s=e.m>>t-22|n<<44-t):(h=i?ic:0,l=i?Wa:0,s=n>>t-44),qu(s&Wa,l&Wa,h&ic)}function _B(e,t){switch(e.e){case 1:switch(t.e){case 1:return 1;case 4:return 2;case 3:return 3;case 2:return 4}break;case 2:switch(t.e){case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4}break;default:throw new nn(cT)}return 0}function iue(e,t,n){var i,s,l,h,v,p;i=new Se,i.c[i.c.length]=t,p=t,v=0;do p=ofe(e,p),p&&(i.c[i.c.length]=p),++v;while(p);for(h=(n-(i.c.length-1)*e.d.d)/i.c.length,l=new M(i);l.a=e.g.d?(t=e.f,t.e=aR(e.e,t),t.g=e.g,t.a=e.a-1,t.j=Ju(e.j,n),bu(t)):(t=e.i,t.g=oR(e.g,t),t.e=e.e,t.a=e.a-1,t.j=Ju(e.j,n),bu(t)):e.e:e.g}function uue(e){var t,n,i,s,l,h;for(s=new M(e.a);s.al.k?Bt(h,ct):h.g==ct&&l.k>i.k&&Bt(h,rt))}function cue(e,t,n){var i,s,l,h,v,p,m;for(m=e.b,h=0,l=new M(e.a.b);l.a0?s+e.i[1]*t+e.n[1]:0,e.o[3]>0?s+e.i[3]*t+e.n[3]:0),l=je(e.o[4]>0?n+e.i[4]*t+e.n[4]:0,e.o[2]>0?n+e.i[2]*t+e.n[2]:0),new ot(h,l)}function GB(e){var t,n,i,s,l,h;for(h=f(Vn(e.a,ve(Er,Ii,9,e.a.c.length,0,1)),51),M4(h,new In),n=null,s=0,l=h.length;s0)return lx(e,t,n.g);if(i==0)switch(e.b.f.e){case 0:return Pr(t._b(n),t.ac(n.g));case 1:return t.ac(n.g);default:throw new HS}else return Pr(Pr(t.ac(n.g),t._b(n)),lx(e,t,n.e))}function fx(e,t,n){var i;if(!n)return 0;if(i=e.d.$b(e.b.e,n.b),i<0)return fx(e,t,n.e);if(i==0)switch(e.b.d.e){case 0:return Pr(t._b(n),t.ac(n.e));case 1:return t.ac(n.e);default:throw new HS}else return Pr(Pr(t.ac(n.e),t._b(n)),fx(e,t,n.g))}function $B(e,t,n,i){var s,l,h,v;return h=new Va(e),_a(h,(et(),hn)),ce(h,(le(),lt),t),ce(h,(Ee(),dt),(zn(),ii)),ce(h,Oi,n),ce(h,Si,i),l=new Yn,Bt(l,(we(),qe)),cn(l,h),v=new Yn,Bt(v,Be),cn(v,h),kn(t,l),s=new ws,vu(s,t),ce(s,Un,null),Bn(s,v),kn(s,i),h}function YB(e,t){var n,i,s,l,h,v,p,m,S,x;for(n=0,h=e.j,v=0,p=h.length;vt.c?1:e.bt.b?1:e.a!=t.a?su(e.a)-su(t.a):e.d==(A0(),Rb)&&t.d==Ab?-1:e.d==Ab&&t.d==Rb?1:0}function gue(e){var t,n,i,s,l,h;for(s=new Ur,i=new M(e.d.a);i.a1)for(t=pg(a4(new hd,e.b++),e.d),h=Jt(s,0);h.b!=h.d.c;)l=f(qt(h),61),Sh(Kf(Xf(Qf(Zf(new Ol,1),0),t),l))}function bue(e,t,n,i){var s,l,h,v,p,m;for(m=0,h=new M(e.a.b);h.an.a&&(l=ti(l,h.a-n.a-1));return l}function pue(e){var t,n;switch(t=f(z(e,(Ee(),nv)),15).a,n=f(z(e,rv),15).a,ce(e,rv,new Ut(t)),ce(e,nv,new Ut(n)),f(z(e,go),103).e){case 1:ce(e,go,(Zo(),zp));break;case 2:ce(e,go,(Zo(),Op));break;case 3:ce(e,go,(Zo(),Rp));break;case 4:ce(e,go,(Zo(),Bp))}}function wue(e){var t,n,i,s,l;for(s=(_n(),new Go($o(bs(e.a,new T))));xt(s);)for(i=f(Et(s),9),i.g==(et(),Za)&&(l=E8(i)?(Yi(),Zs):(Yi(),rs),ce(i,(le(),bo),l)),n=Dt(En(i));xt(n);)t=f(Et(n),12),l=Pt(ge(Nt(z(t,(le(),Js)))))?(Yi(),rs):(Yi(),Zs),ik(t,l)}function mue(e){var t,n,i,s,l;for(s=(_n(),new Go($o(bs(e.a,new T))));xt(s);)for(i=f(Et(s),9),i.g==(et(),Za)&&(l=E8(i)?(Yi(),rs):(Yi(),Zs),ce(i,(le(),bo),l)),n=Dt(En(i));xt(n);)t=f(Et(n),12),l=Pt(ge(Nt(z(t,(le(),Js)))))?(Yi(),Zs):(Yi(),rs),ik(t,l)}function hx(e,t,n){var i,s,l;for(l=new M(e.e);l.a0&&(i.b.c-=i.c,i.b.c<=0&&i.b.f>0&&an(t,i.b));for(s=new M(e.b);s.a0&&(i.a.f-=i.c,i.a.f<=0&&i.a.c>0&&an(n,i.a))}function dx(e,t,n){var i,s,l;for(l=new M(e.j);l.a0&&(i.b.e-=i.c,i.b.e<=0&&i.b.k>0&&an(t,i.b));for(s=new M(e.d);s.a0&&(i.a.k-=i.c,i.a.k<=0&&i.a.e>0&&an(n,i.a))}function yue(e){var t,n,i,s,l;switch(l=e.d.c+e.e.c,l){case 0:return Mj(),t_;case 1:return i=f(hB(new ef(new ou(e).a)),21),Ute(i.yb(),i.zb());default:for(s=(On(),new Md),n=new ef(new ou(e).a);n.b;)t=Rd(n),$g(s,vt(t.yb()),vt(t.zb()));return new e4(s)}}function kue(e,t,n){var i,s,l;for(s=new M(e.b.a.b);s.a0&&(!(Bl(e.b.d)&&i.q.d)&&!(Vm(e.b.d)&&i.q.b)&&(i.j.e+=0>l/2-.5?0:l/2-.5),!(Bl(e.b.d)&&i.q.a)&&!(Vm(e.b.d)&&i.q.c)&&(i.j.b-=l-1)))}function Eue(e,t){switch(e.e){case 1:switch(t.e){case 1:return lT;case 4:return .5;case 3:return fT;case 2:return BH}break;case 2:switch(t.e){case 1:return lT;case 2:return .5;case 3:return fT;case 4:return BH}break;default:throw new nn(cT)}return 0}function ak(e,t){var n,i,s,l;for(l=new fn(e,0),n=(ut(l.b0),l.a.sb(l.c=--l.b),cu(l,s),ut(l.b1)&&(++l,++h);return!gi(f(z(n,(Ee(),dt)),28))&&v&&(++l,++h),un(s,n,gt(l)),h}function WB(e){var t,n,i,s,l,h,v,p,m,S,x,L;for(h=e.b.mb(),v=f(h.H(),92),S=v.a.a,m=S>fl,p=Sfl,p=Sfl,p=Sfl,p=S0,cx(e.i,gt(Hc(e,t.d)),1)>0,wy(e.g,t),i+=moe(e,t,e.i)):(vn(e.g,t),hp(e.i,gt(Hc(e,t.c)),1),hp(e.i,gt(Hc(e,t.d)),1)):(s=sp(e.i,gt(f(Kt(e.k,n),24).a)),i+=e.g.a.Y()-s),i}function Sue(e){switch(e.e){case 0:return D$;case 1:return T$;case 2:return x$;case 3:return I$;case 4:return N$;case 5:return B$;case 6:return R$;case 7:return j$;case 8:return L$;case 9:return P$;case 11:return O$;case 10:return M$;default:return A$}}function vp(e){switch(e.e){case 0:return Ro;case 1:return Ns;case 2:return vc;case 3:return Cu;case 4:return xu;case 5:return as;case 6:return pc;case 7:return bc;case 8:return gc;case 9:return is;case 10:return kl;case 11:return Tu;default:return pf}}function Xg(e){switch(e.e){case 0:return as;case 1:return pc;case 2:return bc;case 3:return Ro;case 4:return Ns;case 5:return vc;case 6:return Cu;case 7:return xu;case 8:return gc;case 9:return is;case 10:return kl;case 11:return Tu;default:return pf}}function vx(e){switch(e.e){case 0:return vc;case 1:return Cu;case 2:return xu;case 3:return as;case 4:return pc;case 5:return bc;case 6:return Ro;case 7:return Ns;case 8:return gc;case 9:return is;case 10:return kl;case 11:return Tu;default:return pf}}function Cue(e){var t,n,i,s,l,h,v,p;for(n=(On(),new Md),v=new Ry((Yo(),new uo(e.f))),h=(s=new Wt(v.a).a.bb().mb(),new Zt(s));h.a.G();){if(l=(i=f(h.a.H(),21),f(i.yb(),9)),!l){$l();break}p=e.i[l.k],t=f(h2(n,p),20),t||(t=new Se,$g(n,p,t)),t.ib(l)}return n}function xue(e,t,n){var i,s,l;for(s=new M(e.b.a.b);s.a0&&(!(Bl(e.b.d)&&i.q.d)&&!(Vm(e.b.d)&&i.q.b)&&(i.j.e-=0>l/2-.5?0:l/2-.5),!(Bl(e.b.d)&&i.q.a)&&!(Vm(e.b.d)&&i.q.c)&&(i.j.b+=0>l-1?0:l-1)))}function il(e){var t,n,i;switch(i=e.a.f,e.b){case 0:return new M(e.a.f);case 1:return Fl((n=new M3(i),n),FC(e));case 2:switch(e.c.e){case 2:case 1:return Fl(new M(i),FC(e));case 3:case 4:return Fl((t=new M3(i),t),FC(e))}}throw new qf("PortOrder not implemented.")}function Tue(e,t){var n;e.d&&(t.c!=e.e.c||_ie(e.e.b,t.b))&&(Le(e.f,e.d),e.a=e.d.d+e.d.c,e.d=null,e.e=null),mte(t.b)?e.c=t:e.b=t,(t.b==(Ag(),hc)&&!t.a||t.b==wl&&t.a||t.b==bf&&t.a||t.b==ml&&!t.a)&&e.c&&e.b&&(n=new Ya(e.a,e.c.d,t.c-e.a,e.b.d-e.c.d),e.d=n,e.e=t)}function al(e,t,n,i){this.e=e,this.j=f(z(e,(le(),xl)),134),this.f=ve(Er,Ii,9,t,0,1),this.b=ve(Yb,Nr,184,t,6,1),this.a=ve(Er,Ii,9,t,0,1),this.d=ve(Yb,Nr,184,t,6,1),this.i=ve(Er,Ii,9,t,0,1),this.g=ve(Yb,Nr,184,t,6,1),this.n=ve(Yb,Nr,184,t,6,1),this.k=n,this.c=i}function Lue(e,t,n){var i,s;if(t.g==(et(),er)&&n.g==er){if(!gi(f(z(f(z(t,(le(),lt)),9),(Ee(),dt)),28))||f(z(t,lt),9)!=f(z(n,lt),9))return;if(N8(t)||N8(n)){e.d=1,e.b=1;return}s=f(_e(t.f,0),7).g,i=f(_e(n.f,0),7).g,u2(t).g==(we(),rt)?ZB(e,t,n,s,i):ZB(e,n,t,i,s)}}function Sh(e){if(!e.a.c||!e.a.d)throw new zu((Gl(AG),AG.j+" must have a source and target "+(Gl(ZL),ZL.j)+" specified."));if(e.a.c==e.a.d)throw new zu("Network simplex does not support self-loops: "+e.a+" "+e.a.c+" "+e.a.d);return Wu(e.a.c.g,e.a),Wu(e.a.d.c,e.a),e.a}function ZB(e,t,n,i,s){i==(we(),Be)&&s==Be?hh(e,t)>hh(e,n)?e.d=mh(e,n):e.b=mh(e,t):i==qe&&s==qe?hh(e,t)hh(e,n)&&(e.d=mh(e,n),e.b=mh(e,t)):hh(e,t)0&&l>0?h.k=t++:i>0?h.k=n++:l>0?h.k=s++:h.k=n++}Fa(e.f,new ad)}function Due(e,t,n,i){var s,l,h,v,p;n.d.f!=t.f&&(s=new Va(e),_a(s,(et(),hn)),ce(s,(le(),lt),n),ce(s,(Ee(),dt),(zn(),ii)),i.c[i.c.length]=s,h=new Yn,cn(h,s),Bt(h,(we(),qe)),v=new Yn,cn(v,s),Bt(v,Be),p=n.d,kn(n,h),l=new ws,vu(l,n),ce(l,Un,null),Bn(l,v),kn(l,p),LB(s,h,v))}function jue(e){var t,n,i,s,l,h,v,p,m;for(h=Xo,p=Xo,v=null,n=new Wy(new Pm(e.e));n.b!=n.c.a.b;)if(t=q3(n),f(t.d,60).c==1&&(i=f(t.e,116).a,m=f(t.e,116).b,s=h-i>oc,l=i-hoc,(s||l)&&(p=f(t.e,116).b,h=f(t.e,116).a,v=f(t.d,60),p==0&&h==0)))return v;return v}function XB(e,t){var n,i,s,l,h,v;return l=e.d,v=f(z(e,(Ee(),es)),15).a,v<0&&(v=0,ce(e,es,new Ut(v))),t.j.b=v,h=Math.floor(v/2),i=new Yn,Bt(i,(we(),qe)),cn(i,t),i.i.b=h,s=new Yn,Bt(s,Be),cn(s,t),s.i.b=h,kn(e,i),n=new ws,vu(n,e),ce(n,Un,null),Bn(n,s),kn(n,l),zoe(t,e,n),ase(e,n),n}function Nue(e){var t,n;n=f(z(e,(zt(),Sr)),85),t=f(z(e,(le(),Qs)),140),n==(Fi(),mc)?(ce(e,Sr,Sf),ce(e,Qs,(ks(),kf))):n==Pu?(ce(e,Sr,Sf),ce(e,Qs,(ks(),$h))):t==(ks(),kf)?(ce(e,Sr,mc),ce(e,Qs,aw)):t==$h&&(ce(e,Sr,Pu),ce(e,Qs,aw))}function Iue(e){var t,n,i,s,l;for(i=new M(Yg(e.e));i.afl&&(this.b.ib(n),v=!1),this.b.ib(p);v&&this.b.ib(n)}function Oue(e){var t,n,i,s;if(uce(e,e.n),e.d.c.length>0){for(ig(e.c);ax(e,f(O(new M(e.e.a)),61))0?n:0,i.i.b=n+Py(e.a,l,v)):i.i.b=(ur(h),h)),p=Py(e.a,l,v),i.i.b0&&(e.charCodeAt(0)==45||e.charCodeAt(0)==43)?1:0,t=s;tkr)throw new H1(gk+e+'"');return l}function Bue(e,t,n,i){var s,l,h,v;for(s=f(Jn(t,(we(),qe)).mb().H(),7),l=f(Jn(t,Be).mb().H(),7),v=new M(e.f);v.ah?0:h)h?0:h:p,(0>(mh?0:h)h?0:h:p))),h=m,m+=v,i=f(_e(e.c,l),9),n=new P4(S),n.j.b=t.j.b,pt(e.b,t,n),Le(i.c,n);Tr(e.g.c,t),Le(e.i,(s=new YN(e,t),s))}function rz(e,t,n){var i,s,l,h,v,p,m,S,x;for(t.k=1,l=t.d,x=Ss(t,(cr(),ai)).mb();x.G();)for(S=f(x.H(),7),s=new M(S.e);s.aL+p&&i.I();for(h=new M(j);h.aoc,l=i-hoc,(s||l)&&(p=f(t.e,116).b,h=f(t.e,116).a,v=f(t.d,60),p==0&&h==0)))return v;return v}function Zue(e,t){var n,i,s,l,h;e.d=t,ho(e.b),e.c=!1;e:for(i=new M(e.d.c);i.ap?new Y0(t,e,v-p):v>0&&p>0&&(new Y0(e,t,0),new Y0(t,e,0)))}function sl(e,t){var n,i,s,l,h,v,p,m,S;for(m=new Se,S=null,i=f(fh(yl,e),20).mb();i.G();){for(n=f(i.H(),75),p=(l=new Wt(n.c.a).a.bb().mb(),new Zt(l));p.a.G();)h=(s=f(p.a.H(),21),f(s.yb(),7)),cu(t,h),dp(h,e.b);Tn(m,n.b),S=e.a}for(lp(m),d2(m,S),v=new M(m);v.an.k&&v1&&(n?h=ea(t.d)+1:h=ea(m.d)-1,v=f(_e(e.a.c,h),16),Ar(m,v)),bx(e,m,n));return t}function oz(e,t){var n,i,s,l;for(t.d?s=e.a.c==(Do(),dc)?Dr(t.b):En(t.b):s=e.a.c==(Do(),js)?Dr(t.b):En(t.b),l=!1,i=(_n(),new Go($o(bs(s.a,new T))));xt(i);)if(n=f(Et(i),12),e.c.a[n.c.f.d.k]!==e.c.a[n.d.f.d.k]&&(l=!0,Oc(e.b,e.a.f[Moe(n,t.b).k])))return t.c=!0,t.a=n,t;return t.c=l,t.a=null,t}function rce(e,t,n){var i,s,l,h;for(i=f(z(e.d,(Ee(),RT)),15).a,l=new M(e.a.b);l.afl;){for(l=t,h=0;(t-l<=0?0-(t-l):t-l)0&&zg(this.n,!0,($n(),Vi)),e.g==(et(),Cn)&&La(this.n,!1,!1,!1,!1)}function tb(e,t,n){var i,s,l,h,v,p,m,S,x,L;for(l=new ot(t,n),S=new M(e.b);S.ai?x:i,v>e.j.a&&(m=(v-e.j.a)/2,h.b=je(h.b,m),h.c=je(h.c,m))}function dz(e,t,n,i){var s,l,h,v,p,m,S,x,L,j;for(h=ua(t.d,n,i),x=new M(t.b);x.a=40,h&&Ice(e),ule(e),Oue(e),n=$8(e),i=0;n&&im&&(L=0,j+=p+t,p=0),tb(h,L,j),n=je(n,L+S.a),p=je(p,S.b),L+=S.a+t;return new ot(n+t,j+p+t)}function uk(e,t,n,i){var s,l,h;return h=new DN(t,n),e.a?i?(s=f(Kt(e.b,t),126),++s.a,h.d=i.d,h.e=i.e,h.b=i,h.c=i,i.e?i.e.c=h:f(Kt(e.b,t),126).b=h,i.d?i.d.b=h:e.a=h,i.d=h,i.e=h):(e.e.b=h,h.d=e.e,e.e=h,s=f(Kt(e.b,t),126),s?(++s.a,l=s.c,l.c=h,h.e=l,s.c=h):(un(e.b,t,new L3(h)),++e.c)):(e.a=e.e=h,un(e.b,t,new L3(h)),++e.c),++e.d,h}function $s(e){var t,n,i,s,l,h,v,p;if(e.e)throw new zu((Gl(fE),"The "+fE.j+LH));for(e.d==($n(),Mo)&&xs(e,Oa),n=new M(e.a.a);n.a0?(p=e.g,p?(h=p.d,e.g=mx(p,t,n,i,s),s[0]==0&&++e.a,e.j=Pr(e.j,i),e.g.d==h?e:bu(e)):(s[0]=0,oC(e,n,i))):(s[0]=e.c,m=Pr(e.c,i),th(T2(m,kr)<=0),e.c+=i,e.j=Pr(e.j,i),e)}function Ece(e,t){var n,i,s,l,h,v;s=pp(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | | -`),Hs(e);try{for(i=0,h=0,l=0,v=0;i0&&(h%2==0?l=up(s[i]):v=up(s[i]),h>0&&h%2!=0&&an(e,new ot(l,v)),++h),++i}catch(p){throw p=Kr(p),xe(p,130)?(n=p,new nn("The given string does not match the expected format for vectors."+n)):Zr(p)}}function gz(e,t,n){var i,s,l,h,v,p,m,S;for(s=!0,h=new M(t.c);h.am&&i>m)m=ge(n.n[v.k])+ge(n.d[v.k])+v.j.b+v.e.a;else{s=!1,e.a&&$l();break}if(!s)break}return e.a&&$l(),s}function Sce(e){var t,n,i,s,l,h,v,p;return isNaN(e)?(G0(),xT):e<-9223372036854776e3?(G0(),s_):e>=9223372036854776e3?(G0(),o_):(s=!1,e<0&&(s=!0,e=-e),i=0,e>=ac&&(i=Xn(e/ac),e-=i*ac),n=0,e>=of&&(n=Xn(e/of),e-=n*of),t=Xn(e),l=qu(t,n,i),s&&(h=~l.l+1&Wa,v=~l.m+(h==0?1:0)&Wa,p=~l.h+(h==0&&v==0?1:0)&ic,l.l=h,l.m=v,l.h=p),l)}function Cce(e){var t,n,i,s,l,h,v;if(s=Fg(e),Bc(new M(s))){for(v=new Ya(0,0,e.e.j.a,e.e.j.b),n=new M(s);n.ap+j&&(I=S.i+x.i,x.a=(x.i*x.a+S.i*S.a)/I,x.i=I,S.g=x,n=!0)),l=v,S=x;return n}function Lce(e){var t,n,i,s,l,h;if(He(z(e,(Ee(),dt)))===He((zn(),ts))||He(z(e,dt))===He(ii)){for(h=new M(e.f);h.ah)return we(),Be;break;case 4:case 3:if(S<0)return we(),rt;if(S+n>l)return we(),ct}return p=(m+v/2)/h,i=(S+n/2)/l,p+i<=1&&p-i<=0?(we(),qe):p+i>=1&&p-i>=0?(we(),Be):i<.5?(we(),rt):(we(),ct)}function mz(e,t,n,i,s,l,h){var v,p,m,S,x,L;for(L=new iy,m=t.mb();m.G();)for(v=f(m.H(),627),x=new M(j8(v));x.a0&&an(e.e,l)):(e.c[h]-=m+1,e.c[h]<=0&&e.a[h]>0&&an(e.d,l))))}function Pce(e,t){var n,i,s,l,h,v,p,m,S;for(h=new M(t.c);h.av&&(v=f(z(n,Qa),24).a);for(i=Dt(Dr(p));xt(i);)n=f(Et(i),12),p.d!=n.c.f.d&&f(z(n,(le(),Qa)),24).a==v&&Le(S,new wr(n.c.f,n));Fa(S,e.c),Gc(e.b,p.k,S)}}function Dce(e,t){var n,i,s,l,h,v,p,m,S;for(h=new M(t.c);h.av&&(v=f(z(n,Qa),24).a);for(i=Dt(En(p));xt(i);)n=f(Et(i),12),p.d!=n.d.f.d&&f(z(n,(le(),Qa)),24).a==v&&Le(S,new wr(n.d.f,n));Fa(S,e.c),Gc(e.f,p.k,S)}}function kx(e){NR();var t,n,i,s,l,h,v,p,m,S;for(this.b=new Gf,this.c=new Se,this.a=new Se,p=pC(),m=0,S=p.length;m0){for(s=v.length;s>0&&v[s-1]=="";)--s;s0&&s[0]==0&&++e.a,e.j=Pr(e.j,i-s[0]),bu(e)):(s[0]=0,i>0?sC(e,n,i):e)):l>0?(v=e.g,v?(e.g=Ex(v,t,n,i,s),i==0&&s[0]!=0?--e.a:i>0&&s[0]==0&&++e.a,e.j=Pr(e.j,i-s[0]),bu(e)):(s[0]=0,i>0?oC(e,n,i):e)):(s[0]=e.c,i==0?ux(e):(e.j=Pr(e.j,i-e.c),e.c=i,e))}function Ice(e){var t,n,i,s,l,h,v;for(e.o=new FS,i=new Ur,h=new M(e.e.a);h.a0,v=O2(t,l),D4(n?v.c:v.g,t),tf(v).c.length==1&&mr(i,v,i.c.b,i.c),s=new wr(l,t),fI(e.o,s),Tr(e.e.a,l))}function Sx(e,t,n,i,s){var l,h,v;return l=t.$b(n,e.b),l<0?(h=e.e,h?(e.e=Sx(h,t,n,i,s),s[0]>0&&(i>=s[0]?(--e.a,e.j=Ju(e.j,s[0])):e.j=Ju(e.j,i)),s[0]==0?e:bu(e)):(s[0]=0,e)):l>0?(v=e.g,v?(e.g=Sx(v,t,n,i,s),s[0]>0&&(i>=s[0]?(--e.a,e.j=Ju(e.j,s[0])):e.j=Ju(e.j,i)),bu(e)):(s[0]=0,e)):(s[0]=e.c,i>=e.c?ux(e):(e.c-=i,e.j=Ju(e.j,i),e))}function Ez(e,t,n){var i,s,l,h,v,p,m,S;for(p=new M(n.b);p.a0||n==0&&t.f==(xo(),Ua))&&(v=t.g,p=t.f)):(s=t.c,v=t.g,p=t.f),i&&s&&(n=e.a.$b(l,v),(n>0||n==0&&h==(xo(),Ua)&&p==(xo(),Ua))&&(l=v,h=(xo(),Ua),p=Np)),new fp(e.a,i,l,h,s,v,p)}function Ace(e,t,n,i){var s,l,h,v,p,m,S;if(n.c.f!=t.f)for(s=new Va(e),_a(s,(et(),hn)),ce(s,(le(),lt),n),ce(s,(Ee(),dt),(zn(),ii)),i.c[i.c.length]=s,h=new Yn,cn(h,s),Bt(h,(we(),qe)),v=new Yn,cn(v,s),Bt(v,Be),kn(n,h),l=new ws,vu(l,n),ce(l,Un,null),Bn(l,v),kn(l,t),LB(s,h,v),m=new fn(n.b,0);m.b=i&&x.a>=i&&(L.a=i),I.a<=n&&x.a<=n&&(R.a=n-10),t.c.a.Y()==1?K3(v.a,re(ie(_t,1),Ht,10,0,[L,j,Y,R])):K3(v.a,re(ie(_t,1),Ht,10,0,[L,j,s,Y,R]))}function wu(e,t){var n,i,s,l,h,v;for(l=e.c,h=e.d,Bn(e,null),kn(e,null),t&&Pt(ge(Nt(z(h,(le(),t5)))))?Bn(e,Cx(h.f,(cr(),ai),(we(),Be))):Bn(e,h),t&&Pt(ge(Nt(z(l,(le(),n5)))))?kn(e,Cx(l.f,(cr(),Ri),(we(),qe))):kn(e,l),i=new M(e.b);i.a0&&m[i]&&(I=Py(e.b,m[i],p)),R=je(R,s.d.c.b+I);for(l=new M(S.f);l.age(xa(h.g,h.d[0]).a)?(ut(p.b>0),p.a.sb(p.c=--p.b),cu(p,h),s=!0):v.e&&v.e.Y()>0&&(l=(!v.e&&(v.e=new Se),v.e).nb(t),m=(!v.e&&(v.e=new Se),v.e).nb(n),(l||m)&&((!v.e&&(v.e=new Se),v.e).ib(h),++h.c));s||(i.c[i.c.length]=h)}function _ce(e,t,n,i){var s,l,h,v,p,m,S,x,L,j,I;n.d.f!=t.f&&(s=new Va(e),_a(s,(et(),hn)),ce(s,(le(),lt),n),ce(s,(Ee(),dt),(zn(),ii)),i.c[i.c.length]=s,h=new Yn,cn(h,s),Bt(h,(we(),qe)),v=new Yn,cn(v,s),Bt(v,Be),p=n.d,kn(n,h),l=new ws,vu(l,n),ce(l,Un,null),Bn(l,v),kn(l,p),m=f(_e(h.b,0),12).c,S=m.f,x=S.g,L=f(_e(v.e,0),12).d,j=L.f,I=j.g,x==hn?ce(s,Oi,f(z(S,Oi),7)):ce(s,Oi,m),I==hn?ce(s,Si,f(z(j,Si),7)):ce(s,Si,L))}function Gce(e,t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q;return v=e.b[t],p=e.b[n],m=f(z(v,(le(),Fh)),20),!!m&&m.Y()!=0&&m.kb(p)||(S=v.g!=(et(),hn)&&p.g!=hn,x=f(z(v,El),9),L=f(z(p,El),9),j=!!x&&x!=v||!!L&&L!=p,I=x!=L,R=iB(v,(we(),rt)),Y=iB(p,ct),q=j&&I||R||Y,S&&q)||v.g==(et(),er)&&p.g==Hn||p.g==(et(),er)&&v.g==Hn?!1:(h=e.b[t],i=e.b[n],Voe(e.c,h,i),Xoe(e.d,h,i),l=YR(e.a,h,i)+e.c.d+e.d.d,s=YR(e.a,i,h)+e.c.b+e.d.b,l>s)}function $ce(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R;for(h=t,L=t.d,S=t.c.f,j=t.d.f,x=ea(S.d),I=ea(j.d),v=x;v0&&LR(t.charCodeAt(n-1),hH);)--n;if(s>=n)throw new nn("The given string does not contain any numbers.");if(l=pp(t.substr(s,n-s),`,|;|\r| -`),l.length!=2)throw new nn("Exactly two numbers are expected, "+l.length+" were found.");try{e.a=up(Jc(l[0])),e.b=up(Jc(l[1]))}catch(h){throw h=Kr(h),xe(h,130)?(i=h,new nn(dH+i)):Zr(h)}}function Kce(e,t,n){var i,s,l,h,v,p,m,S,x;for(p=n+t.d.c.a,x=new M(t.f);x.a1,v=Dt(Ca((gr(),new Qn(lr(re(ie(Ze,1),Me,1,4,[S.b,S.e]))))));xt(v);)h=f(Et(v),12),m=h.c==S?h.d:h.c,ni(ln(re(ie(_t,1),Ht,10,0,[m.f.i,m.i,m.a])).b-l.b)>1&&eue(e,h,l,s,S)}}function Dz(e,t){var n,i,s,l,h,v;for(h=new ef(new ou(e.f.b).a);h.b;){if(l=Rd(h),s=f(l.yb(),251),t==1){if(s.yc()!=($n(),Ks)&&s.yc()!=Ps)continue}else if(s.yc()!=($n(),Oa)&&s.yc()!=Vi)continue;switch(i=f(f(l.zb(),27).b,25),v=f(f(l.zb(),27).a,78),n=v.c,s.yc().e){case 2:i.j.d=e.e.a,i.j.c=je(1,i.j.c+n);break;case 1:i.j.d=i.j.d+n,i.j.c=je(1,i.j.c-n);break;case 4:i.j.e=e.e.b,i.j.b=je(1,i.j.b+n);break;case 3:i.j.e=i.j.e+n,i.j.b=je(1,i.j.b-n)}}}function Tx(e,t,n,i,s){var l,h,v,p,m,S,x,L,j;for(L=(On(),new $t),v=new Se,gB(e,n,e.d.Mc(),v,L),gB(e,i,e.d.Nc(),v,L),p=new fn(v,0);p.bx||i+s>p)throw new $S;if((!(m.g&1)||m.g&4)&&S!=v)if(e===n&&ti;)n[h]=e[--t];else for(h=i+s;i0&&q2(e,t,n,i,s,!0)}function Xce(e,t,n){var i,s,l,h,v;if(i=f(z(e,(zt(),l5)),18),n.a>t.a&&(i.kb((Gd(),AE))?e.d.a+=(n.a-t.a)/2:i.kb(BE)&&(e.d.a+=n.a-t.a)),n.b>t.b&&(i.kb((Gd(),HE))?e.d.b+=(n.b-t.b)/2:i.kb(zE)&&(e.d.b+=n.b-t.b)),f(z(e,(le(),Vr)),18).kb((br(),os))&&(n.a>t.a||n.b>t.b))for(v=new M(e.b);v.a0&&l[0]==0&&++e.a,e.j=Pr(e.j,s-l[0])),bu(e)):(l[0]=0,i==0&&s>0?sC(e,n,s):e);if(h>0)return p=e.g,p?(e.g=Lx(p,t,n,i,s,l),l[0]==i&&(s==0&&l[0]!=0?--e.a:s>0&&l[0]==0&&++e.a,e.j=Pr(e.j,s-l[0])),bu(e)):(l[0]=0,i==0&&s>0?oC(e,n,s):e);if(l[0]=e.c,i==e.c){if(s==0)return ux(e);e.j=Pr(e.j,s-e.c),e.c=s}return e}function lk(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y;for(p=e.e,j=e.f,h=e.d,I=e.c,S=I-1,R=e.g,x=ca(e.g.xb(1,e.g.Y()-1)),m=new Se,n=0;n=0)return!1;if(n.e&&s==(et(),Mi)&&s!=n.e)return!1;if(t.k=n.b,Le(n.f,t),n.e=s,s==(et(),hn)||s==er||s==Mi){for(h=new M(t.f);h.a0&&(zg(e.n,!1,($n(),Oa)),zg(e.n,!0,Vi))}function nle(e,t){var n,i,s,l,h,v,p,m,S,x;for(h=0;h<(mn(),t.length)&&PR(t.charCodeAt(h),fH);)++h;for(n=t.length;n>0&&PR(t.charCodeAt(n-1),hH);)--n;if(h0)for(i=new Fu(f(Ia(e.a,l),18)),Fa(i,new PS(t)),s=new fn(l.b,0);s.bue)?(p=2,h=kr):p==0?(p=1,h=Ce):(p=0,h=Ce)):(j=Ce>=h||h-Ce0&&(p=e.i.a/l);break;case 2:case 4:s=e.f.j.b,s>0&&(p=e.i.b/s)}ce(e,(le(),Lu),p)}if(v=e.j,i)e.a.a=i.a,e.a.b=i.b;else if(t!=Ao&&t!=cc&&h!=fr)switch(h.e){case 1:e.a.a=v.a/2;break;case 2:e.a.a=v.a,e.a.b=v.b/2;break;case 3:e.a.a=v.a/2,e.a.b=v.b;break;case 4:e.a.b=v.b/2}else e.a.a=v.a/2,e.a.b=v.b/2}function vle(e){var t,n,i,s;if(xe(e.a,10))return Ga(f(e.a,10));if(xe(e.a,66))return xie(f(e.a,86));if(xe(e.a,50))return f(e.a,50).Wc();if(xe(e.a,191)){for(t=new n4,s=(i=new kg(new mg(new I1(f(e.a,191).a).a).b),new M1(i));ey(s.a.a);)b3(t,(n=Cy(s.a),n.yb()));return t}else{if(xe(e.a,13))return new Fu(f(e.a,13));if(xe(e.a,44)){for(t=new xi,s=Jt(f(e.a,44),0);s.b!=s.d.c;)an(t,f(qt(s),10));return t}else if(xe(e.a,58)){for(t=new Ur,s=Jt(f(e.a,58),0);s.b!=s.d.c;)an(t,qt(s));return t}else return e.a}}function xh(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I;v=0,I=0,p=vC(e.f,e.f.length),l=e.d,h=e.i,i=e.a,s=e.b;do{for(j=0,S=new M(e.p);S.aR?L:R;for(I=ln(re(ie(_t,1),Ht,10,0,[e.f.i,e.i,e.a])).b,C8(this,I,j,L),p=(l=new Wt(t.a).a.bb().mb(),new Zt(l));p.a.G();)v=(s=f(p.a.H(),21),f(s.yb(),27)),vn(this.c,f(v.b,12));this.f=!1}function ble(e,t,n,i){var s,l,h,v,p,m;if(v=(Ee(),yb).b,!(v in t.a&&Mn(t,v).ic().a)){if(m=Mn(t,mk),m){if(!m.lc())throw new ps("A label's 'text' property must be a string.",m,t)}else throw new ps("Labels must have a property 'text'.",null,t);if(p=m.lc().a,l=new P4(p),ce(l,(le(),lt),t),un(e.f,l,t),Q2(t,l),op(t,l),xe(n,9)?Le(f(n,9).c,l):xe(n,12)?Le(f(n,12).b,l):xe(n,7)&&Le(f(n,7).c,l),xe(n,12))switch(h=f(z(l,da),107),Q2(t,l),ce(l,da,h),s=f(z(i,Vr),18),h.e){case 2:case 3:s.ib((br(),uv));case 1:case 0:s.ib((br(),sv)),ce(l,da,(Es(),gb))}}}function Mx(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q;for(l=0,h=0,m=new M(e.a);m.a.5?q-=h*2*(I-.5):I<.5&&(q+=l*2*(.5-I)),s=v.e.b,qY.a-R-S&&(q=Y.a-R-S),v.i.a=t+q}}function ple(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne,Ue,Xe,it;return n=e.l&8191,i=e.l>>13|(e.m&15)<<9,s=e.m>>4&8191,l=e.m>>17|(e.h&255)<<5,h=(e.h&1048320)>>8,v=t.l&8191,p=t.l>>13|(t.m&15)<<9,m=t.m>>4&8191,S=t.m>>17|(t.h&255)<<5,x=(t.h&1048320)>>8,be=n*v,Ne=i*v,Ue=s*v,Xe=l*v,it=h*v,p!=0&&(Ne+=n*p,Ue+=i*p,Xe+=s*p,it+=l*p),m!=0&&(Ue+=n*m,Xe+=i*m,it+=s*m),S!=0&&(Xe+=n*S,it+=i*S),x!=0&&(it+=n*x),j=be&Wa,I=(Ne&511)<<13,L=j+I,Y=be>>22,q=Ne>>9,V=(Ue&262143)<<4,U=(Xe&31)<<17,R=Y+q+V+U,ue=Ue>>18,ye=Xe>>5,Ce=(it&4095)<<8,te=ue+ye+Ce,R+=L>>22,L&=Wa,te+=R>>22,R&=Wa,te&=ic,qu(L,R,te)}function wle(e,t,n,i){var s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye;if(Y=e.d.c.c.c.length,n>=Y-1)return null;for(s=new Se,s.c[s.c.length]=t,te=t,h=n,I=-1,v=f(_e(e.d.c.c,n),16),j=0;j1&&h1&&h>1;)S=kz(e,te),v=f(_e(e.d.c.c,h),16),x=f(_e(e.d.c.c,h-1),16),ye=f(R.sb(L++),24).a,q=Hu(ye,x.a.c.length),kh(te,q,x),kh(S,U,v),U=q,te&&(s.c[s.c.length]=te),te=S,--ue,++l,--h;for(V=(i-(s.c.length-1)*e.d.d)/s.c.length,m=new M(s);m.ai?0:i,t.o&&l.o&&xe(t,82)&&xe(l,82)&&!g2(iC(f(t,82).d,f(l,82).d))?(s=pg(new hd,e.d),v=Xn(K1(l.g.a-t.g.a)),Sh(Kf(Xf(Qf(Zf(new Ol,0>v?0:v),1),s),e.c[t.f.d])),Sh(Kf(Xf(Qf(Zf(new Ol,0>-v?0:-v),1),s),e.c[l.f.d]))):(m=1,(xe(t,82)&&xe(l,93)||xe(l,82)&&xe(t,93))&&(m=2),Sh(Kf(Xf(Qf(Zf(new Ol,Xn(i)),m),e.c[t.f.d]),e.c[l.f.d]))))}function Oz(){Oz=c,rL=new Yr,nL=Ch(re(ie(lf,1),Me,79,0,[(Ee(),AT),C_])),tL=Ch(re(ie(lf,1),Me,79,0,[_T,ku,(zt(),B6),x_,(le(),Qa),gv,R6])),XT=Ch(re(ie(lf,1),Me,79,0,[k_,tv,yb,S_,T_,HT,L_,Qk,YT,wb,s5,I6,h5,O6,Gb,A6,z6,p5,c5])),eL=Ch(re(ie(lf,1),Me,79,0,[rv,nv,Mh,es,vl,r5,ss,Yh,Ai,vv,eu,M6])),JT=Ch(re(ie(lf,1),Me,79,0,[Eb,go,Oo,hf,da,BT,zT,Wk,Uk,Kk,Zk,Xk,dt,kb,u5,f5,g5,Vh,cw,b5,fw,lw,d5,Sr,hw,w5,m5,bv,v5])),QT=Ch(re(ie(lf,1),Me,79,0,[ia,uc,Sb,l5])),_p=Ch(re(ie(lf,1),Me,79,0,[bb,Vk,Un,mb,yu,Oh])),oG=Ch(re(ie(lf,1),Me,79,0,[(bC(),KT)]))}function Az(e){var t,n,i,s,l,h,v;for(t=0,l=new M(e.b.a);l.aob)&&v<10);Rm(e.c,new J),Az(e),hne(e.c),lle(e.f)}function Sle(e){Id();var t,n,i,s,l,h,v;for(v=new wj,n=new M(e);n.a=v.b.c)&&(v.b=t),(!v.c||t.c<=v.c.c)&&(v.d=v.c,v.c=t),(!v.e||t.d>=v.e.d)&&(v.e=t),(!v.f||t.d<=v.f.d)&&(v.f=t);return i=new tp((Ag(),hc)),Dg(e,wG,new uo(re(ie(jb,1),Me,160,0,[i]))),h=new tp(ml),Dg(e,pG,new uo(re(ie(jb,1),Me,160,0,[h]))),s=new tp(wl),Dg(e,bG,new uo(re(ie(jb,1),Me,160,0,[s]))),l=new tp(bf),Dg(e,gG,new uo(re(ie(jb,1),Me,160,0,[l]))),ak(i.c,hc),ak(s.c,wl),ak(l.c,bf),ak(h.c,ml),v.a.c=ve(Ze,Me,1,0,4,1),Tn(v.a,i.c),Tn(v.a,w2(s.c)),Tn(v.a,l.c),Tn(v.a,w2(h.c)),v}function Cle(e){var t,n,i,s,l,h,v,p,m,S;for(s=f(bN(e,(Ee(),Mh)),15).a,v=new M(aB(e));v.a0;){for(R=(Sn(0,p.c.length),f(p.c[0],12)),s=(Sn(0,j.c.length),f(j.c[0],12)),V=s.d.b,l=ji(V,s,0),Ore(R,s.d,l),Bn(s,null),kn(s,null),I=R.a,t&&an(I,new qn(U)),i=Jt(s.a,0);i.b!=i.d.c;)n=f(qt(i),10),an(I,new qn(n));for(q=R.b,L=new M(s.b);L.ah)&&vn(e.c,f(Y.b,12));++v}l=h}}}function Bz(e,t,n){var i,s,l,h,v,p;for(this.g=e,v=t.d.length,p=n.d.length,this.d=ve(Er,Ii,9,v+p,0,1),h=0;h0?v2(this,this.f/this.a):xa(t.g,t.d[0]).a!=null&&xa(n.g,n.d[0]).a!=null?v2(this,(ge(xa(t.g,t.d[0]).a)+ge(xa(n.g,n.d[0]).a))/2):xa(t.g,t.d[0]).a!=null?v2(this,xa(t.g,t.d[0]).a):xa(n.g,n.d[0]).a!=null&&v2(this,xa(n.g,n.d[0]).a)}function Ple(e,t){var n,i,s,l,h,v,p,m,S,x,L;switch(e.g.e){case 1:if(i=f(z(e,(le(),lt)),12),n=f(z(i,T6),44),n?Pt(ge(Nt(z(i,Js))))&&(n=S2(n)):n=new xi,m=f(z(e,Oi),7),S=ln(re(ie(_t,1),Ht,10,0,[m.f.i,m.i,m.a])),t<=S.a)return S.b;if(mr(n,S,n.a,n.a.a),x=f(z(e,Si),7),L=ln(re(ie(_t,1),Ht,10,0,[x.f.i,x.i,x.a])),L.a<=t)return L.b;for(mr(n,L,n.c.b,n.c),p=Jt(n,0),h=f(qt(p),10),v=f(qt(p),10);v.a=2)for(Hs(e.a),i=0,L=Jt(n,0);L.b!=L.d.c;)x=f(qt(L),10),i==0?(t=uu(uu(new ot(x.a,x.b),e.c.i),e.c.f.i),e.c.a.a=t.a,e.c.a.b=t.b):i==n.b-1?(t=uu(uu(new ot(x.a,x.b),e.d.i),e.d.f.i),e.d.a.a=t.a,e.d.a.b=t.b):an(e.a,x),++i;if(S)for(p=Jt(e.a,0);p.b!=p.d.c;)v=f(qt(p),10),h.a=je(h.a,v.a),h.b=je(h.b,v.b);for(l=new M(e.b);l.a0&&ce(h,k6,(yn(),yn(),oi)),v=f(z(h,(Ee(),dt)),28),v==(zn(),cc)||v!=Ao&&i.ib((br(),mf)),Pt(ge(Nt(z(h,tv))))&&i.ib((br(),UE)),Pt(ge(Nt(z(h,wb))))&&(i.ib((br(),KE)),i.ib(rw),ce(h,dt,Ao)),h}function Ox(e,t){t.V()&&La(e.n,!0,!0,!0,!0),t.t((we(),Bh))&&La(e.n,!0,!0,!0,!1),t.t(Rh)&&La(e.n,!1,!0,!0,!0),t.t(zh)&&La(e.n,!0,!0,!1,!0),t.t(Hh)&&La(e.n,!0,!1,!0,!0),t.t(bl)&&La(e.n,!1,!0,!0,!1),t.t(gl)&&La(e.n,!1,!0,!1,!0),t.t(pl)&&La(e.n,!0,!1,!1,!0),t.t(vf)&&La(e.n,!0,!1,!0,!1),t.t(ns)&&La(e.n,!0,!0,!0,!0),t.t(Eu)&&La(e.n,!0,!0,!0,!0),t.t(ns)&&La(e.n,!0,!0,!0,!0),t.t(pa)&&La(e.n,!0,!0,!0,!0),t.t(Ba)&&La(e.n,!0,!0,!0,!0),t.t(Ra)&&La(e.n,!0,!0,!0,!0),t.t(qr)&&La(e.n,!0,!0,!0,!0)}function Hz(e,t){var n,i,s,l,h,v,p,m,S,x;for(p=!0,s=0,m=e.f[t.k],S=t.j.b+e.n,n=e.c[t.k][2],Uc(e.a,m,gt(f(_e(e.a,m),24).a-1+n)),Uc(e.b,m,ge(Ot(_e(e.b,m)))-S+n*e.e),++m,m>=e.i?(++e.i,Le(e.a,gt(1)),Le(e.b,S)):(i=e.c[t.k][1],Uc(e.a,m,gt(f(_e(e.a,m),24).a+1-i)),Uc(e.b,m,ge(Ot(_e(e.b,m)))+S-i*e.e)),(e.q==(rl(),Ib)&&(f(_e(e.a,m),24).a>e.j||f(_e(e.a,m-1),24).a>e.j)||e.q==Mb&&(ge(Ot(_e(e.b,m)))>e.k||ge(Ot(_e(e.b,m-1)))>e.k))&&(p=!1),h=Dt(Dr(t));xt(h);)l=f(Et(h),12),v=l.c.f,e.f[v.k]==m&&(x=Hz(e,v),s=s+f(x.a,24).a,p=p&&Pt(ge(Nt(x.b))));return e.f[t.k]=m,s=s+e.c[t.k][0],new wr(gt(s),(yn(),p?oi:Rn))}function Ax(e,t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q;if(L=new qn(e.j),q=t.a/L.a,v=t.b/L.b,R=t.a-L.a,l=t.b-L.b,n)for(s=He(z(e,(Ee(),dt)))===He((zn(),ii)),I=new M(e.f);I.a=1&&(Y-h>0&&x>=0?(p.i.a+=R,p.i.b+=l*h):Y-h<0&&S>=0&&(p.i.a+=R*Y,p.i.b+=l));e.j.a=t.a,e.j.b=t.b,ce(e,(Ee(),uc),(gu(),i=f(Gi(iv),11),new ri(i,f(Ti(i,i.length),11),0)))}function _z(e){var t,n,i,s,l,h,v,p,m,S;for(i=new Se,h=new M(e.e.a);h.a-1){for(s=Jt(v,0);s.b!=s.d.c;)i=f(qt(s),77),i.n=h;for(;v.b!=0;)for(i=f(zC(v,0),77),n=new M(i.d);n.a0&&(e.a=m+(R-1)*l,t.d.b+=e.a,t.e.b+=e.a)),Y.a.Y()!=0&&(I=new U2(1,l),R=Tx(I,t,Y,q,t.e.b+m-t.d.b),R>0&&(t.e.b+=m+(R-1)*l))}function Gz(e,t){var n,i,s,l,h,v,p,m,S;return mn(),t.length==0?e.fc(Hx,vk,-1,-1):(S=Jc(t),Ho(S.substr(0,3),"at ")&&(S=Pd(S,3,S.length-3)),S=S.replace(/\[.*?\]/g,""),h=S.indexOf("("),h==-1?(h=S.indexOf("@"),h==-1?(m=S,S=""):(m=Jc(Pd(S,h+1,S.length-(h+1))),S=Jc(S.substr(0,h)))):(n=S.indexOf(")",h),m=S.substr(h+1,n-(h+1)),S=Jc(S.substr(0,h))),h=Xte(S,XC(46)),h!=-1&&(S=Pd(S,h+1,S.length-(h+1))),(S.length==0||Ho(S,"Anonymous function"))&&(S=vk),v=une(m,XC(58)),s=wne(m,XC(58),v-1),p=-1,i=-1,l=Hx,v!=-1&&s!=-1&&(l=m.substr(0,s),p=tM(m.substr(s+1,v-(s+1))),i=tM(Pd(m,v+1,m.length-(v+1)))),e.fc(l,S,p,i))}function Ole(e){var t,n,i,s,l,h,v,p,m,S;for(m=new Se,v=new Se,h=new M(e);h.a-1){for(l=new M(v);l.a0)&&(p.i=Hu(p.i,s.i-1),--p.f,p.f==0&&(v.c[v.c.length]=p))}}function Ale(e,t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R;if(Pt(ge(Nt(z(n,(Ee(),Qk))))))for(v=new M(n.f);v.a0),h.a.sb(h.c=--h.b),cu(h,i),Cg(m,i),dp(i,p.g),Tg(m),Tg(m),s.a.eb(i)!=null}}function Gle(e){var t,n,i,s,l,h,v,p,m;l=new xm(e),s=Mn(l,"graph"),p=Mn(l,"success"),i=Mn(l,"error"),h=Mn(l,"options");try{if(!s||!s.kc())throw new R1("Mandatory parameter missing, 'graph' must be specified");qae(new g9,s.kc(),h?h.kc():null),v=s.kc().a,p&&p.kc()?Ug(p.kc().a,v):Ug(null,v)}catch(S){if(S=Kr(S),xe(S,73))m=S,i&&i.kc()?Ug(i.kc().a,PB(m).a):Ug(null,PB(m).a);else if(xe(S,54))t=S,n=new Al,ja(n,"type",new $c(_1(t.$c))),t.bc()!=null?ja(n,mk,new $c(t.bc())):ja(n,mk,new $c("null (sic)")),ja(n,SH,new $c(O4(new B1(` -`),new Yf(new uo((t.g==null&&(t.g=o3(t)),t.g)))))),i&&i.kc()?Ug(i.kc().a,n.a):Ug(null,n.a),GC(t,($l(),lY));else throw Zr(S)}}function $le(e,t,n){var i,s,l,h,v,p,m,S,x,L;if(n)for(i=-1,S=new fn(t,0);S.b0&&n.c==0&&(!t&&(t=new Se),t.c[t.c.length]=n);if(t)for(;t.c.length!=0;){if(n=f(Zl(t,0),102),n.b&&n.b.c.length>0){for(l=(!n.b&&(n.b=new Se),new M(n.b));l.aji(e,n,0))return new wr(s,n)}else if(ge(xa(s.g,s.d[0]).a)>ge(xa(n.g,n.d[0]).a))return new wr(s,n)}for(v=(!n.e&&(n.e=new Se),n.e).mb();v.G();)h=f(v.H(),102),p=(!h.b&&(h.b=new Se),h.b),Xc(0,p.c.length),dg(p.c,0,n),h.c==p.c.length&&(t.c[t.c.length]=h)}return null}function qle(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R;for(x=(On(),new $t),S=(_n(),new Go($o(bs(e.a,new T))));xt(S);)for(m=f(Et(S),9),s=Fae(m,(we(),Be)),i=new M(s);i.a0&&(l.a=je(l.a,s+e.q.b+e.q.c)),n>0&&(l.b=je(l.b,n+e.q.d+e.q.a))):(s>0&&(l.a=je(l.a,s)),n>0&&(l.b=je(l.b,n)))),Hte(e.e,l)}}function $z(e,t,n){var i,s,l,h,v,p,m,S,x,L,j;if(!e.b)return!1;for(h=null,L=null,p=new c2(null,null),s=1,p.a[1]=e.b,x=p;x.a[s];)m=s,v=L,L=x,x=x.a[s],i=e.a.$b(t,x.d),s=i<0?0:1,i==0&&(!n.c||la(x.e,n.d))&&(h=x),!(x&&x.b)&&!_u(x.a[s])&&(_u(x.a[1-s])?L=L.a[m]=F0(x,s):_u(x.a[1-s])||(j=L.a[1-m],j&&(!_u(j.a[1-m])&&!_u(j.a[m])?(L.b=!1,j.b=!0,x.b=!0):(l=v.a[1]==L?1:0,_u(j.a[m])?v.a[l]=YO(L,m):_u(j.a[1-m])&&(v.a[l]=F0(L,m)),x.b=v.a[l].b=!0,v.a[l].a[0].b=!1,v.a[l].a[1].b=!1))));return h&&(n.b=!0,n.d=h.e,x!=h&&(S=new c2(x.d,x.e),xse(e,p,h,S),L==h&&(L=S)),L.a[L.a[1]==x?1:0]=x.a[x.a[0]?0:1],--e.c),e.b=p.a[1],e.b&&(e.b.b=!1),n.b}function Ule(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V;for(i=f(z(e,(Ee(),dt)),28),p=e.e,v=e.a,n=f(z(e,(le(),ss)),15).a,m=p.a+v.b+v.c+2*n,S=0-v.d-n-e.d.b,j=p.b+v.d+v.a+2*n-e.d.b,x=new Se,I=new Se,l=(L=new Wt(t.a).a.bb().mb(),new Zt(L));l.a.G();){switch(s=(h=f(l.a.H(),21),f(h.yb(),9)),i.e){case 1:case 2:case 3:oue(s);break;case 4:R=f(z(s,yu),10),Y=R?R.a:0,s.i.a=m*ge(Ot(z(s,Lu)))-Y,J0(s,!0,!1);break;case 5:q=f(z(s,yu),10),V=q?q.a:0,s.i.a=ge(Ot(z(s,Lu)))-V,J0(s,!0,!1),p.a=je(p.a,s.i.a+s.j.a/2)}switch(f(z(s,_r),32).e){case 1:s.i.b=S,x.c[x.c.length]=s;break;case 3:s.i.b=j,I.c[I.c.length]=s}}switch(i.e){case 1:case 2:FR(x,e),FR(I,e);break;case 3:qR(x,e),qR(I,e)}}function Kle(e){var t,n,i,s,l,h;return i=f(z(e.a.g,(Ee(),ia)),86),c8(i,(pu(),t=f(Gi(Ln),11),new ri(t,f(Ti(t,t.length),11),0)))||(Xu(i,X0(Wi))?(n=f(f(Ia(e.a.b,e.b),20).sb(0),33),e.b.i.a=n.i.a,e.b.i.b=n.i.b):Xu(i,X0(Ki))?(s=f(_e(e.a.c,e.a.c.c.length-1),9),l=f(f(Ia(e.a.b,e.b),20).sb(f(Ia(e.a.b,e.b),20).Y()-1),33),h=s.j.a-(l.i.a+l.j.a),e.b.i.a=e.a.g.j.a-h-e.b.j.a,e.b.i.b=l.i.b):Xu(i,Ft(ga,re(ie(Ln,1),De,41,0,[Ka])))?(n=f(f(Ia(e.a.b,e.b),20).sb(0),33),e.b.i.a=(e.a.g.j.a-e.b.j.a)/2,e.b.i.b=n.i.b):Xu(i,X0(ga))?(n=f(f(Ia(e.a.b,e.b),20).sb(0),33),e.b.i.b=n.i.b):Xu(i,X0(Ka))&&(n=f(f(Ia(e.a.b,e.b),20).sb(0),33),e.b.i.a=(e.a.g.j.a-e.b.j.a)/2,e.b.i.b=n.i.b)),null}function Yz(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y;for(I=new M(e);I.aq?p:q,U=new M(S.f);U.a=m&&ue>=Y&&(L+=I.i.b+R.i.b+R.a.b-te,++v));if(n)for(h=new M(V.b);h.a=m&&ue>=Y&&(L+=I.i.b+R.i.b+R.a.b-te,++v))}v>0&&(ye+=L/v,++j)}j>0?(t.a=s*ye/j,t.i=j):(t.a=0,t.i=0)}function Jle(e,t,n,i){var s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V;for(j=t.c.length,L=0,x=new M(e.c);x.a=0){for(p=null,v=new fn(S.a,m+1);v.b0&&(e.a[t.d.k][t.k].d+=rf(e.e,24)*Lk*.07000000029802322-.03500000014901161,e.a[t.d.k][t.k].a=e.a[t.d.k][t.k].d/e.a[t.d.k][t.k].b)}}function efe(e,t){var n,i,s,l,h,v,p,m,S,x,L;for(s=new M(e.a.c);s.aHr||t.k==Su&&S0&&(i+=l.b.c.length+l.e.c.length,un(t,l,gt(i)));else{for(v=Jn(p,(we(),Be)).mb();v.G();)l=f(v.H(),7),i+=l.b.c.length+l.e.c.length;for(h=Jn(p,Be).mb();h.G();)l=f(h.H(),7),l.b.c.length+l.e.c.length>0&&un(t,l,gt(i))}for(m=e.length-1;m>=0;m--)if(p=e[m],gi(f(z(p,(Ee(),dt)),28)))for(L=Jn(p,(we(),qe)).mb();L.G();)x=f(L.H(),7),x.b.c.length+x.e.c.length>0&&(s+=x.b.c.length+x.e.c.length,un(n,x,gt(s)));else{for(j=Jn(p,(we(),qe)).mb();j.G();)x=f(j.H(),7),s+=x.b.c.length+x.e.c.length;for(L=Jn(p,qe).mb();L.G();)x=f(L.H(),7),x.b.c.length+x.e.c.length>0&&un(n,x,gt(s))}}function rfe(e,t,n,i,s){var l,h,v,p,m,S,x,L,j,I,R,Y,q;switch(L=_d(e.g),I=_d(t.g),j=dn(Ga(e.i),e.a),R=dn(Ga(t.i),t.a),p=dn(new ot(j.a,j.b),Fo(new Fc(L),1.3*n)),Y=dn(new ot(R.a,R.b),Fo(new Fc(I),1.3*i)),v=ni(p.a-Y.a),vY?m:Y}for(n.e.b+=m-v.b,x=new M(e.a);x.a1;)t=Xt(l,e.c),m=(x=new Va(e.e.c),_a(x,(et(),Mi)),ce(x,(Ee(),dt),f(z(m,dt),28)),ce(x,ia,f(z(m,ia),86)),x.k=e.e.b++,Le(e.b,x),x.j.b=m.j.b,x.j.a=t,L=new Yn,Bt(L,(we(),Be)),cn(L,m),L.i.a=x.j.a,L.i.b=x.j.b/2,j=new Yn,Bt(j,qe),cn(j,x),j.i.b=x.j.b/2,j.i.a=-j.j.a,I=new ws,Bn(I,L),kn(I,j),x),Le(e.e.c.b,m),--S,l-=e.c+e.e.d;for(new $C(e.d,e.b,e.c),v=new M(s);v.at.a||t.p>e.a)){for(n=0,i=0,x=(h=new Wt(e.o.a).a.bb().mb(),new Zt(h));x.a.G();)m=(s=f(x.a.H(),21),f(s.yb(),7)),M2(ln(re(ie(_t,1),Ht,10,0,[m.f.i,m.i,m.a])).b,t.p,t.a)&&++n;for(L=(v=new Wt(e.g.a).a.bb().mb(),new Zt(v));L.a.G();)m=(s=f(L.a.H(),21),f(s.yb(),7)),M2(ln(re(ie(_t,1),Ht,10,0,[m.f.i,m.i,m.a])).b,t.p,t.a)&&--n;for(j=(p=new Wt(t.o.a).a.bb().mb(),new Zt(p));j.a.G();)m=(s=f(j.a.H(),21),f(s.yb(),7)),M2(ln(re(ie(_t,1),Ht,10,0,[m.f.i,m.i,m.a])).b,e.p,e.a)&&++i;for(S=(l=new Wt(t.g.a).a.bb().mb(),new Zt(l));S.a.G();)m=(s=f(S.a.H(),21),f(s.yb(),7)),M2(ln(re(ie(_t,1),Ht,10,0,[m.f.i,m.i,m.a])).b,e.p,e.a)&&--i;n1)for(p=Jt(ca(Jn(t,qe)),0);p.b!=p.d.c;)v=f(qt(p),7),v.b.c.length==0?(s=new Yn,Bt(s,qe),s.j.a=v.j.a,s.j.b=v.j.b,cn(s,i),ce(s,lt,z(v,lt)),cn(v,null)):cn(h,i);return ce(t,lt,null),ce(t,wc,Rn),_a(t,Mi),ce(i,(Ee(),dt),f(z(t,dt),28)),ce(i,ia,f(z(t,ia),86)),Gc(e.b,0,i),i}function wp(e,t,n,i,s,l,h){var v,p,m,S,x,L;switch(x=n,m=new Va(h),_a(m,(et(),Cn)),ce(m,(le(),x6),s),ce(m,(Ee(),dt),(zn(),ii)),ce(m,fv,f(z(e,vl),15)),p=f(z(e,yu),10),!p&&(p=new ot(s.a/2,s.b/2)),ce(m,yu,p),S=new Yn,cn(S,m),t!=Ao&&t!=cc||(v=l!=($n(),Mo)?l:Vi,i>0?x=Z0(v):x=P2(Z0(v)),ce(e,Eb,x)),x.e){case 4:ce(m,(zt(),Sr),(Fi(),mc)),ce(m,e5,(ph(),Bb)),m.j.b=s.b,Bt(S,(we(),Be)),S.i.b=p.b;break;case 2:ce(m,(zt(),Sr),(Fi(),Pu)),ce(m,e5,(ph(),tw)),m.j.b=s.b,Bt(S,(we(),qe)),S.i.b=p.b;break;case 1:ce(m,Qs,(ks(),kf)),m.j.a=s.a,Bt(S,(we(),ct)),S.i.a=p.a;break;case 3:ce(m,Qs,(ks(),$h)),m.j.a=s.a,Bt(S,(we(),rt)),S.i.a=p.a}if(t==Ah||t==ts||t==ii){switch(L=0,x.e){case 4:case 2:L=null.cd,t==ts&&(L/=null.cd);break;case 1:case 3:L=null.cd,t==ts&&(L/=null.cd)}ce(m,Lu,L)}return ce(m,_r,x),m}function sfe(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U;for(m=new xi,q=(On(),new $t),un(q,e,W8(e)),i=(hi(2,ul),new Ni(2)),e.c&&Le(i,e.c),e.d&&Le(i,e.d),j=new M(i);j.a1&&mr(m,I,m.c.b,m.c),tC(n)));I=R}return m}function ufe(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R;for(e.n=f(z(e.g,(le(),Ai)),15).a*f(z(e.g,(zt(),vv)),15).a,e.e=e.n*f(z(e.g,eu),15).a,e.i=e.g.c.c.length,v=e.i-1,L=0,e.j=0,e.k=0,e.a=H0(ve(Mk,Nr,24,e.i,0,1)),e.b=H0(ve(Yb,Nr,184,e.i,6,1)),h=new M(e.g.c);h.a0&&Le(e.p,S),Le(e.o,S);t-=i,j=p+t,m+=t*e.e,Uc(e.a,v,gt(j)),Uc(e.b,v,m),e.j=ti(e.j,j),e.k=je(e.k,m),e.d+=t,t+=R}}function we(){we=c;var e;fr=new ug(sf,0),rt=new ug("NORTH",1),Be=new ug("EAST",2),ct=new ug("SOUTH",3),qe=new ug("WEST",4),Hp=(Qt(),new Rl((e=f(Gi(Mr),11),new ri(e,f(Ti(e,e.length),11),0)))),Bh=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[]))),Rh=Uo(Ft(Be,re(ie(Mr,1),De,32,0,[]))),zh=Uo(Ft(ct,re(ie(Mr,1),De,32,0,[]))),Hh=Uo(Ft(qe,re(ie(Mr,1),De,32,0,[]))),ns=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[ct]))),Eu=Uo(Ft(Be,re(ie(Mr,1),De,32,0,[qe]))),vf=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[qe]))),bl=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[Be]))),pl=Uo(Ft(ct,re(ie(Mr,1),De,32,0,[qe]))),gl=Uo(Ft(Be,re(ie(Mr,1),De,32,0,[ct]))),Ra=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[Be,qe]))),pa=Uo(Ft(Be,re(ie(Mr,1),De,32,0,[ct,qe]))),Ba=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[ct,qe]))),Aa=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[Be,ct]))),qr=Uo(Ft(rt,re(ie(Mr,1),De,32,0,[Be,ct,qe])))}function cfe(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne;for(te=new Se,L=new M(e.c);L.a=t.length)return{done:!0};var s=t[i++];return{value:[s,n.get(s)],done:!1}}}},ice()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[Dk]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Wz(e,t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te;if(S=new nC,ce(S,ZT,t),un(e.e,t,S),ce(S,(le(),Cl),n),e.d&&nB(e.d,S,!1),op(t,S),Ck in t.a&&(Y=S.a,q=f(Mn(t,Ck),69),R=f(Mn(q,"left"),104),R&&(Y.b=R.a),U=f(Mn(q,"top"),104),U&&(Y.d=U.a),V=f(Mn(q,"right"),104),V&&(Y.c=V.a),s=f(Mn(q,nT),104),s&&(Y.a=s.a)),x=(i=f(Gi(f6),11),new ri(i,f(Ti(i,i.length),11),0)),ce(S,Vr,x),e.g==null&&(e.g=Nt(z(S,(x3(),iL)))),Xd in t.a){if(te=Mn(t,Xd),!te.hc())throw new ps("The 'children' property of nodes must be an array.",te,t);if(m=te.hc(),m.a.length>0){for(n&&ce(n,Sl,S),v=ve(Er,Ii,9,m.a.length,0,1),j=0;jbe[p]&&(Y=p),x=new M(e.b.c);x.a1)for(Le(l,new Ix(Y,ue,n)),I=(x=new Wt(ue.a).a.bb().mb(),new Zt(x));I.a.G();)j=(m=f(I.a.H(),21),f(m.yb(),27)),Tr(s,j.b);if(h.a.Y()>1)for(Le(l,new Ix(Y,h,n)),I=(x=new Wt(h.a).a.bb().mb(),new Zt(x));I.a.G();)j=(m=f(I.a.H(),21),f(m.yb(),27)),Tr(s,j.b)}}function vfe(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce;for(s=0,V=0,q=(On(),new $t),i=new $t,l=new $t,Ce=new $t,nfe(e,l,Ce),t=null,Y=0,ye=0,U=!0,p=!0,L=0,I=e.length;Lt.j.d){if(R=e.c[t.f.d],V=e.c[L.f.d],R==V)continue;Sh(Kf(Xf(Qf(Zf(new Ol,1),100),R),V))}}}}}function Uz(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I;switch(h=new IM(e),v=Wc(Lo(t,h)),Fa(v,new L1),s=e.b,s.c){case 2:p=new ld(s.a),n=Ld(Lo(v,p)),Ku(n)?m=f(Xl(n),91).b:m=15,p=new ld(AC(s)),n=Ld(Lo(v,p)),Ku(n)?l=f(Xl(n),91).b:l=15,p=new ld(s.b),n=Ld(Lo(v,p)),Ku(n)?S=f(Xl(n),91).b:S=15,i=bue(e,m,l,S),vn(t,new Fd(i,e.c,e.e,e.a.c.f,s.a)),vn(t,new Fd(i,e.c,e.e,e.a.c.f,AC(s))),vn(t,new Fd(i,e.c,e.e,e.a.c.f,s.b));break;case 1:p=new ld(s.a),n=Ld(Lo(v,p)),Ku(n)?m=f(Xl(n),91).b:m=15,p=new ld(s.b),n=Ld(Lo(v,p)),Ku(n)?S=f(Xl(n),91).b:S=15,i=cue(e,m,S),vn(t,new Fd(i,e.c,e.e,e.a.c.f,s.a)),vn(t,new Fd(i,e.c,e.e,e.a.c.f,s.b));break;case 0:p=new ld(s.a),n=Ld(Lo(v,p)),Ku(n)?m=f(Xl(n),91).b:m=15,i=(x=e.b,L=pce(e.a.c,e.a.d,m),na(e.a.a,B2(L)),j=KC(e.a.b,L.a,x),I=new jg((!L.k&&(L.k=new W2(p2(L))),L.k)),T3(I),j?y3(I,j):I),vn(t,new Fd(i,e.c,e.e,e.a.c.f,s.a));break;default:throw new nn("The loopside must be defined.")}return i}function bfe(e,t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue;for(v=new M(e.a.c);v.a0)if(i=x.Y(),m=Xn(Math.floor((i+1)/2))-1,s=Xn(Math.ceil((i+1)/2))-1,t.k==Xa)for(S=s;S>=m;S--)t.a[te.k]==te&&(R=f(x.sb(S),27),I=f(R.a,9),!Oc(n,R.b)&&j>e.b.e[I.k]&&(t.a[I.k]=te,t.f[te.k]=t.f[I.k],t.a[te.k]=t.f[te.k],j=e.b.e[I.k]));else for(S=m;S<=s;S++)t.a[te.k]==te&&(q=f(x.sb(S),27),Y=f(q.a,9),!Oc(n,q.b)&&j0||n.k==Xa&&sq?j:q):n.n[t.k]=i>(j>q?j:q)?i:j>q?j:q)):(Y=e.d.f,R=sR(e,n.i[t.k]),L=sR(e,n.i[x.k]),n.k==Xa?(I=ge(n.n[t.k])+ge(n.d[h.k])+h.j.b+h.e.a+Y-(ge(n.n[x.k])+ge(n.d[m.k])-m.e.d),GO(R,L,I)):(I=ge(n.n[t.k])+ge(n.d[h.k])-h.e.d-ge(n.n[x.k])-ge(n.d[m.k])-m.j.b-m.e.a-Y,GO(R,L,I)))):q=e.e.Ic(q,t,h),h=n.a[h.k];while(h!=t);Aee(e.e,t)}}function mfe(e,t,n,i){var s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V;if(L=!1,x=!1,gs(f(z(i,(Ee(),dt)),28))){h=!1,v=!1;e:for(I=new M(i.f);I.a=i.j.b/2}else V=!x;V?(q=f(z(i,(le(),hv)),20),q?L?l=q:(s=f(z(i,cv),20),s?q.Y()<=s.Y()?l=q:l=s:(l=new Se,ce(i,cv,l))):(l=new Se,ce(i,hv,l))):(s=f(z(i,(le(),cv)),20),s?x?l=s:(q=f(z(i,hv),20),q?s.Y()<=q.Y()?l=s:l=q:(l=new Se,ce(i,hv,l))):(l=new Se,ce(i,cv,l))),l.ib(e),ce(e,(le(),ow),n),t.d==n?(kn(t,null),n.b.c.length+n.e.c.length==0&&cn(n,null)):(Bn(t,null),n.b.c.length+n.e.c.length==0&&cn(n,null)),Hs(t.a)}function yfe(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U;for(n=new I8(t),n.a||lce(t),m=zue(t),p=new cg,Y=new QB,R=new M(t.b);R.am.k&&(++t,j=!0),I&&m&&I.k>m.k&&(++t,R=!0),L&&v&&L.kv.k&&(++t,p=!0),L&&v&&L.km.k&&(++t,S=!0),p&&S&&v==m&&--t)}}return t}function Sfe(e){var t,n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne,Ue;for(U=e.a,te=0,ue=U.length;te0?(x=f(_e(L.d.a,h-1),9),be=Eg(e.b,L,x),Y=L.i.b-L.e.d-(x.i.b+x.j.b+x.e.a+be)):Y=L.i.b-L.e.d,m=Y1&&(h=Xt(h,ni(f(Hd(v.a,1),10).b-S.b)))));else for(R=new M(t.f);R.as&&(l=L.a-s,h=kr,i.c=ve(Ze,Me,1,0,4,1),s=L.a),L.a>=s&&(i.c[i.c.length]=v,v.a.b>1&&(h=Xt(h,ni(f(Hd(v.a,v.a.b-2),10).b-L.b)))));if(i.c.length!=0&&l>t.j.a/2&&h>t.j.b/2){for(j=new Yn,cn(j,t),Bt(j,(we(),rt)),j.i.a=t.j.a/2,q=new Yn,cn(q,t),Bt(q,ct),q.i.a=t.j.a/2,q.i.b=t.j.b,p=new M(i);p.a=m.b?Bn(v,q):Bn(v,j)):(m=f(ine(v.a),10),Y=v.a.b==0?Di(v.c):f(o0(v.a),10),Y.b>=m.b?kn(v,q):kn(v,j)),x=f(z(v,(Ee(),Un)),44),x&&Hg(x,m,!0);t.i.a=s-t.j.a/2}}function Pfe(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U;for(q=new Se,V=new Se,U=new Se,l=new M(t);l.a50?q.c[q.c.length]=s:s.k>0?V.c[V.c.length]=s:U.c[U.c.length]=s;if(V.c.length==1&&q.c.length==0&&(Tn(q,V),V.c=ve(Ze,Me,1,0,4,1)),q.c.length!=0&&qo(dy(e.a),(wi(),Ns))&&qo(dy(e.a),(wi(),as))?Uae(e,q):Tn(V,q),V.c.length==0||Kae(e,V),U.c.length!=0){if(n=vy(e.a),n.c!=0)for(S=new M(U),p=(vt(n),G4(new EI(n).a));S.a1&&(R=f(eC(p),60),$d(s,R,!0),Dd(S),TO(e.a,R))}for(L=U.c.length,i=oce(e),j=new Se,h=L/L4(e.a).c|0,v=0;v3&&(Tn(j,(wi(),wi(),S$)),I-=4),I){case 3:Le(j,Xg(i));case 2:Y=vp(Xg(i));do Y=vp(Y);while(!qo(dy(e.a),Y));j.c[j.c.length]=Y,Y=vx(Xg(i));do Y=vx(Y);while(!qo(dy(e.a),Y));j.c[j.c.length]=Y;break;case 1:Le(j,Xg(i))}for(x=new M(j),m=new M(U);x.a1&&(e.c[x]=!0):U.g==qe&&U.e.c.length+U.b.c.length>1&&(e.d[x]=!0)}Y.g==(et(),er)&&(++p[x],h[x]=!0)}for(n=!0,R=!0,v=0;v0,q=ue.e.c.length>0,m&&q?L.c[L.c.length]=ue:m?R.c[R.c.length]=ue:q&&(te.c[te.c.length]=ue);for(I=new M(R);I.a=R&&(te>R&&(I.c=ve(Ze,Me,1,0,4,1),R=te),I.c[I.c.length]=h);I.c.length!=0&&(j=f(_e(I,RC(t,I.c.length)),77),st.a.eb(j)!=null,j.i=Y++,dx(j,Xe,be),I.c=ve(Ze,Me,1,0,4,1))}for(ye=e.c.length+1,v=new M(e);v.ait.i&&(Po(n),Tr(it.d,i),i.c>0&&(i.a=it,Le(it.j,i),i.b=Ne,Le(Ne.d,i)))}function Nfe(e){var t,n,i;for(i=new E0(new O1(e.c).a);i0(i.a);)switch(n=(i.b=Kc(i.a),new X1(i.c,i.b)),t=f(n.b.b[n.a.e],62),f(n.a,67).e){case 0:t.d=0,t.e=-(t.b+e.d);break;case 1:t.d=(e.e.e.j.a-t.c)/2,t.e=-(t.b+e.d);break;case 2:t.d=e.e.e.j.a-t.c,t.e=-(t.b+e.d);break;case 3:t.d=0,t.e=e.e.e.j.b+e.d;break;case 4:t.d=(e.e.e.j.a-t.c)/2,t.e=e.e.e.j.b+e.d;break;case 5:t.d=e.e.e.j.a-t.c,t.e=e.e.e.j.b+e.d;break;case 6:t.d=-(t.c+e.d),t.e=0;break;case 7:t.d=-(t.c+e.d),t.e=(e.e.e.j.b-t.b)/2;break;case 8:t.d=-(t.c+e.d),t.e=e.e.e.j.b-t.b;break;case 9:t.d=e.e.e.j.a+e.d,t.e=0;break;case 10:t.d=e.e.e.j.a+e.d,t.e=(e.e.e.j.b-t.b)/2;break;case 11:t.d=e.e.e.j.a+e.d,t.e=e.e.e.j.b-t.b;break;case 12:t.d=e.q.b+e.d,t.e=e.q.d+e.d;break;case 13:t.d=(e.e.e.j.a-t.c)/2,t.e=e.q.d+e.d;break;case 14:t.d=e.e.e.j.a-e.q.c-t.c-e.d,t.e=e.q.d+e.d;break;case 15:t.d=e.q.b+e.d,t.e=(e.e.e.j.b-t.b)/2;break;case 16:t.d=(e.e.e.j.a-t.c)/2,t.e=(e.e.e.j.b-t.b)/2;break;case 17:t.d=e.e.e.j.a-e.q.c-t.c-e.d,t.e=(e.e.e.j.b-t.b)/2;break;case 18:t.d=e.q.b+e.d,t.e=e.e.e.j.b-e.q.a-t.b-e.d;break;case 19:t.d=(e.e.e.j.a-t.c)/2,t.e=e.e.e.j.b-e.q.a-t.b-e.d;break;case 20:t.d=e.e.e.j.a-e.q.c-t.c-e.d,t.e=e.e.e.j.b-e.q.a-t.b-e.d}}function Ife(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne,Ue,Xe,it,st,Tt;for(Xe=new Ur,be=new Ur,I=-1,V=new M(e);V.a=L&&(te>L&&(x.c=ve(Ze,Me,1,0,4,1),L=te),x.c[x.c.length]=Y);x.c.length!=0&&(S=f(_e(x,RC(t,x.c.length)),80),xg(st.a,S)!=null,S.d=j++,hx(S,Xe,be),x.c=ve(Ze,Me,1,0,4,1))}for(ye=e.c.length+1,q=new M(e);q.ait.d&&(Po(n),Tr(it.b,i),i.c>0&&(i.a=it,Le(it.e,i),i.b=Ne,Le(Ne.b,i)))}function Mfe(e){switch(e.e){case 14:return new ft;case 37:return new gn;case 8:return new Uj;case 30:return new Kj;case 38:return new ht;case 3:return new Rt;case 47:case 1:return new Lm((U0(),fL));case 4:return new Lt;case 49:return new yt;case 23:return new pm;case 13:return new Mt;case 34:return new Pn;case 40:return new Vt;case 35:return new ne;case 44:return new jI;case 28:return new Ie;case 39:return new Je;case 27:return new Ye;case 6:return new Fe;case 31:return new tr;case 9:return new p9;case 43:return new Dn;case 17:return new rr;case 18:return new ci;case 29:return new w9;case 11:return new Bu;case 12:return new fs;case 36:return new hs;case 46:case 0:return new Lm((U0(),lL));case 41:return new zo;case 15:return new Ha;case 33:return new au;case 42:return new Nc;case 22:return new Ml;case 19:return new Gt;case 10:return new oa;case 7:return new Ic;case 24:return new ao;case 21:return new Sa;case 16:return new od;case 45:return new Rs;case 26:return new T1;case 20:return new lm;case 25:return new fm;case 5:return new Wv;case 32:return new sd;case 48:case 2:return new Lm((U0(),cL));default:throw new nn("No implementation is available for the layout processor "+(e.d!=null?e.d:""+e.e))}}function Ofe(e){var t,n,i,s,l,h,v;if(n=e.e.e.j,e.b?t=f(nr(e.e,(Ee(),bb)),65):t=new Vo(e.k,e.k,e.k,e.k),s=n.a,(e.b||e.g[1]!=(ec(),Ds))&&(s-=t.b+t.c),l=n.a,(e.b||e.g[3]!=(ec(),Ds))&&(l-=t.b+t.c),h=n.b,(e.b||e.g[4]!=(ec(),Ds))&&(h-=t.d+t.a),i=n.b,(e.b||e.g[2]!=(ec(),Ds))&&(i-=t.d+t.a),Vf(e,(we(),rt))==(ec(),Ds))e.j[1]=(s-Wf(e,rt))/Bm(e,rt),e.f=e.b?t.b+(Uf(e,rt)==1?e.j[1]:0):e.j[1];else switch(e.j[1]=e.k,v=Wf(e,rt)+e.j[1]*(Uf(e,rt)-1),Vf(e,rt).e){case 2:e.f=t.b;break;case 3:e.f=t.b+(s-v)/2;break;case 4:e.f=n.a-v-t.c}if(Vf(e,ct)==Ds)e.j[3]=(l-Wf(e,ct))/Bm(e,ct),e.r=n.a-(e.b?t.c+(Uf(e,ct)==1?e.j[3]:0):e.j[3]);else switch(e.j[3]=e.k,v=Wf(e,ct)+e.j[3]*(Uf(e,ct)-1),Vf(e,ct).e){case 2:e.r=v+t.b;break;case 3:e.r=n.a-(l-v)/2-t.c;break;case 4:e.r=n.a-t.c}if(Vf(e,qe)==Ds)e.j[4]=(h-Wf(e,qe))/Bm(e,qe),e.s=n.b-(e.b?t.a+(Uf(e,qe)==1?e.j[4]:0):e.j[4]);else switch(e.j[4]=e.k,v=Wf(e,qe)+e.j[4]*(Uf(e,qe)-1),Vf(e,qe).e){case 2:e.s=v+t.d;break;case 3:e.s=n.b-(h-v)/2-t.a;break;case 4:e.s=n.b-t.a}if(Vf(e,Be)==Ds)e.j[2]=(i-Wf(e,Be))/Bm(e,Be),e.a=e.b?t.d+(Uf(e,Be)==1?e.j[2]:0):e.j[2];else switch(e.j[2]=e.k,v=Wf(e,Be)+e.j[2]*(Uf(e,Be)-1),Vf(e,Be).e){case 2:e.a=t.d;break;case 3:e.a=t.d+(i-v)/2;break;case 4:e.a=n.b-v-t.a}}function tH(e,t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne,Ue,Xe,it,st,Tt;for(it=0,h=0,x=t[0].d,be=n[0].d,I=0,Y=n.length;I0;){for(te=(ut(Ce.b>0),f(Ce.a.sb(Ce.c=--Ce.b),7)),ye=0,l=new M(te.b);l.a0&&(te.g==(we(),rt)?(e.a[te.k]=it,++it):(e.a[te.k]=it+V+U,++U),h+=ye)}it+=U}else{for(q=0,ue=new M(L.f);ue.a0&&(++it,h+=q)}for(Ne=ve(Kn,Wn,26,h,12,1),p=0,j=0,R=t.length;j0;)m%2>0&&(i+=st[m+1]),m=(m-1)/2|0,++st[m];return i}function nH(e,t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne,Ue,Xe,it,st,Tt,xn;for(It(t,"Compound graph postprocessor",1),n=Pt(ge(Nt(z(e,(zt(),s5))))),v=f(z(e,(le(),E6)),144),x=new Yr,ye=v.W().mb();ye.G();){for(ue=f(ye.H(),12),h=new Fu(v.U(ue)),Fa(h,new PS(e)),Xe=Xie((Sn(0,h.c.length),f(h.c[0],114))),st=tR(f(_e(h,h.c.length-1),114)),Hs(ue.a),Ne=Xe.f,wh(st.f,Ne)?be=f(z(Ne,Sl),55):be=Li(Ne),I=f(z(ue,(Ee(),Un)),44),YM(h,yG)?I?Hs(I):(I=new xi,ce(ue,Un,I)):I&&ce(ue,Un,null),Y=null,l=new M(h);l.amu,xn=ni(Y.b-U.b)>mu,(!n&&Tt&&xn||n&&(Tt||xn))&&an(ue.a,Ue)),na(ue.a,i),i.b==0?Y=Ue:Y=(ut(i.b!=0),f(i.c.b.c,10)),V=f(z(q,Un),44),V&&(j=new xi,C2(j,0,V),Zu(j,te),na(I,j)),tR(s)==st&&(Li(st.f)!=s.a&&(te=new Fr,sx(te,Li(st.f),be)),ce(ue,a5,te)),R=new fn(q.b,0);R.bXe?x:Xe;for(i=new M(Ne.e);i.aXe?be:Xe}ce(te,Qp,gt(x)),ce(te,Jp,gt(be))}for(q=0,j=new M(t.c);j.a0&&m>0&&Ax(q,new ot(Ne,m),!0))),R=je(R,q.i.a+q.j.a),Y=je(Y,q.i.b+q.j.b),j=new M(q.c);j.a1){Ce=ve(lhe,Nr,15,e.a.length,0,1),m=zc(e.a.length),R=0,I=0,n=2*t.d.a.c.length+1;e:for(ye=new M(t.f);ye.a0?(Ce[ue.k]=new Ut(it/(ue.b.c.length+ue.e.c.length)),R=nte(R,Ce[ue.k].a),I=fN(I,Ce[ue.k].a)):q&&(Ce[ue.k]=new Ut(it))}for(Y=(t.d?ji(t.d.a,t,0):-1)+1,j=t.d.a.c.length+1,p=new M(m);p.al.j.e+l.j.b?I.d=!0:(I.d=!0,I.c=!0))),i.b!=i.d.c&&(t=n);I&&(h=f(Kt(te,p.d.f),25),t.bh.j.e+h.j.b?I.d=!0:(I.d=!0,I.c=!0))}for(m=Dt(Dr(V));xt(m);)p=f(Et(m),12),p.a.b!=0&&(t=f(o0(p.a),10),p.d.g==(we(),rt)&&(Ne=new Qg(t,new ot(t.a,l.j.e),l,p),Ne.c=!0,be.c[be.c.length]=Ne),p.d.g==ct&&(Ne=new Qg(t,new ot(t.a,l.j.e+l.j.b),l,p),Ne.d=!0,be.c[be.c.length]=Ne))}if(be.c.length!=0){for(Qt(),Fa(be,null),j=(Sn(0,be.c.length),f(be.c[0],142)),s=new ox(j,e.d),L=1;Ln&&(Ne=I.a.db(V,I),Ne==null);for(Bi=new Yr,R=new Yr,te=(it=new Wt(Nn.a).a.bb().mb(),new Zt(it));te.a.G();)for(V=(x=f(te.a.H(),21),f(x.yb(),9)),h=t==1?En(V):Dr(V),m=(_n(),new Go($o(bs(h.a,new T))));xt(m);)p=f(Et(m),12),ea(V.d)!=ea(p.d.f.d)&&vn(Bi,p.d.f);for(ue=(st=new Wt(I.a).a.bb().mb(),new Zt(st));ue.a.G();)for(V=(x=f(ue.a.H(),21),f(x.yb(),9)),h=t==1?En(V):Dr(V),m=(_n(),new Go($o(bs(h.a,new T))));xt(m);)p=f(Et(m),12),ea(V.d)!=ea(p.d.f.d)&&vn(R,p.d.f);for(EG&&$l(),be=f(_e(e.d.c.c,i+(t==1?1:-1)),16),Y=qs,q=kr,L=0;LL?Y:L:R.a.R(V)&&(q=q1||Vl(Ca(new Qn(lr(re(ie(Ze,1),Me,1,4,[V.b,V.e])))))>1)&&s.ib((br(),rw)),He(z(I,(zt(),cw)))===He((Pg(),jE))&&!(kk in t.a)){n=new xi;try{for(v=Mn(t,kk).hc(),l=0;l0&&(e.a[si.k]=Tl++)}else{for(Bi=0,zi=new M(Ue.f);zi.a0&&++Tl}for(Nu=0,st=0,Nn=n.length;st0;){for(si=(ut(Qr.b>0),f(Qr.a.sb(Qr.c=--Qr.b),7)),Gr=0,v=new M(si.b);v.a0&&(si.g==(we(),rt)?(e.a[si.k]=Nu,++Nu):(e.a[si.k]=Nu+Ji+Ec,++Ec))}Nu+=Ec}else{for(Bi=0,zi=new M(Ue.f);zi.a0&&++Nu}for(nu=(On(),new $t),j=new $i,Xe=0,Tt=t.length;Xem.b&&(m.b=Ja)):si.f.d==Du&&(Jam.c&&(m.c=Ja));for(yh(I,0,I.length,(Hl(),Hl(),Cf)),po=ve(Kn,Wn,26,I.length,12,1),i=ve(Kn,Wn,26,Nu+1,12,1),Y=0;Y0;)ye%2>0&&(s+=Iu[ye+1]),ye=(ye-1)/2|0,++Iu[ye];for(be=ve(e$,Me,156,I.length*2,0,1),U=0;U1?n.c=OO(this,t-1):n.c=this,n},w.Pc=function(){return Gl(this),this.b},w.Qc=function(){return _1(this)},w.Rc=function(){return vN(this)},w.Sc=function(){return(this.g&4)!=0},w.Tc=function(){return(this.g&1)!=0},w.w=function(){return(this.g&2?"interface ":this.g&1?"":"class ")+(Gl(this),this.n)},w.g=0,A(119,72,{3:1,119:1,54:1,46:1},Cj),A(29,72,oH,dd,nn),A(95,72,Ys,$S,_o),A(231,1,{3:1,231:1});var gT;A(24,231,{3:1,23:1,24:1,231:1},jS),w.F=function(t){return Tte(this,f(t,24))},w.t=function(t){return xe(t,24)&&f(t,24).a==this.a},w.v=function(){return this.a},w.w=function(){return G1(this.a)},w.a=0,WH={3:1,345:1,23:1,2:1},A(350,1,Ir,ud),w.$b=function(t,n){return eie(oh(t),oh(n))},A(257,95,Ys,ite),A(145,1,{23:1,145:1}),w.F=function(t){return xte(this,f(t,145))},w.t=function(t){var n;return t===this?!0:xe(t,145)?(n=f(t,145),Ho(this.a,n.a)):!1},w.v=function(){return G2(this.a)},w.w=function(){return this.a},A(358,29,oH,Nne),A(256,29,{3:1,54:1,29:1,46:1,256:1},jne),A(185,145,_x),A(289,185,_x,ate),w.Zc=function(t,n,i){var s,l;for(s=ve(bY,mi,26,i,12,1),l=0;li)throw new _o(Gx)}for(v=ve(bY,mi,26,h,12,1),x=0,p=0,m=0;m0;){if(s=t[n+m++],(s&192)!=128)throw new nn("Invalid UTF8 sequence at "+(n+m-1)+", byte="+(s>>>0).toString(16));l=l<<6|s&63}x+=Ooe(l,v,x)}return v};var Ze=G(zr,"Object",1),$fe=G(zr,"Throwable",46);G(zr,"Exception",54),G(zr,"RuntimeException",72),G($x,"JavaScriptException",164),G(yp,"StackTraceCreator/Collector",642),G(yp,"StackTraceCreator/CollectorLegacy",356),G(yp,"StackTraceCreator/CollectorModern",643),G(yp,"StackTraceCreator/CollectorModernNoSourceMap",357),G(kp,"IOException",181),G(kp,"UnsupportedEncodingException",351),G(zr,"Class",288),G(zr,"ClassCastException",119),G(zr,"IllegalArgumentException",29),G(zr,"IndexOutOfBoundsException",95),G(zr,"Number",231);var Mk=G(zr,"Integer",24),Ok=G(zr,"String",2);G(zr,"String/1",350),G(zr,"StringIndexOutOfBoundsException",257),G(Yx,"Charset",145),G(Yx,"IllegalCharsetNameException",358),G(Yx,"UnsupportedCharsetException",256),G(Fx,"EmulatedCharset",185),G(Fx,"EmulatedCharset/LatinCharset",289),G(Fx,"EmulatedCharset/UtfCharset",355),A(669,1,{3:1}),G(No,"Optional",669),A(601,669,{3:1},g),w.t=function(t){return t===this},w.v=function(){return 2040732332},w.w=function(){return"Optional.absent()"},w.A=function(t){return vt(t),tg(),Ak};var Ak;G(No,"Absent",601);var Yfe=w0(No,"Function");A(208,1,{},B1),w.C=function(t){return rO(t)},G(No,"Joiner",208),A(363,208,{},NM),w.C=function(t){return a0(this,t)},G(No,"Joiner/1",363),A(362,1,{},XI),G(No,"Joiner/MapJoiner",362);var Ffe=w0(No,"Predicate"),UH;A(244,1,{68:1,244:1,3:1},L9),w.D=function(t){var n;for(n=0;n0},w.H=function(){if(this.b>=this.c)throw new sa;return gN(this,this.b++)},w.L=function(){return this.b},w.M=function(){if(this.b<=0)throw new sa;return gN(this,--this.b)},w.N=function(){return this.b-1},w.b=0,w.c=0,G(Re,"AbstractIndexedListIterator",378),A(428,108,qd),w.G=function(){return Ku(this)},w.H=function(){return Xl(this)},w.d=1,G(Re,"AbstractIterator",428),A(653,1,{144:1}),w.P=function(){var t;return t=this.f,t||(this.f=this.S())},w.T=function(){return new $m(this.P())},w.t=function(t){return mC(this,t)},w.v=function(){return this.P().v()},w.V=function(){return this.Y()==0},w.W=function(){return Hy(this)},w.w=function(){return this.P().w()},G(Re,"AbstractMultimap",653),A(294,653,ib),w.Q=function(){OC(this)},w.R=function(t){return dh(this.b,t)},w.S=function(){return new Ym(this,this.b)},w.T=function(){return new qI(this,this.b)},w.$=function(){return doe(this.Z())},w.U=function(t){return Ia(this,t)},w.X=function(t){return ek(this,t)},w.Y=function(){return this.c},w.c=0,G(Re,"AbstractMapBasedMultimap",294),A(600,294,ib),w.Z=function(){return new Ni(this.a)},w.$=function(){return gr(),gr(),db},w.U=function(t){return f(Ia(this,t),20)},w.X=function(t){return f(ek(this,t),20)},w.P=function(){var t;return t=this.f,t||(this.f=new Ym(this,this.b))},w.t=function(t){return mC(this,t)},G(Re,"AbstractListMultimap",600),A(388,1,ir),w.G=function(){return this.b.b||this.d.G()},w.H=function(){var t;return this.d.G()||(t=Rd(this.b),t.yb(),this.a=f(t.zb(),19),this.d=this.a.mb()),this.d.H()},w.I=function(){this.d.I(),this.a.V()&&V3(this.b),--this.c.c},G(Re,"AbstractMapBasedMultimap/Itr",388),A(389,388,ir,QA),G(Re,"AbstractMapBasedMultimap/1",389),A(638,1,Th),w.Q=function(){this.bb().Q()},w._=function(t){return F2(this,t)},w.R=function(t){return!!WC(this,t,!1)},w.ab=function(t){var n,i,s;for(i=this.bb().mb();i.G();)if(n=f(i.H(),21),s=n.zb(),He(t)===He(s)||t!=null&&jo(t,s))return!0;return!1},w.t=function(t){return oB(this,t)},w.cb=function(t){return li(WC(this,t,!1))},w.v=function(){return gC(this.bb())},w.V=function(){return this.Y()==0},w.W=function(){return new Wt(this)},w.db=function(t,n){throw new qf("Put not supported on this map")},w.eb=function(t){return li(WC(this,t,!0))},w.Y=function(){return this.bb().Y()},w.w=function(){return Q8(this)},w.fb=function(){return new Kv(this)},G(wt,"AbstractMap",638),A(654,638,Th),w.bb=function(){return h3(this)},w.W=function(){var t;return t=this.d,t||(this.d=new $m(this))},w.fb=function(){return oO(this)},G(Re,"Maps/ViewCachingAbstractMap",654),A(262,654,Th,Ym),w.cb=function(t){return jie(this,t)},w.eb=function(t){return kae(this,t)},w.Q=function(){this.a==this.b.b?OC(this.b):S0(new N3(this))},w.R=function(t){return T8(this.a,t)},w.hb=function(){return new D9(this)},w.gb=function(){return this.hb()},w.t=function(t){return this===t||oB(this.a,t)},w.v=function(){return gC(new ou(this.a))},w.W=function(){return Hy(this.b)},w.Y=function(){return W1(this.a)},w.w=function(){return Q8(this.a)},G(Re,"AbstractMapBasedMultimap/AsMap",262),A(640,1,Vd),w.ib=function(t){return Zre()},w.jb=function(t){return na(this,t)},w.Q=function(){T0(this)},w.kb=function(t){return Hg(this,t,!1)},w.lb=function(t){return Xu(this,t)},w.V=function(){return this.Y()==0},w.nb=function(t){return Hg(this,t,!0)},w.ob=function(){return this.pb(ve(Ze,Me,1,this.Y(),4,1))},w.pb=function(t){return Y2(this,t)},w.w=function(){return nc(this)},G(wt,"AbstractCollection",640),A(641,640,vi),w.t=function(t){return c8(this,t)},w.v=function(){return gC(this)},G(wt,"AbstractSet",641),A(649,641,vi),G(Re,"Sets/ImprovedAbstractSet",649),A(655,649,vi),w.Q=function(){this.qb().Q()},w.kb=function(t){return h8(this,t)},w.V=function(){return this.qb().V()},w.nb=function(t){var n;return this.kb(t)?(n=f(t,21),this.qb().W().nb(n.yb())):!1},w.Y=function(){return this.qb().Y()},G(Re,"Maps/EntrySet",655),A(387,655,vi,D9),w.kb=function(t){return L8(new ou(this.a.a),t)},w.mb=function(){return new N3(this.a)},w.qb=function(){return this.a},w.nb=function(t){var n;return L8(new ou(this.a.a),t)?(n=f(t,21),sie(this.a.b,n.yb()),!0):!1},G(Re,"AbstractMapBasedMultimap/AsMap/AsMapEntries",387),A(299,1,ir,N3),w.H=function(){var t;return t=Rd(this.b),this.a=f(t.zb(),19),Lie(this.c,t)},w.G=function(){return this.b.b},w.I=function(){V3(this.b),this.c.b.c-=this.a.Y(),this.a.Q()},G(Re,"AbstractMapBasedMultimap/AsMap/AsMapIterator",299),A(260,649,vi,$m),w.Q=function(){this.b.Q()},w.kb=function(t){return this.b.R(t)},w.V=function(){return this.b.V()},w.mb=function(){return On(),Dy(this.b.bb().mb(),(n0(),Rk))},w.nb=function(t){return this.b.R(t)?(this.b.eb(t),!0):!1},w.Y=function(){return this.b.Y()},G(Re,"Maps/KeySet",260),A(386,260,vi,qI),w.Q=function(){var t;S0((t=this.b.bb().mb(),new u4(this,t)))},w.lb=function(t){return this.b.W().lb(t)},w.t=function(t){return this===t||this.b.W().t(t)},w.v=function(){return this.b.W().v()},w.mb=function(){var t;return t=this.b.bb().mb(),new u4(this,t)},w.nb=function(t){var n,i;return i=0,n=f(this.b.eb(t),19),n&&(i=n.Y(),n.Q(),this.a.c-=i),i>0},G(Re,"AbstractMapBasedMultimap/KeySet",386),A(300,1,ir,u4),w.G=function(){return this.c.G()},w.H=function(){return this.a=f(this.c.H(),21),this.a.yb()},w.I=function(){var t;Jl(!!this.a),t=f(this.a.zb(),19),this.c.I(),this.b.a.c-=t.Y(),t.Q()},G(Re,"AbstractMapBasedMultimap/KeySet/1",300),A(216,640,Vd,Ng),w.ib=function(t){return Rie(this,t)},w.jb=function(t){return zae(this,t)},w.Q=function(){Hre(this)},w.kb=function(t){return Na(this),this.d.kb(t)},w.lb=function(t){return Na(this),this.d.lb(t)},w.t=function(t){return ere(this,t)},w.v=function(){return Na(this),this.d.v()},w.mb=function(){return Na(this),new n3(this)},w.nb=function(t){return Qre(this,t)},w.Y=function(){return Na(this),this.d.Y()},w.w=function(){return Na(this),ha(this.d)},G(Re,"AbstractMapBasedMultimap/WrappedCollection",216);var qfe=w0(wt,"List");A(297,216,Lh,v3),w.rb=function(t,n){var i;Na(this),i=this.d.V(),f(this.d,20).rb(t,n),++this.a.c,i&&d0(this)},w.sb=function(t){return Na(this),f(this.d,20).sb(t)},w.tb=function(){return Na(this),new DI(this)},w.ub=function(t){return Na(this),new mO(this,t)},w.vb=function(t){var n;return Na(this),n=f(this.d,20).vb(t),--this.a.c,C0(this),n},w.wb=function(t,n){return Na(this),f(this.d,20).wb(t,n)},w.xb=function(t,n){return Na(this),B3(this.a,this.e,f(this.d,20).xb(t,n),this.b?this.b:this)},G(Re,"AbstractMapBasedMultimap/WrappedList",297),A(385,297,pk,oM),G(Re,"AbstractMapBasedMultimap/RandomAccessWrappedList",385),A(189,1,ir,n3),w.G=function(){return uh(this),this.b.G()},w.H=function(){return uh(this),this.b.H()},w.I=function(){this.b.I(),--this.d.f.c,C0(this.d)},G(Re,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",189),A(298,189,Ph,DI,mO),w.J=function(t){var n;n=yte(this.a)==0,(uh(this),f(this.b,96)).J(t),++this.a.a.c,n&&d0(this.a)},w.K=function(){return(uh(this),f(this.b,96)).K()},w.L=function(){return(uh(this),f(this.b,96)).L()},w.M=function(){return(uh(this),f(this.b,96)).M()},w.N=function(){return(uh(this),f(this.b,96)).N()},w.O=function(t){(uh(this),f(this.b,96)).O(t)},G(Re,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",298),A(295,216,vi,$4),G(Re,"AbstractMapBasedMultimap/WrappedSet",295),A(296,216,qx,Y4),G(Re,"AbstractMapBasedMultimap/WrappedSortedSet",296),A(668,1,ab),w.t=function(t){var n;return xe(t,21)?(n=f(t,21),Wl(this.yb(),n.yb())&&Wl(this.zb(),n.zb())):!1},w.v=function(){var t,n;return t=this.yb(),n=this.zb(),(t==null?0:Ko(t))^(n==null?0:Ko(n))},w.Ab=function(t){throw new Fn},w.w=function(){return this.yb()+"="+this.zb()},G(Re,lH,668),A(390,640,Vd,j9),w.Q=function(){OC(this.a)},w.kb=function(t){return Dae(this.a,t)},w.mb=function(){return new QA(this.a)},w.Y=function(){return this.a.c},G(Re,"AbstractMultimap/Values",390),A(656,640,Vx),w.ib=function(t){return this.Bb(t,1),!0},w.Bb=function(t,n){throw new Fn},w.jb=function(t){return sse(this,t)},w.Q=function(){S0(this.Eb())},w.kb=function(t){return this.Cb(t)>0},w.Cb=function(t){var n,i;for(i=ch(this).mb();i.G();)if(n=f(i.H(),83),Wl(n.Zb(),t))return n.Yb();return 0},w.gb=function(){return new N9(this)},w.bb=function(){return ch(this)},w.t=function(t){return Kse(this,t)},w.v=function(){return ch(this).v()},w.V=function(){return ch(this).V()},w.mb=function(){return Ff(),new MN(this,ch(this).mb())},w.nb=function(t){return this.Fb(t,1)>0},w.Fb=function(t,n){throw new Fn},w.Gb=function(t,n){var i,s;return Ff(),hi(n,"count"),i=this.Cb(t),s=n-i,s>0?this.Bb(t,s):s<0&&this.Fb(t,-s),i},w.Hb=function(t,n,i){return Iae(this,t,n,i)},w.Y=function(){return vae(this)},w.w=function(){return ha(ch(this))},G(Re,"AbstractMultiset",656),A(657,649,vi),w.Q=function(){this.Ib().Q()},w.kb=function(t){var n,i;return xe(t,83)?(i=f(t,83),i.Yb()<=0?!1:(n=this.Ib().Cb(i.Zb()),n==i.Yb())):!1},w.nb=function(t){var n,i,s,l;return xe(t,83)&&(i=f(t,83),n=i.Zb(),s=i.Yb(),s!=0)?(l=this.Ib(),l.Hb(n,s,0)):!1},G(Re,"Multisets/EntrySet",657),A(396,657,vi,N9),w.mb=function(){return this.a.Eb()},w.Ib=function(){return this.a},w.Y=function(){return this.a.Db()},G(Re,"AbstractMultiset/EntrySet",396),A(384,294,ib),w.Z=function(){return new Gm(y2(this.a))},w.$=function(){return Ta(),lh(),ev},w.U=function(t){return f(Ia(this,t),18)},w.X=function(t){return f(ek(this,t),18)},w.P=function(){var t;return t=this.f,t||(this.f=new Ym(this,this.b))},w.t=function(t){return mC(this,t)},G(Re,"AbstractSetMultimap",384),A(342,656,Vx),G(Re,"AbstractSortedMultiset",342),A(280,600,ib,Ty),w.a=0,G(Re,"ArrayListMultimap",280),A(159,17,Wx);var Np,Ua,pT=At(Re,"BoundType",159,on,Rne);A(623,159,Wx,vI),At(Re,"BoundType/1",623,pT,null),A(624,159,Wx,xI),At(Re,"BoundType/2",624,pT,null);var wT;A(234,1,rc),w.w=function(){return Kre(this.c.mb())},G(Re,"FluentIterable",234),A(170,234,rc,nh),w.mb=function(){return Dt(this)},G(Re,"FluentIterable/2",170),A(664,1,{}),w.w=function(){return ha(Da(this.a.d).b)},G(Re,"ForwardingObject",664),A(665,664,Vd),w.ib=function(t){return Da(this.a.d),Pj()},w.jb=function(t){return Da(this.a.d),Dj()},w.Q=function(){Da(this.a.d),jj()},w.kb=function(t){return p4(Da(this.a.d),t)},w.lb=function(t){return qN(Da(this.a.d),t)},w.V=function(){return Da(this.a.d).b.V()},w.mb=function(){var t;return t=Da(this.a.d).b.mb(),new OS(t)},w.nb=function(t){return Da(this.a.d),Nj()},w.Y=function(){return Da(this.a.d).b.Y()},w.ob=function(){return SO(Da(this.a.d))},w.pb=function(t){return P3(Da(this.a.d),t)},G(Re,"ForwardingCollection",665),A(660,640,Kx),w.mb=function(){return this.Kb()},w.ib=function(t){return Tee()},w.jb=function(t){return Lee()},w.Q=function(){Pee()},w.kb=function(t){return t!=null&&Hg(this,t,!1)},w.Jb=function(){switch(this.Y()){case 0:return gr(),gr(),db;case 1:return gr(),new fu(this.Kb().H());default:return new eO(this,this.ob())}},w.nb=function(t){return Dee()},G(Re,"ImmutableCollection",660),A(316,660,Kx,ZS),w.mb=function(){return Ad(this.a.mb())},w.kb=function(t){return t!=null&&this.a.kb(t)},w.lb=function(t){return this.a.lb(t)},w.V=function(){return this.a.V()},w.Kb=function(){return Ad(this.a.mb())},w.Y=function(){return this.a.Y()},w.ob=function(){return this.a.ob()},w.pb=function(t){return this.a.pb(t)},w.w=function(){return ha(this.a)},G(Re,"ForwardingImmutableCollection",316),A(87,660,Dh),w.mb=function(){return this.Kb()},w.tb=function(){return this.Lb(0)},w.ub=function(t){return this.Lb(t)},w.xb=function(t,n){return this.Mb(t,n)},w.rb=function(t,n){throw new Fn},w.t=function(t){return tue(this,t)},w.v=function(){return uae(this)},w.Kb=function(){return this.Lb(0)},w.Lb=function(t){return A4(this,t)},w.vb=function(t){throw new Fn},w.wb=function(t,n){throw new Fn},w.Mb=function(t,n){var i;return W0((i=new BN(this),new n2(i,t,n)))};var db;G(Re,"ImmutableList",87),A(667,87,Dh),w.mb=function(){return Ad(this.Nb().mb())},w.xb=function(t,n){return W0(this.Nb().xb(t,n))},w.kb=function(t){return bM(this,t)},w.lb=function(t){return this.Nb().lb(t)},w.t=function(t){return this.Nb().t(t)},w.sb=function(t){return cI(this,t)},w.v=function(){return this.Nb().v()},w.V=function(){return this.Nb().V()},w.Kb=function(){return Ad(this.Nb().mb())},w.Y=function(){return this.Nb().Y()},w.Mb=function(t,n){return W0(this.Nb().xb(t,n))},w.ob=function(){return this.Nb().pb(ve(Ze,Me,1,this.Nb().Y(),4,1))},w.pb=function(t){return this.Nb().pb(t)},w.w=function(){return ha(this.Nb())},G(Re,"ForwardingImmutableList",667),A(524,1,jh),w.bb=function(){return Yc(this)},w.W=function(){return XM(this)},w.fb=function(){return this.Rb()},w.Q=function(){throw new Fn},w.R=function(t){return this.cb(t)!=null},w.ab=function(t){return this.Rb().kb(t)},w.Pb=function(){return new Rj(this)},w.Qb=function(){return new Bj(this)},w.t=function(t){return Nae(this,t)},w.v=function(){return Yc(this).v()},w.V=function(){return this.Y()==0},w.db=function(t,n){return Nee()},w.eb=function(t){throw new Fn},w.w=function(){var t;return On(),t=jd(Iie(this.Y()),123),Hae(JH,t,Yc(this).mb()),t.a+="}",t.a},w.Rb=function(){return this.g?this.g:this.g=this.Qb()},w.e=null,w.f=null,w.g=null,G(Re,"ImmutableMap",524),A(320,524,jh),w.R=function(t){return T8(this.d,t)},w.ab=function(t){return FN(this.d,t)},w.Ob=function(){return CC(new I9(this))},w.Pb=function(){return CC(dO(this.d))},w.Qb=function(){return Ta(),new ZS(gO(this.d))},w.t=function(t){return SN(this.d,t)},w.cb=function(t){return t==null?null:Gg(this.d,t)},w.v=function(){return this.d.c.v()},w.V=function(){return this.d.c.V()},w.Y=function(){return this.d.c.Y()},w.w=function(){return ha(this.d.c)},G(Re,"ForwardingImmutableMap",320),A(666,665,vi),w.t=function(t){return t===this||EN(Da(this.a.d),t)},w.v=function(){return Da(this.a.d).b.v()},G(Re,"ForwardingSet",666),A(523,666,vi,I9),w.kb=function(t){if(xe(t,21)&&f(t,21).yb()==null)return!1;try{return p4(Da(this.a.d),t)}catch(n){if(n=Kr(n),xe(n,119))return!1;throw Zr(n)}},w.pb=function(t){var n;return n=P3(Da(this.a.d),t),Da(this.a.d).b.Y()=l)h.Q();else for(s=h.mb(),i=0;i0||this.c.G()},w.H=function(){if(!(this.d>0||this.c.G()))throw new sa;return this.d==0&&(this.b=f(this.c.H(),83),this.f=this.d=this.b.Yb()),--this.d,this.a=!0,this.b.Zb()},w.I=function(){Jl(this.a),this.f==1?this.c.I():this.e.Fb(this.b.Zb(),1)>0,--this.f,this.a=!1},w.a=!1,w.d=0,w.f=0,G(Re,"Multisets/MultisetIteratorImpl",303),A(622,659,{3:1,56:1},E),w.$b=function(t,n){return Qte(f(t,23),f(n,23))},w.w=function(){return"Ordering.natural()"};var e_;G(Re,"NaturalOrdering",622),A(343,661,Dh,eO),w.ub=function(t){return A4(this.b,t)},w.Sb=function(){return this.a},w.sb=function(t){return cI(this.b,t)},w.Lb=function(t){return A4(this.b,t)},G(Re,"RegularImmutableAsList",343),A(559,275,jh,lO),w.Tb=function(){return this.a};var t_;G(Re,"RegularImmutableBiMap",559),A(53,667,Dh,Qn),w.Nb=function(){return this.a},G(Re,"RegularImmutableList",53),A(321,320,jh,e4),G(Re,"RegularImmutableMap",321),A(265,315,Nh,ny);var ev;G(Re,"RegularImmutableSet",265),A(650,641,vi),G(Re,"Sets/SetView",650),A(377,650,vi,yM),w.kb=function(t){return Oc(this.b,t)&&Oc(this.c,t)},w.lb=function(t){return Xu(this.b,t)&&Xu(this.c,t)},w.V=function(){return g2(this)},w.mb=function(){var t;return Fl((t=new Wt(this.b.a).a.bb().mb(),new Zt(t)),this.a)},w.Y=function(){var t;return s2(Fl((t=new Wt(this.b.a).a.bb().mb(),new Zt(t)),this.a))},G(Re,"Sets/2",377),A(328,275,jh,$O,jA),w.fb=function(){return Ta(),new Gu(this.c)},w.Tb=function(){var t;return t=this.a,t||(this.a=new jA(this.c,this.b,this))},w.Ub=function(){return Ta(),new Gu(this.c)},G(Re,"SingletonImmutableBiMap",328),A(127,667,Dh,fu),w.Nb=function(){return this.a},G(Re,"SingletonImmutableList",127),A(135,663,Nh,Gu),w.mb=function(){return _n(),new Sm(this.a)},w.kb=function(t){return jo(this.a,t)},w.Kb=function(){return _n(),new Sm(this.a)},w.Y=function(){return 1},G(Re,"SingletonImmutableSet",135),A(285,342,{207:1,3:1,22:1,19:1},O3,x8),w.Bb=function(t,n){return hp(this,t,n)},w.Cb=function(t){return sp(this,t)},w.Db=function(){return vh(wC(this,(r0(),ET)))},w.Eb=function(){return new VI(this)},w.Fb=function(t,n){return cx(this,t,n)},w.Gb=function(t,n){return K8(this,t,n)},w.Hb=function(t,n,i){var s,l,h;return hi(i,"newCount"),hi(n,"oldCount"),th(yg(this.b,t)),h=this.c.a,h?(l=ve(Kn,Wn,26,1,12,1),s=Lx(h,this.d,t,n,i,l),k0(this.c,h,s),l[0]==n):n==0?(i>0&&hp(this,t,i),!0):!1},w.Y=function(){return vh(wC(this,(r0(),Bk)))},G(Re,"TreeMultiset",285),A(619,658,{83:1},ON),w.Yb=function(){var t;return t=this.b.c,t==0?sp(this.a,this.b.b):t},w.Zb=function(){return this.b.b},G(Re,"TreeMultiset/1",619),A(620,1,ir,VI),w.H=function(){return jae(this)},w.G=function(){return xR(this)},w.I=function(){Jl(!!this.b),K8(this.c,this.b.b.b,0),this.b=null},G(Re,"TreeMultiset/2",620),A(205,17,Jx);var ET,Bk,ST=At(Re,"TreeMultiset/Aggregate",205,on,Bne);A(617,205,Jx,gI),w._b=function(t){return t.c},w.ac=function(t){return t?t.j:0},At(Re,"TreeMultiset/Aggregate/1",617,ST,null),A(618,205,Jx,_I),w._b=function(t){return 1},w.ac=function(t){return t?t.a:0},At(Re,"TreeMultiset/Aggregate/2",618,ST,null),A(206,658,{83:1,206:1},q0),w.Yb=function(){return this.c},w.Zb=function(){return this.b},w.w=function(){return Ff(),tA(new zM(this.b,this.c))},w.a=0,w.c=0,w.d=0,w.j=0,G(Re,"TreeMultiset/AvlNode",206),A(616,1,{},C),G(Re,"TreeMultiset/Reference",616);var Vfe=G($x,"JavaScriptObject$",0),zk;A(628,1,{}),G($x,"Scheduler",628);var Ip=0,n_=0,Mp=-1;A(360,628,{},y);var CT;G(yp,"SchedulerImpl",360),A(646,1,{}),w.hc=function(){return null},w.ic=function(){return null},w.jc=function(){return null},w.kc=function(){return null},w.lc=function(){return null},G(af,"JSONValue",646),A(214,646,{214:1},RS,_9),w.t=function(t){return xe(t,214)?this.a==f(t,214).a:!1},w.gc=function(){return pee},w.v=function(){return su(this.a)},w.hc=function(){return this},w.w=function(){var t,n,i;for(i=new pd("["),n=0,t=this.a.length;n0&&(i.a+=","),Yu(i,Uu(this,n));return i.a+="]",i.a},G(af,"JSONArray",214),A(292,646,{},LS),w.gc=function(){return wee},w.ic=function(){return this},w.w=function(){return zI(this.a)},w.a=!1;var r_,i_;G(af,"JSONBoolean",292),A(371,72,Ys,qj),G(af,"JSONException",371),A(435,646,{},D),w.gc=function(){return See},w.w=function(){return Fs};var a_;G(af,"JSONNull",435),A(104,646,{104:1},Cm),w.t=function(t){return xe(t,104)?this.a==f(t,104).a:!1},w.gc=function(){return mee},w.v=function(){return Xn(ge(this.a))},w.jc=function(){return this},w.w=function(){return this.a+""},w.a=0,G(af,"JSONNumber",104),A(69,646,{69:1},Al,xm),w.t=function(t){return xe(t,69)?this.a==f(t,69).a:!1},w.gc=function(){return yee},w.v=function(){return su(this.a)},w.kc=function(){return this},w.w=function(){var t,n,i,s,l,h;for(h=new pd("{"),t=!0,l=cR(this,ve(Ok,Nr,2,0,5,1)),i=0,s=l.length;i>16&Ts|n^s<<16},w.mb=function(){return new G9(this)},w.w=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+ha(this.b)+")":this.b==null?"pair("+ha(this.a)+",null)":"pair("+ha(this.a)+","+ha(this.b)+")"},G(bH,"Pair",27),A(431,1,ir,G9),w.G=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},w.H=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw new sa},w.I=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),new eg},w.b=!1,w.c=!1,G(bH,"Pair/1",431),A(228,72,Ys,R1),G(pH,"UnsupportedConfigurationException",228),A(99,72,Ys,Co),G(pH,"UnsupportedGraphException",99);var TT;A(103,17,{103:1,3:1,23:1,17:1},yd);var _k,Op,Ap,Rp,Bp,zp,l_=At(Vs,"Alignment",103,on,qre),f_;A(59,17,{59:1,3:1,23:1,17:1},og);var Ps,Oa,Vi,Mo,Ks,vb=At(Vs,"Direction",59,on,xre),h_;A(107,17,{107:1,3:1,23:1,17:1},$1);var gb,dl,Ih,Gk,d_=At(Vs,"EdgeLabelPlacement",107,on,wre),v_;A(122,17,{122:1,3:1,23:1,17:1},Y1);var ff,LT,$k,Yk,g_=At(Vs,"EdgeRouting",122,on,mre),b_;A(133,17,{133:1,3:1,23:1,17:1},kd);var PT,DT,jT,NT,Fk,IT,p_=At(Vs,"EdgeType",133,on,Vre),w_;A(166,17,{166:1,3:1,23:1,17:1},Um);var MT,qk,OT,m_=At(Vs,"HierarchyHandling",166,on,Une),y_,bb,AT,go,k_,E_,Vk,RT,tv,pb,Oo,da,hf,BT,S_,C_,x_,zT,wb,T_,Un,Mh,HT,L_,mb,nv,rv,ia,yb,vl,_T,Wk,Uk,Kk,Zk,Xk,yu,dt,ku,kb,Eb,GT,Oh,$T,Qk,YT,uc,Sb,FT,es;A(41,17,{41:1,3:1,23:1,17:1},Ac);var Ka,Wi,Ui,Ki,Ei,Zi,va,ga,ba,Ln=At(Vs,"NodeLabelPlacement",41,on,kie),P_;A(100,17,{100:1,3:1,23:1,17:1},sg);var qT,VT,WT,Ds,df,UT=At(Vs,"PortAlignment",100,on,Yre),D_;A(28,17,{28:1,3:1,23:1,17:1},Ed);var Ah,ii,ts,Cb,Ao,cc,j_=At(Vs,"PortConstraints",28,on,Fre),N_;A(149,17,{149:1,3:1,23:1,17:1},Km);var Jk,eE,xb,I_=At(Vs,"PortLabelPlacement",149,on,Kne),M_;A(32,17,{32:1,3:1,23:1,17:1},ug);var Be,rt,Rh,gl,pa,Eu,Hp,Bh,bl,Aa,qr,Ra,ns,Ba,vf,zh,pl,Hh,ct,fr,qe,Mr=At(Vs,"PortSide",32,on,Cre),O_;A(150,17,{150:1,3:1,23:1,17:1},F1);var Tb,tE,nE,Lb,iv=At(Vs,"SizeConstraint",150,on,kre),A_;A(139,17,{139:1,3:1,23:1,17:1},q1);var rE,iE,Pb,aE,oE=At(Vs,"SizeOptions",139,on,yre),R_;A(62,1,{62:1},iy,Ya),w.t=function(t){var n;return t==null||!xe(t,62)?!1:(n=f(t,62),la(this.d,n.d)&&la(this.e,n.e)&&la(this.c,n.c)&&la(this.b,n.b))},w.v=function(){return x2(re(ie(Ze,1),Me,1,4,[this.d,this.e,this.c,this.b]))},w.w=function(){return"Rect[x="+this.d+",y="+this.e+",w="+this.c+",h="+this.b+"]"},w.b=0,w.c=0,w.d=0,w.e=0,G(Zd,"Rectangle",62),A(283,62,{283:1,62:1},Sj),w.a=0,G(tT,"LabelGroup",283),A(67,17,{67:1,3:1,23:1,17:1},Pi);var B_,z_,H_,__,G_,$_,Y_,F_,q_,V_,W_,U_,K_,Z_,X_,Q_,J_,eG,tG,nG,rG,sE,iG=At(tT,"LabelLocation",67,on,jC);A(225,17,{225:1,3:1,23:1,17:1},Zm);var _h,lc,fc,Wfe=At(tT,"TextAlignment",225,on,Zne),gf;A(589,1,{},Nz),w.a=0,w.b=!1,w.d=0,w.f=0,w.k=0,w.r=0,w.s=0,G(Zd,"LabelAndNodeSizeProcessor/NodeData",589),A(171,17,{171:1,3:1,23:1,17:1},Xm);var rs,Zs,aG,Db,Ufe=At(Zd,"LabelSide",171,on,Wne);A(590,1,{},$9),w.b=!0,w.c=!0,w.d=!0,w.e=!0,G(Zd,kH,590),A(121,1,EH),w.t=function(t){var n;return xe(t,121)?(n=f(t,121),this.d==n.d&&this.a==n.a&&this.b==n.b&&this.c==n.c):!1},w.v=function(){var t,n;return t=Xn(ge(this.b))<<16,t|=Xn(ge(this.a))&Ts,n=Xn(ge(this.c))<<16,n|=Xn(ge(this.d))&Ts,t^n},w.w=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},w.a=0,w.b=0,w.c=0,w.d=0,G(Zd,"Spacing",121),A(232,121,EH,_S,sM,fM),G(Zd,"Spacing/Insets",232),A(65,121,{286:1,121:1,65:1,3:1,5:1},A1,Vo,U4),G(Zd,"Spacing/Margins",65),A(364,1,{},O8),w.c=!1,w.d=null,w.g=null;var KT,ZT,uE;G(xk,"JsonGraphImporter",364);var XT,QT,JT,eL,tL,oG,_p,nL,rL;A(417,14,gH,XN),G(xk,"LayoutOptionResolver/DummyProperty",417),A(348,1,{},g9);var iL;G(xk,"RecursiveLGraphLayout",348),A(73,99,{73:1,3:1,54:1,46:1},Om,wg,ps);var sG=G(xk,"UnsupportedJsonGraphException",73);A(380,1,{},fO);var uG,cG;G(iT,"GraphConfigurator",380),A(49,1,{},An),G(iT,"IntermediateProcessingConfiguration",49),A(365,1,{},rA),G(iT,"KlayLayered",365),A(577,1,{},pR),w.i=0;var lG;G(ub,"ComponentsToCGraphTransformer",577);var fG;A(578,1,{},Z),w.tc=function(t,n){return Xt(t.wc(),n.wc())},w.uc=function(t,n){return Xt(t.xc(),n.xc())},G(ub,"ComponentsToCGraphTransformer/1",578),A(25,1,{25:1}),w.k=0,w.o=null,w.p=!0,w.r=Hr;var Gp=G(Qd,"CNode",25);A(198,25,{198:1,25:1},I4,aC),w.vc=function(){this.b.d=this.j.d,this.b.e=this.j.e},w.wc=function(){return this.a!=null?ge(this.a):this.c.i},w.xc=function(){return this.a!=null?ge(this.a):this.c.i},w.w=function(){return""},G(ub,"ComponentsToCGraphTransformer/CRectNode",198),A(549,1,{},ae);var cE,lE;G(ub,"OneDimensionalComponentsCompaction",549),A(550,1,yi,oe),w.B=function(t){return E2(),yn(),f(f(t,27).a,25).f.f!=0?oi:Rn},G(ub,"OneDimensionalComponentsCompaction/lambda$0$Type",550),A(551,1,yi,J),w.B=function(t){return E2(),yn(),LC(f(f(t,27).a,25).n,f(f(t,27).b,59))||f(f(t,27).a,25).f.f!=0&&LC(f(f(t,27).a,25).n,f(f(t,27).b,59))?oi:Rn},G(ub,"OneDimensionalComponentsCompaction/lambda$1$Type",551),A(324,1,{},g3),G(Qd,"CGraph",324),A(78,1,{78:1},ep),w.b=0,w.c=0,w.d=0,w.f=0,w.i=!0,w.j=Hr,G(Qd,"CGroup",78),A(470,1,{},fe),w.tc=function(t,n){return je(t.wc(),n.wc())},w.uc=function(t,n){return je(t.xc(),n.xc())},G(Qd,"ISpacingsHandler/1",470),A(323,1,{},ix),w.e=!1;var hG,dG,vG,fE=G(Qd,"OneDimensionalCompactor",323);A(554,1,yi,F),w.B=function(t){return By(),yn(),f(f(t,27).a,25).f.f!=0?oi:Rn},G(Qd,"OneDimensionalCompactor/lambda$0$Type",554),A(335,1,{},t3),w.a=!1,w.b=!1,w.c=!1,w.d=!1,G(Qd,"Quadruplet",335),A(587,1,{},W),w.Cc=function(t){var n,i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U;for(x=ki,s=new M(t.a.b);s.as.j.d||s.j.d==h.j.d&&s.j.cj&&(Ce=0,be+=L+ue,L=0),Y=h.d,tb(h,Ce+Y.a,be+Y.b),Y.a=0,Y.b=0,i=je(i,Ce+U.a),L=je(L,U.b),Ce+=U.a+ue;if(n.e.a=i,n.e.b=be+L,V=f(z(n,Ai),15).a,Pt(ge(Nt(z(l,(zt(),c5)))))){for(s=new Ae,Qz(s,t,V),x=t.mb();x.G();)S=f(x.H(),55),dn(zs(S.d),s.e);dn(zs(n.e),s.a)}yA(n,t)},G(Ls,"SimpleRowGraphPlacer",432),A(433,1,Ir,Oe),w.$b=function(t,n){return hae(f(t,55),f(n,55))},G(Ls,"SimpleRowGraphPlacer/1",433),A(369,1,pn,b9),w.sc=function(t,n){nH(t,n)};var yG;G(cb,"CompoundGraphPostprocessor",369),A(370,1,vo,ze),w.D=function(t){var n;return n=f(z(f(t,114).b,(Ee(),Un)),44),!!n&&n.b!=0},G(cb,"CompoundGraphPostprocessor/1",370),A(368,1,pn,sI),w.sc=function(t,n){k8(this,t,n)},G(cb,"CompoundGraphPreprocessor",368),A(187,1,{187:1},QR),w.c=!1,G(cb,"CompoundGraphPreprocessor/ExternalPort",187),A(114,1,{114:1},h0),w.w=function(){return c0(this.c)+":"+YA(this.b)},G(cb,"CrossHierarchyEdge",114),A(310,1,Ir,PS),w.$b=function(t,n){return Yoe(this,f(t,114),f(n,114))},G(cb,"CrossHierarchyEdgeComparator",310),A(147,131,{179:1,131:1,147:1,3:1}),w.k=0,G(Xr,"LGraphElement",147),A(12,147,{179:1,131:1,12:1,147:1,3:1},ws),w.w=function(){return YA(this)};var Xi=G(Xr,"LEdge",12);A(55,147,{179:1,131:1,55:1,147:1,3:1,22:1},nC),w.mb=function(){return new M(this.c)},w.w=function(){return this.c.c.length==0?"G-unlayered"+nc(this.b):this.b.c.length==0?"G-layered"+nc(this.c):"G[layerless"+nc(this.b)+", layers"+nc(this.c)+"]"};var Xfe=G(Xr,"LGraph",55);A(273,1,{}),w.pc=function(){return this.e.j},G(Xr,"LGraphAdapters/AbstractLShapeAdapter",273),A(240,1,{627:1},N1),w.b=null,G(Xr,"LGraphAdapters/LEdgeAdapter",240),A(325,1,{},d4),w.pc=function(){return this.a.e},w.b=null,w.c=!1,G(Xr,"LGraphAdapters/LGraphAdapter",325),A(224,273,{129:1,224:1},Tm),G(Xr,"LGraphAdapters/LLabelAdapter",224),A(555,273,{626:1},_N),w.a=null,w.b=null,w.c=!1,G(Xr,"LGraphAdapters/LNodeAdapter",555),A(556,273,{161:1},GN),w.a=null,w.b=null,w.c=null,w.d=!1,G(Xr,"LGraphAdapters/LPortAdapter",556),A(557,1,Ir,We),w.$b=function(t,n){return ece(f(t,7),f(n,7))},G(Xr,"LGraphAdapters/PortComparator",557),A(168,1,{168:1},km,yO),w.t=function(t){var n;return xe(t,168)?(n=f(t,168),this.d==n.d&&this.a==n.a&&this.b==n.b&&this.c==n.c):!1},w.v=function(){var t,n;return t=Xn(ge(this.b))<<16,t|=Xn(ge(this.a))&Ts,n=Xn(ge(this.c))<<16,n|=Xn(ge(this.d))&Ts,t^n},w.w=function(){return"Insets[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},w.a=0,w.b=0,w.c=0,w.d=0,G(Xr,"LInsets",168),A(165,147,{179:1,131:1,147:1,165:1,3:1}),G(Xr,"LShape",165),A(33,165,{179:1,131:1,147:1,33:1,165:1,3:1},P4),w.w=function(){return this.a==null?"l_"+this.k:"l_"+this.a},G(Xr,"LLabel",33),A(9,165,{179:1,131:1,147:1,9:1,165:1,3:1},Va),w.w=function(){return LO(this)};var Er=G(Xr,"LNode",9);A(132,17,{132:1,3:1,23:1,17:1},Sd);var Mi,Cn,Za,hn,Hn,er,oL=At(Xr,"LNode/NodeType",132,on,Wre);A(7,165,{179:1,131:1,147:1,7:1,165:1,3:1},Yn),w.w=function(){var t;return t=gA(this),t==null?"p_"+this.k:"p_"+t};var hE,sL,dE,uL,vE,gE,kG=G(Xr,"LPort",7);A(399,1,vo,$e),w.D=function(t){return cM(t)},G(Xr,"LPort/1",399),A(400,1,vo,Ge),w.D=function(t){return uM(t)},G(Xr,"LPort/2",400),A(401,1,vo,me),w.D=function(t){return f(t,7).g==(we(),rt)},G(Xr,"LPort/3",401),A(402,1,vo,Ve),w.D=function(t){return f(t,7).g==(we(),Be)},G(Xr,"LPort/4",402),A(403,1,vo,Ke),w.D=function(t){return f(t,7).g==(we(),ct)},G(Xr,"LPort/5",403),A(404,1,vo,at),w.D=function(t){return f(t,7).g==(we(),qe)},G(Xr,"LPort/6",404),A(190,1,rc,cd),w.mb=function(){var t;return t=new M(this.a.b),new Y9(t)},G(Xr,"LPort/7",190),A(405,1,ir,Y9),w.H=function(){return f(O(this.a),12).c},w.G=function(){return Bc(this.a)},w.I=function(){Dd(this.a)},G(Xr,"LPort/7/1",405),A(169,1,rc,$f),w.mb=function(){var t;return t=new M(this.a.e),new DS(t)},G(Xr,"LPort/8",169),A(304,1,ir,DS),w.H=function(){return f(O(this.a),12).d},w.G=function(){return Bc(this.a)},w.I=function(){Dd(this.a)},G(Xr,"LPort/8/1",304),A(16,147,{179:1,131:1,147:1,16:1,3:1,22:1},qc),w.mb=function(){return new M(this.a)},w.w=function(){return"L_"+ji(this.b.c,this,0)+nc(this.a)},G(Xr,"Layer",16),A(437,1,pn,ft),w.sc=function(t,n){var i,s,l,h,v,p,m;for(It(n,"Big nodes intermediate-processing",1),this.a=t,h=new M(this.a.c);h.ah?50:h,i=new Se,I=h+this.d,x=new M(L);x.aI){for(j=1,s=v.j.a;s>h;)++j,s=(v.j.a-(j-1)*this.d)/j;Le(i,new iA(this,v,j,s))}for(p=new M(i);p.ap?50:p,i=new Se,Y=p+this.d,j=new M(I);j.aY){for(R=1,s=m.j.a;s>p;)++R,s=(m.j.a-(R-1)*this.d)/R;Le(i,new xO(this,m,R))}for(S=new M(i);S.a0||x.g==qe&&x.b.c.length-x.e.c.length<0)){i=!1;break}if(x.g==qe){for(l=new M(x.e);l.a0&&yz((Sn(0,i.c.length),f(i.c[0],16)),t),i.c.length>1&&yz(f(_e(i,i.c.length-1),16),t),Ct(n)},G(bt,"HierarchicalPortPositionProcessor",454),A(471,1,pn,Ie),w.sc=function(t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y;for(It(n,"Hyperedge merging",1),I=new fn(t.c,0);I.bR+1?(j=(m+R)/2|0,Le(L,new wr(S,(Sn(j,p.c.length),f(p.c[j],9))))):R>m+1&&(j=((R-m)/2|0)-1,Le(L,new wr(S,(Sn(j,I.c.length),f(I.c[j],9)))))}for(V=new M(L);V.a=2){for(x=!0,q=(Sn(1,S.c.length),f(S.c[1],16)),I=new M(h.a);I.a=2){for(x=!0,V=f(_e(S,S.c.length-2),16),I=new M(v.a);I.ai?m:i}t.e.b=m-S,t.d.b-=S,Ct(n)},G(bt,"LayerSizeAndGraphHeightCalculator",496),A(497,1,pn,zo),w.sc=function(t,n){var i,s,l,h,v;for(It(n,"Edge joining",1),i=Pt(ge(Nt(z(t,(zt(),s5))))),l=new M(t.c);l.athis.j&&(this.q=Ib,xh(this,l));break;case 4:for(this.q=(rl(),Xp),xh(this,l),m=0,s=new M(this.b);s.athis.k&&(this.q=Mb,xh(this,l));break;case 6:L=Xn(K1(this.f.length*S/100)),xh(this,new Z9(L));break;case 5:x=Xn(K1(this.d*S/100)),xh(this,new X9(x));break;default:xh(this,l)}_ue(this,t),Ct(n)},w.d=0,w.e=0,w.i=0,w.j=0,w.k=0,w.n=0,G(bt,"NodePromotion",491),A(492,1,yi,Il),w.B=function(t){return yn(),yn(),oi},G(bt,"NodePromotion/lambda$0$Type",492),A(493,1,yi,Z9),w.B=function(t){return xne(this.a,t)},w.a=0,G(bt,"NodePromotion/lambda$1$Type",493),A(494,1,yi,X9),w.B=function(t){return Tne(this.a,t)},w.a=0,G(bt,"NodePromotion/lambda$2$Type",494),A(109,17,{109:1,3:1,23:1,17:1},zl);var _L,Ib,GL,$L,Mb,YL,Zp,Xp,TG=At(bt,"NodePromotionStrategy",109,on,yie),LG;A(500,1,pn,Nc),w.sc=function(t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue;for(It(n,AH,1),I=f(z(t,(Ee(),hf)),122),l=new M(t.c);l.a=2){for(R=!0,L=new M(h.f),i=f(O(L),7);L.ai){Ct(n);return}Xe=0,h=Xo;do++Xe,i=st/Xe/(R*Xe),j=h,h=i-s<=0?0-(i-s):i-s;while(i>s);for(jXe?1:Xe)|0,S=Ne,ue=Ne,Nn=!0;S=Ne&&(Nn=!0),++ue,++S}for(x=new fn(t.c,0);x.b "+this.a+" "+c0(this.c)},w.a=0,w.b=0,w.d=0,G(bt,"SplineSelfLoopRouter/LoopPadding",91),A(521,1,vo,IM),w.D=function(t){return Soe(this,f(t,91))},w.a=0,w.c=0,G(bt,"SplineSelfLoopRouter/LoopPadding/EnclosingPredicate",521),A(520,1,Ir,L1),w.$b=function(t,n){return Ete(f(t,91),f(n,91))},G(bt,"SplineSelfLoopRouter/LoopPadding/MarginComparator",520),A(196,1,vo,ld),w.D=function(t){return f(t,91).c==this.a},G(bt,"SplineSelfLoopRouter/LoopPadding/PortSidePredicate",196),A(195,1,{195:1},QO),w.c=0,w.d=0,w.e=0,G(bt,"SplineSelfLoopRouter/SelfLoopEdge",195),A(519,1,Ir,P1),w.$b=function(t,n){return Vee(f(t,195),f(n,195))},G(bt,"SplineSelfLoopRouter/SelfLoopEdge/StepSizeComparator",519),A(82,25,{25:1,82:1},ox),w.vc=function(){var t,n,i,s;for(n=Jt(this.a,0);n.b!=n.d.c;)t=f(qt(n),10),t.a=this.j.d;for(s=Jt(this.c,0);s.b!=s.d.c;)i=f(qt(s),10),i.a=this.j.d},w.wc=function(){return this.b},w.xc=function(){return this.e},w.w=function(){return nc(new Wt(this.d.a))},w.b=0,w.e=0,G(Io,"CLEdge",82),A(93,25,{25:1,93:1},uz),w.vc=function(){this.b.i.a=this.j.d+this.b.e.b},w.wc=function(){return this.b.g==(et(),Cn)?0:this.a},w.xc=function(){return this.b.g==(et(),Cn)?0:this.c},w.w=function(){return ha(z(this.b,(le(),lt)))},w.a=0,w.c=0,G(Io,"CLNode",93),A(175,17,{175:1,3:1,23:1,17:1},v4);var FL,LE,PG=At(Io,"ConstraintCalculationStrategy",175,on,zne),DG;A(125,17,{125:1,3:1,23:1,17:1},Cd);var qL,VL,WL,UL,Ob,KL,jG=At(Io,"GraphCompactionStrategy",125,on,Ure),NG;A(455,1,pn,jI),w.sc=function(t,n){var i,s,l;if(s=f(z(t,(zt(),hw)),125),s!=(Yd(),Ob)){switch(It(n,"Horizontal Compaction",1),this.a=t,l=new uI,i=new ix(Zue(l,t)),eN(i,this.b),f(z(t,w5),175).e){case 1:Jj(i,IG);break;default:Jj(i,(By(),dG))}switch(s.e){case 1:$s(i);break;case 2:$s(xs(i,($n(),Vi)));break;case 3:$s(ag(xs($s(i),($n(),Vi))));break;case 4:$s(ag(Rm(xs($s(i),($n(),Vi)),new hm)));break;case 5:$s(Yee(i,MG))}xs(i,($n(),Oa)),i.e=!0,vce(l),Ct(n)}};var IG,MG;G(Io,"HorizontalGraphCompactor",455),A(462,1,{},Q9),w.tc=function(t,n){var i,s,l;return xe(t,82)&&xe(n,82)&&!g2(iC(f(t,82).d,f(n,82).d))||(i=null,xe(t,93)&&(i=f(t,93).b),s=null,xe(n,93)&&(s=f(n,93).b),i&&i.g==(et(),Cn)||s&&s.g==(et(),Cn))?0:(l=f(z(this.a.a,(le(),xl)),134),my(l,i?i.g:(et(),hn),s?s.g:(et(),hn)))},w.uc=function(t,n){return xe(t,82)&&xe(n,82)&&!g2(iC(f(t,82).d,f(n,82).d))?1:Xt(t.xc(),n.xc())},G(Io,"HorizontalGraphCompactor/1",462),A(456,317,{},MM),w.Dc=function(t){var n,i,s;for(this.b=t,tk(this,new dm,this.a),tk(this,new vm,this.a),n=ki,s=new M(this.b.a.b);s.a0&&(this.a[Gr.k]=wo++)}else{for(Ec=0,Qr=new M(st.f);Qr.a0&&++wo}for(Tf=0,Nn=0,kc=n.length;Nn0;){for(Gr=(ut(Ms.b>0),f(Ms.a.sb(Ms.c=--Ms.b),7)),Sc=0,v=new M(Gr.b);v.a0&&(Gr.g==(we(),rt)?(this.a[Gr.k]=Tf,++Tf):(this.a[Gr.k]=Tf+qb+si,++si))}Tf+=si}else{for(Ec=0,Qr=new M(st.f);Qr.a0&&++Tf}for(Ja=new $t,Y=new Yr,Tt=0,Bi=t.length;TtL.c&&(L.c=Du)):Gr.f.d==Nu&&(DuL.d&&(L.d=Du));for(yh(q,0,q.length,(Hl(),Hl(),Cf)),xf=ve(Kn,Wn,26,q.length,12,1),i=ve(Kn,Wn,26,Tf+1,12,1),U=0;U0;)Ce%2>0&&(s+=C5[Ce+1]),Ce=(Ce-1)/2|0,++C5[Ce];for(Xe=ve(OG,Me,158,q.length*2,0,1),ye=0;ye0;){for(q=(ut(te.b>0),f(te.a.sb(te.c=--te.b),7)),U=0,l=new M(q.b);l.a0&&(q.g==(we(),rt)?(this.a[q.k]=Ne,++Ne):(this.a[q.k]=Ne+R+Y,++Y),h+=U)}Ne+=Y}else{for(I=0,V=new M(m.f);V.a0&&(++Ne,h+=I)}for(ye=ve(Kn,Wn,26,h,12,1),v=0,S=0,L=t.length;S0},w.I=function(){throw new Fn},G(Ma,"PortIterable/1",344),A(336,1,{},VC),G(Ma,"SwitchDecider",336),A(89,1,{89:1},so),w.w=function(){return"NEdge[id="+this.b+" w="+this.f+" d="+this.a+"]"},w.a=1,w.b=0,w.e=!1,w.f=0;var AG=G(Jd,"NEdge",89);A(157,1,{},Ol),G(Jd,"NEdge/NEdgeBuilder",157),A(278,1,{},Nm),G(Jd,"NGraph",278),A(61,1,{61:1},nA),w.b=0,w.d=-1,w.e=0,w.i=-1,w.j=!1;var ZL=G(Jd,"NNode",61);A(333,13,aT,GS),w.rb=function(t,n){++this.d,Xc(t,this.c.length),dg(this.c,t,n)},w.ib=function(t){return Wu(this,t)},w.jb=function(t){return++this.d,Tn(this,t)},w.Q=function(){++this.d,this.c=ve(Ze,Me,1,0,4,1)},w.vb=function(t){return++this.d,Zl(this,t)},w.nb=function(t){return D4(this,t)},G(Jd,"NNode/ChangeAwareArrayList",333),A(199,1,{},hd),G(Jd,"NNode/NNodeBuilder",199),A(595,1,{},Uv),w.a=!1,w.f=kr,w.j=0,G(Jd,"NetworkSimplex",595),A(193,17,{180:1,193:1,3:1,23:1,17:1},g4),w.rc=function(){switch(this.e){case 0:return new CM;case 1:return new v9;default:throw new nn("No implementation is available for the cycle breaker "+(this.d!=null?this.d:""+this.e))}};var PE,XL,RG=At(uT,"CycleBreakingStrategy",193,on,Hne),BG;A(539,1,Qo,CM),w.qc=function(t){return zG},w.sc=function(t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye,Ce,be,Ne,Ue,Xe,it,st,Tt,xn,Nn;for(It(n,"Greedy cycle removal",1),V=t.b,Nn=V.c.length,this.a=ve(Kn,Wn,26,Nn,12,1),this.c=ve(Kn,Wn,26,Nn,12,1),this.b=ve(Kn,Wn,26,Nn,12,1),p=0,Y=new M(V);Y.a0?Ue+1:1);for(l=new M(ue.e);l.a0?Ue+1:1)}this.c[p]==0?an(this.d,I):this.a[p]==0&&an(this.e,I),++p}for(j=-1,L=1,S=new Se,Xe=f(z(t,(le(),qh)),154);Nn>0;){for(;this.d.b!=0;)st=f(e3(this.d),9),this.b[st.k]=j--,yx(this,st),--Nn;for(;this.e.b!=0;)Tt=f(e3(this.e),9),this.b[Tt.k]=L++,yx(this,Tt),--Nn;if(Nn>0){for(x=qs,q=new M(V);q.a=x&&(U>x&&(S.c=ve(Ze,Me,1,0,4,1),x=U),S.c[S.c.length]=I));m=f(_e(S,RC(Xe,S.c.length)),9),this.b[m.k]=L++,yx(this,m),--Nn}}for(it=V.c.length+1,p=0;pthis.b[xn]&&(wu(i,!0),ce(t,S6,(yn(),yn(),oi)));this.a=null,this.c=null,this.b=null,Hs(this.e),Hs(this.d),Ct(n)};var zG;G(uT,"GreedyCycleBreaker",539),A(540,1,Qo,v9),w.qc=function(t){return HG},w.sc=function(t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y;for(It(n,"Interactive cycle breaking",1),x=new Se,j=new M(t.b);j.a0&&lB(this,v,x);for(s=new M(x);s.av?p+1:v,Y=new fn(i,0),s=null;Y.b=v){ut(Y.b>0),Y.a.sb(Y.c=--Y.b);break}else I.a>p&&(s?(Tn(s.b,I.b),s.a=je(s.a,I.a),Po(Y)):(Le(I.b,S),I.c=Xt(I.c,p),I.a=je(I.a,v),s=I));s||(s=new Ej,s.c=p,s.a=v,cu(Y,s),Le(s.b,S))}for(h=t.c,m=0,R=new M(i);R.a0&&(i+=v.i.a+v.j.a/2,++S),L=new M(v.f);L.a0;st++){x=rf(it,1)!=0,S=x?0:q-1,m=this.b[S],Ue=rf(it,1)!=0?be:te,TC(m,h,x,!1,!0),v=kr,p=!0;do{if(uC(this.b,this.k),Xe=v,v=0,v+=Z3(this.f,m,S),x){for(V=1;V=0;V--)L=this.b[V],$3(Ue,m,(cr(),Ri)),TC(L,h,!1,!p,!1),v+=Z3(this.f,L,V),this.c[V]||this.d[V+1]?v+=rH(this.e,L,m):v+=tH(this.i,L,m),m=L;S=0}p=!1,x=!x}while(v0);(vs?h:s;if(h>v){for(x=Ss(t,i).mb();x.G();)S=f(x.H(),7),j[S.k]=n+_B(i,S.g)-v;return h-v}return 0}},G(sc,"LayerTotalPortDistributor",327),A(274,326,{},Am),w.Hc=function(t,n,i){var s,l,h,v,p,m,S,x,L,j,I;if(L=this.a,gi(f(z(t,(Ee(),dt)),28)))switch(i.e){case 1:{for(l=0,h=0,x=new M(t.f);x.a"),t0?Ne:0,R.c=s,R.d=f(Kt(ue,x.c.f),61),Wu(R.c.g,R),Wu(R.d.c,R),it=new so,it.f=A8(x),it.a=Ne<0?-Ne:0,it.c=s,it.d=f(Kt(ue,x.d.f),61),Wu(it.c.g,it),Wu(it.d.c,it));for(h=f(z(t,(zt(),gv)),24).a*Xn(Math.sqrt(te)),wx(tN(nN(K4(l),h),!1),Ql(n,1)),q=new M(l.a);q.ank(s))&&(S=s);for(!S&&(S=(Sn(0,I.c.length),f(I.c[0],81))),j=new M(t.c);j.a0?(i=j.b+(L-1)*j.a,m&&(i+=j.b),i"+this.b},w.c=0,G(cl,"OrthogonalRoutingGenerator/Dependency",118),A(80,1,{80:1,23:1},wR),w.F=function(t){return ete(this,f(t,80))},w.t=function(t){var n;return xe(t,80)?(n=f(t,80),this.d==n.d):!1},w.v=function(){return this.d},w.w=function(){var t,n,i,s;for(t=new pd("{"),s=new M(this.g);s.amu&&(l=new ot(m,L),an(i.a,l),eb(this.a,i,t,l,!1),h=new ot(x,L),an(i.a,h),eb(this.a,i,t,h,!1))},w.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},w.Mc=function(){return we(),ct},w.Nc=function(){return we(),rt},G(cl,"OrthogonalRoutingGenerator/NorthToSouthRoutingStrategy",580),A(581,1,{},cj),w.Kc=function(t,n){var i,s,l,h,v,p,m,S,x,L;for(L=n-t.i*this.a.c,p=new M(t.g);p.amu&&(l=new ot(m,L),an(i.a,l),eb(this.a,i,t,l,!1),h=new ot(x,L),an(i.a,h),eb(this.a,i,t,h,!1))},w.Lc=function(t){return t.f.i.a+t.i.a+t.a.a},w.Mc=function(){return we(),rt},w.Nc=function(){return we(),ct},G(cl,"OrthogonalRoutingGenerator/SouthToNorthRoutingStrategy",581),A(579,1,{},lj),w.Kc=function(t,n){var i,s,l,h,v,p,m,S,x,L;for(L=n+t.i*this.a.c,p=new M(t.g);p.amu&&(l=new ot(L,m),an(i.a,l),eb(this.a,i,t,l,!0),h=new ot(L,x),an(i.a,h),eb(this.a,i,t,h,!0))},w.Lc=function(t){return t.f.i.b+t.i.b+t.a.b},w.Mc=function(){return we(),Be},w.Nc=function(){return we(),qe},G(cl,"OrthogonalRoutingGenerator/WestToEastRoutingStrategy",579),A(535,1,Qo,aI),w.qc=function(t){var n,i;return i=f(z(t,(le(),Vr)),18),n=new An,(i.kb((br(),mf))||Pt(ge(Nt(z(t,(zt(),Gb))))))&&(Lr(n,y$),i.kb(yf)&&Lr(n,k$)),i.kb(sv)&&Lr(n,w$),i.kb(uv)&&Lr(n,m$),n},w.sc=function(t,n){var i,s,l,h,v,p,m,S,x,L,j,I,R,Y,q,V,U,te,ue,ye;for(It(n,"Polyline edge routing",1),L=f(z(t,(le(),Ai)),15).a,i=f(z(t,(zt(),eu)),15).a,q=0,t.c.c.length!=0&&(V=BB(f(_e(t.c,0),16)),q=.4*i*V),h=new fn(t.c,0);h.b0&&(q-=L),Mx(l,q),m=0,x=new M(l.a);x.a(Y-R<=0?0-(Y-R):Y-R)?p:Y-R<=0?0-(Y-R):Y-R;switch(S.g.e){case 0:case 4:case 1:case 3:Kce(this,S,q)}m=m>p?m:p}h.bV?m:V,ut(h.b>0),h.a.sb(h.c=--h.b)),v=.4*i*m,!s&&h.b0?(I=(te+1)*this.a,I=0&&(Ji+=(te+2)*this.a)}V=be,m=S}while(be);for(s=new M(xn);s.a("+this.c+") "+this.b},w.c=0,G(ll,"SplineEdgeRouter/Dependency",117),A(223,17,{223:1,3:1,23:1,17:1},C4);var Xs,wf,ahe=At(ll,"SplineEdgeRouter/SideToProcess",223,on,ore);A(77,1,{77:1,23:1},pB,Ix),w.F=function(t){return tte(this,f(t,77))},w.a=0,w.b=0,w.e=0,w.f=!1,w.i=0,w.k=0,w.n=0,w.p=0,G(ll,"SplineEdgeRouter/SplineHyperEdge",77),A(123,17,{123:1,3:1,23:1,17:1},xd);var AE,RE,BE,zE,HE,_E,GE=At(Us,"ContentAlignment",123,on,Eie),Y$;A(218,17,{218:1,3:1,23:1,17:1},ay);var tw,a6,Bb,ohe=At(Us,"EdgeConstraint",218,on,Lre);A(115,17,{115:1,3:1,23:1,17:1},fg);var $E,nw,YE,FE,qE,F$=At(Us,"EdgeLabelSideSelection",115,on,hie),q$;A(124,17,{124:1,3:1,23:1,17:1},Td);var VE,o6,s6,WE,u6,c6,V$=At(Us,"FixedAlignment",124,on,Sie),W$;A(113,17,{113:1,3:1,23:1,17:1},$u);var sv,UE,uv,os,rw,KE,mf,yf,l6,iw,f6=At(Us,"GraphProperties",113,on,rae);A(110,17,{110:1,3:1,23:1,17:1},Kl),w.a=!1,w.b=!1,w.c=!1;var ZE,h6,d6,v6,g6,XE,b6,p6,U$=At(Us,"GreedySwitchType",110,on,Gie),K$;A(140,17,{140:1,3:1,23:1,17:1},oy);var $h,aw,kf,she=At(Us,"InLayerConstraint",140,on,Tre);A(174,17,{174:1,3:1,23:1,17:1},x4);var QE,w6,Z$=At(Us,"InteractiveReferencePoint",174,on,fre),X$,Yh,m6,y6,JE,wc,zb,ss,cv,ow,k6,Q$,lv,E6,S6,e5,C6,Ef,sw,_r,x6,Vr,t5,J$,Qs,El,Fh,bo,Oi,Si,Sl,fv,lt,T6,L6,P6,n5,Cl,uw,Is,Lu,r5,Qa,D6,qh,j6,Js,Ai,xl,eY,Hb,i5,N6,a5,hv;A(85,17,{85:1,3:1,23:1,17:1},hg);var _b,mc,dv,Pu,Sf,tY=At(Us,"LayerConstraint",85,on,die),nY;A(219,17,{219:1,3:1,23:1,17:1},sy);var Ri,ai,o5,uhe=At(Us,"PortType",219,on,Pre),s5,u5,c5,l5,cw,f5,I6,h5,Vh,rY,eu,Gb,lw,d5,v5,Sr,M6,O6,A6,g5,b5,fw,R6,p5,vv,hw,w5,B6,z6,m5,gv,bv;A(153,17,{153:1,3:1,23:1,17:1},uy);var H6,_6,y5,iY=At(Us,"SelfLoopPlacement",153,on,Dre),aY;A(134,1,{134:1},Vz),w.a=0,w.b=0,w.c=0,w.d=0,w.e=0,w.f=0,G(Us,"Spacings",134),A(172,17,{172:1,3:1,23:1,17:1},cy);var pv,$b,dw,oY=At(Us,"WideNodesStrategy",172,on,jre),sY;A(644,1,{}),G(kp,"OutputStream",644),A(645,644,{}),G(kp,"FilterOutputStream",645),A(291,645,{},xS),G(kp,"PrintStream",291),A(255,1,{}),w.w=function(){return this.a},G(zr,"AbstractStringBuilder",255),A(621,95,Ys,$j),G(zr,"ArrayIndexOutOfBoundsException",621),A(290,72,Ys,xj,iN),G(zr,"ArrayStoreException",290),A(252,46,zx),G(zr,"Error",252),A(84,252,zx,HS,f2),G(zr,"AssertionError",84),qH={3:1,349:1,23:1};var Rn,oi,che=G(zr,"Boolean",349);VH={3:1,23:1,184:1,231:1};var Yb=G(zr,"Double",184);A(15,231,{3:1,23:1,15:1,231:1},fj,Ut),w.F=function(t){return jte(this,f(t,15))},w.t=function(t){return xe(t,15)&&f(t,15).a==this.a},w.v=function(){return Xn(this.a)},w.w=function(){return fte(this.a)},w.a=0;var lhe=G(zr,"Float",15);A(101,72,Ys,eg,zu),G(zr,"IllegalStateException",101);var G6,uY;A(608,72,Ys,aN),G(zr,"NegativeArraySizeException",608),A(76,72,{3:1,54:1,76:1,46:1},vd,rg),G(zr,"NullPointerException",76),A(130,29,{3:1,54:1,29:1,130:1,46:1},Yj,H1),G(zr,"NumberFormatException",130),A(146,1,{3:1,146:1},Zy),w.t=function(t){var n;return xe(t,146)?(n=f(t,146),this.c==n.c&&la(this.d,n.d)&&la(this.a,n.a)&&la(this.b,n.b)):!1},w.v=function(){return x2(re(ie(Ze,1),Me,1,4,[gt(this.c),this.a,this.d,this.b]))},w.w=function(){return this.a+"."+this.d+"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},w.c=0;var cY=G(zr,"StackTraceElement",146);A(98,255,{345:1},wd,Hm,pd),G(zr,"StringBuilder",98);var lY,$6;A(45,72,{3:1,54:1,46:1,45:1},Fn,qf),G(zr,"UnsupportedOperationException",45),A(213,638,Th),w.Q=function(){ho(this)},w.R=function(t){return dh(this,t)},w.ab=function(t){return _R(this,t,this.e)||_R(this,t,this.d)},w.bb=function(){return new ou(this)},w.cb=function(t){return Kt(this,t)},w.db=function(t,n){return un(this,t,n)},w.eb=function(t){return Yl(this,t)},w.Y=function(){return W1(this)},G(wt,"AbstractHashMap",213),A(120,641,vi,ou),w.Q=function(){this.a.Q()},w.kb=function(t){return R3(this,t)},w.mb=function(){return new ef(this.a)},w.nb=function(t){var n;return R3(this,t)?(n=f(t,21).yb(),this.a.eb(n),!0):!1},w.Y=function(){return this.a.Y()},G(wt,"AbstractHashMap/EntrySet",120),A(148,1,ir,ef),w.H=function(){return Rd(this)},w.G=function(){return this.b},w.I=function(){V3(this)},w.b=!1,G(wt,"AbstractHashMap/EntrySetIterator",148),A(162,1,ir,Yf),w.G=function(){return this.b0},w.L=function(){return this.b},w.M=function(){return JM(this)},w.N=function(){return this.b-1},w.O=function(t){Z4(this,t)},G(wt,"AbstractList/ListIteratorImpl",43),A(258,647,Lh,n2),w.rb=function(t,n){Xc(t,this.b),this.c.rb(this.a+t,n),++this.b},w.sb=function(t){return Sn(t,this.b),this.c.sb(this.a+t)},w.vb=function(t){var n;return Sn(t,this.b),n=this.c.vb(this.a+t),--this.b,n},w.wb=function(t,n){return Sn(t,this.b),this.c.wb(this.a+t,n)},w.Y=function(){return this.b},w.a=0,w.b=0,G(wt,"AbstractList/SubList",258),A(36,641,vi,Wt),w.Q=function(){this.a.Q()},w.kb=function(t){return this.a.R(t)},w.mb=function(){var t;return t=this.a.bb().mb(),new Zt(t)},w.nb=function(t){return this.a.R(t)?(this.a.eb(t),!0):!1},w.Y=function(){return this.a.Y()},G(wt,"AbstractMap/1",36),A(40,1,ir,Zt),w.G=function(){return this.a.G()},w.H=function(){var t;return t=f(this.a.H(),21),t.yb()},w.I=function(){this.a.I()},G(wt,"AbstractMap/1/1",40),A(211,640,Vd,Kv),w.Q=function(){this.a.Q()},w.kb=function(t){return this.a.ab(t)},w.mb=function(){var t;return t=this.a.bb().mb(),new Zv(t)},w.Y=function(){return this.a.Y()},G(wt,"AbstractMap/2",211),A(212,1,ir,Zv),w.G=function(){return this.a.G()},w.H=function(){var t;return t=f(this.a.H(),21),t.zb()},w.I=function(){this.a.I()},G(wt,"AbstractMap/2/1",212),A(210,1,{210:1,21:1}),w.t=function(t){var n;return xe(t,21)?(n=f(t,21),la(this.d,n.yb())&&la(this.e,n.zb())):!1},w.yb=function(){return this.d},w.zb=function(){return this.e},w.v=function(){return py(this.d)^py(this.e)},w.Ab=function(t){return J4(this,t)},w.w=function(){return this.d+"="+this.e},G(wt,"AbstractMap/AbstractEntry",210),A(163,210,{210:1,163:1,21:1},Q1),G(wt,"AbstractMap/SimpleEntry",163),A(652,1,ab),w.t=function(t){var n;return xe(t,21)?(n=f(t,21),la(this.yb(),n.yb())&&la(this.zb(),n.zb())):!1},w.v=function(){return py(this.yb())^py(this.zb())},w.w=function(){return this.yb()+"="+this.zb()},G(wt,lH,652),A(639,638,Th),w._=function(t){return EA(this,t)},w.R=function(t){return ly(this,t)},w.bb=function(){return new IS(this)},w.cb=function(t){return li(kC(this,t))},w.W=function(){return new I1(this)},G(wt,"AbstractNavigableMap",639),A(287,641,vi,IS),w.kb=function(t){return xe(t,21)&&EA(this.b,f(t,21))},w.mb=function(){return new kg(this.b)},w.nb=function(t){var n;return xe(t,21)?(n=f(t,21),DA(this.b,n)):!1},w.Y=function(){return this.b.c},G(wt,"AbstractNavigableMap/EntrySet",287),A(229,641,qx,I1),w.Q=function(){z1(this.a)},w.kb=function(t){return ly(this.a,t)},w.mb=function(){var t;return t=new kg(new mg(this.a).b),new M1(t)},w.nb=function(t){return ly(this.a,t)?(xg(this.a,t),!0):!1},w.Y=function(){return this.a.c},G(wt,"AbstractNavigableMap/NavigableKeySet",229),A(230,1,ir,M1),w.G=function(){return ey(this.a.a)},w.H=function(){var t;return t=Cy(this.a),t.yb()},w.I=function(){OM(this.a)},G(wt,"AbstractNavigableMap/NavigableKeySet/1",230),A(4,1,ir,M),w.G=function(){return Bc(this)},w.H=function(){return O(this)},w.I=function(){Dd(this)},w.a=0,w.b=-1,G(wt,"ArrayList/1",4),A(94,647,GH,uo),w.kb=function(t){return Uie(this,t)!=-1},w.sb=function(t){return FM(this,t)},w.wb=function(t,n){var i;return i=(Sn(t,this.a.length),this.a[t]),$a(this.a,t,n),i},w.Y=function(){return this.a.length},w.ob=function(){return B8(this,ve(Ze,Me,1,this.a.length,4,1))},w.pb=function(t){return B8(this,t)},G(wt,"Arrays/ArrayList",94);var yc,Y6,k5;A(413,1,Ir,hj),w.$b=function(t,n){return sO(n,t)},G(wt,"Collections/2",413),A(406,647,GH,o9),w.kb=function(t){return!1},w.sb=function(t){return Sn(t,0),null},w.mb=function(){return Qt(),ry(),E5},w.tb=function(){return Qt(),ry(),E5},w.Y=function(){return 0},G(wt,"Collections/EmptyList",406),A(407,1,Ph,s9),w.J=function(t){throw new Fn},w.G=function(){return!1},w.K=function(){return!1},w.H=function(){throw new sa},w.L=function(){return 0},w.M=function(){throw new sa},w.N=function(){return-1},w.I=function(){throw new eg},w.O=function(t){throw new eg};var E5;G(wt,"Collections/EmptyListIterator",407),A(409,638,jh,u9),w.R=function(t){return!1},w.ab=function(t){return!1},w.bb=function(){return Qt(),k5},w.cb=function(t){return null},w.W=function(){return Qt(),k5},w.Y=function(){return 0},w.fb=function(){return Qt(),yc},G(wt,"Collections/EmptyMap",409),A(408,641,Nh,c9),w.kb=function(t){return!1},w.mb=function(){return Qt(),ry(),E5},w.Y=function(){return 0},G(wt,"Collections/EmptySet",408),A(410,1,Ir,l9),w.$b=function(t,n){return cte(f(t,23),f(n,23))};var fY;G(wt,"Collections/ReverseComparator",410),A(411,647,{3:1,22:1,19:1,20:1},dj),w.kb=function(t){return la(this.a,t)},w.sb=function(t){return Sn(t,1),this.a},w.Y=function(){return 1},G(wt,"Collections/SingletonList",411),A(217,1,Vd,Xv),w.ib=function(t){return Pj()},w.jb=function(t){return Dj()},w.Q=function(){jj()},w.kb=function(t){return this.b.kb(t)},w.lb=function(t){return this.b.lb(t)},w.V=function(){return this.b.V()},w.mb=function(){return new fd(this.b.mb())},w.nb=function(t){return Nj()},w.Y=function(){return this.b.Y()},w.ob=function(){return this.b.ob()},w.pb=function(t){return this.b.pb(t)},w.w=function(){return ha(this.b)},G(wt,"Collections/UnmodifiableCollection",217),A(152,1,ir,fd),w.G=function(){return this.b.G()},w.H=function(){return this.b.H()},w.I=function(){Oee()},G(wt,"Collections/UnmodifiableCollectionIterator",152),A(233,217,Lh,u0),w.rb=function(t,n){throw new Fn},w.t=function(t){return this.a.t(t)},w.sb=function(t){return this.a.sb(t)},w.v=function(){return this.a.v()},w.V=function(){return this.a.V()},w.tb=function(){return new z4(this.a.ub(0))},w.ub=function(t){return new z4(this.a.ub(t))},w.vb=function(t){throw new Fn},w.wb=function(t,n){throw new Fn},w.xb=function(t,n){return new u0(this.a.xb(t,n))},G(wt,"Collections/UnmodifiableList",233),A(309,152,Ph,z4),w.J=function(t){throw new Fn},w.K=function(){return this.a.K()},w.L=function(){return this.a.L()},w.M=function(){return this.a.M()},w.N=function(){return this.a.N()},w.O=function(t){throw new Fn},G(wt,"Collections/UnmodifiableListIterator",309),A(305,1,Th,MS),w.Q=function(){throw new Fn},w.R=function(t){return this.c.R(t)},w.ab=function(t){return FN(this,t)},w.bb=function(){return Da(this)},w.t=function(t){return SN(this,t)},w.cb=function(t){return this.c.cb(t)},w.v=function(){return this.c.v()},w.V=function(){return this.c.V()},w.W=function(){return dO(this)},w.db=function(t,n){throw new Fn},w.eb=function(t){throw new Fn},w.Y=function(){return this.c.Y()},w.w=function(){return ha(this.c)},w.fb=function(){return gO(this)},G(wt,"Collections/UnmodifiableMap",305),A(151,217,vi,Rl),w.t=function(t){return EN(this,t)},w.v=function(){return this.b.v()},G(wt,"Collections/UnmodifiableSet",151),A(412,151,vi,dN),w.kb=function(t){return p4(this,t)},w.lb=function(t){return qN(this,t)},w.mb=function(){var t;return t=this.b.mb(),new OS(t)},w.ob=function(){return SO(this)},w.pb=function(t){return P3(this,t)},G(wt,"Collections/UnmodifiableMap/UnmodifiableEntrySet",412),A(263,1,ir,OS),w.H=function(){return new AS(f(this.a.H(),21))},w.G=function(){return this.a.G()},w.I=function(){throw new Fn},G(wt,"Collections/UnmodifiableMap/UnmodifiableEntrySet/1",263),A(306,1,ab,AS),w.t=function(t){return this.a.t(t)},w.yb=function(){return this.a.yb()},w.zb=function(){return this.a.zb()},w.v=function(){return this.a.v()},w.Ab=function(t){throw new Fn},w.w=function(){return ha(this.a)},G(wt,"Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry",306),A(307,233,pk,i4),G(wt,"Collections/UnmodifiableRandomAccessList",307),A(308,151,qx,H4),w.t=function(t){return this.a.t(t)},w.v=function(){return this.a.v()},G(wt,"Collections/UnmodifiableSortedSet",308);var Cf;A(522,1,Ir,f9),w.$b=function(t,n){return ur(t),ur(n),cC(f(t,23),n)},G(wt,"Comparators/1",522),A(202,72,Ys,gd),G(wt,"ConcurrentModificationException",202),A(609,72,Ys,Hj),G(wt,"EmptyStackException",609),A(319,638,Th,DC),w.db=function(t,n){return X4(this,t,n)},w.Q=function(){hO(this)},w.R=function(t){return f3(this.a,t)},w.ab=function(t){var n,i;for(i=new eh(this.a);i.a1?y-1:0),E=1;Ey?Q(H,C):D=setTimeout(X,Z)}function K(){Q($,D)}function ee(){if(E=arguments,P=c(),N=this,H=$&&(D||!F),B===!1)var Z=F&&!D;else{!C&&!F&&(_=P);var ae=B-(P-_),oe=ae<=0||ae>B;oe?(C&&(C=clearTimeout(C)),_=P,T=b.apply(N,E)):C||(C=setTimeout(K,ae))}return oe&&D?D=clearTimeout(D):!D&&y!==B&&(D=setTimeout(X,y)),Z&&(oe=!0,T=b.apply(N,E)),oe&&!D&&!C&&(E=N=void 0),T}return ee.cancel=W,ee}function g(b){var y=typeof b;return!!b&&(y==="object"||y==="function")}return d}(),XQ=function(a,r,u){var c=!0,d=!0;return u===!1?c=!1:typeof u==typeof{}&&(c="leading"in u?u.leading:c,d="trailing"in u?u.trailing:d),u=u||{},u.leading=c,u.maxWait=r,u.trailing=d,KD(a,r,u)},ZD={},QQ=Object.getPrototypeOf,JQ=ZD.toString,ES=ZD.hasOwnProperty,XD=ES.toString,eJ=XD.call(Object),QD=function(r){return typeof r=="function"&&typeof r.nodeType!="number"},tJ=(a,r,u)=>((a<<16)+(r<<8)+u).toString(16).padStart(6,"0"),nJ=document.querySelectorAll.bind(document);function SS(a){let r,u;return!a||JQ.call(a)!=="[object Object]"?!1:(r=QQ(a),r?(u=ES.call(r,"constructor")&&r.constructor,typeof u=="function"&&XD.call(u)===eJ):!0)}function JD(){let a,r,u,c,d,g,b=arguments[0]||{},y=1,k=arguments.length,E=!1;for(typeof b=="boolean"&&(E=b,b=arguments[y]||{},y++),typeof b!="object"&&!QD(b)&&(b={}),y===k&&(b=this,y--);y"u"&&(this.events[r]=[]),this.events[r].push({scope:c,callback:u,args:d})}off(r,u,c){if(typeof this.events[r]>"u")return;const d=g=>g.scope!==c||g.callback!==u;this.events[r]=this.events[r].filter(d)}has(r,u,c){if(typeof this.events[r]>"u")return!1;let d=this.events[r].length;if(u===void 0&&c===void 0)return d>0;const g=b=>{const y=c?b.scope===c:!0,k=b.callback===u;if(y&&k)return!0};return this.events[r].some(g)}emit(r,u,...c){if(typeof this.events[r]>"u")return;let d={type:r,target:u};const g=this.events[r].slice();for(const b of g)b&&b.callback&&b.callback.apply(b.scope,[d,...c,...b.args])}debug(){let r="";for(const[u,c]of Object.entries(this.events))for(const d of c){let g=d.scope&&d.scope.constructor.name||"Anonymous";r+=`${g} listening for "${u}" -`}return r}}class dJ{constructor(r,u){this.cy=r;let c={stackOrder:-1,gridSpacing:35,strokeStyle:"#eeeeee",lineWidth:1,lineDash:[5,8],zoomDash:!0,panGrid:!0,snapToGrid:!0,drawGrid:!0};this._options=xr.extend(!0,{},c,u),this._init(),this._initEvents()}_init(){this._container=this.cy.container(),this.canvas=document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this._container.append(this.canvas)}_initEvents(){window.addEventListener("resize",()=>this._resizeCanvas()),this.cy.ready(()=>{this._resizeCanvas(),this._options.snapToGrid&&this.snapAll(),this.cy.on("zoom",()=>this._drawGrid()),this.cy.on("pan",()=>this._drawGrid()),this.cy.on("free",r=>this._nodeFreed(r)),this.cy.on("add",r=>this._nodeAdded(r))})}_resizeCanvas(){let r=this._container.getBoundingClientRect();this.canvas.height=r.height,this.canvas.width=r.width,this.canvas.style.position="absolute",this.canvas.style.top=0,this.canvas.style.left=0,this.canvas.style.zIndex=this._options.stackOrder,setTimeout(()=>{let u=xr.offset(this.canvas),c=xr.offset(this._container);this.canvas.style.top=-(u.top-c.top),this.canvas.style.left=-(u.left-c.left),this._drawGrid()},0)}_drawGrid(){if(this.clear(),!this._options.drawGrid)return;let r=this.cy.zoom(),u=this._container.getBoundingClientRect(),c=u.width,d=u.height,g=this._options.gridSpacing*r,b=this.cy.pan(),y=b.x%g,k=b.y%g;if(this.ctx.strokeStyle=this._options.strokeStyle,this.ctx.lineWidth=this._options.lineWidth,this._options.zoomDash){let E=this._options.lineDash.slice();for(let C=0;C{this.snapNode(r)})}refresh(){this._resizeCanvas()}snapOn(){this._options.snapToGrid=!0,this.snapAll(),this.cy.trigger("cyeditor.snapgridon")}snapOff(){this._options.snapToGrid=!1,this.cy.trigger("cyeditor.snapgridoff")}gridOn(){this._options.drawGrid=!0,this._drawGrid(),this.cy.trigger("cyeditor.gridon")}gridOff(){this._options.drawGrid=!1,this._drawGrid(),this.cy.trigger("cyeditor.gridoff")}clear(){let r=this._container.getBoundingClientRect(),u=r.width,c=r.height;this.ctx.clearRect(0,0,u,c)}}const e9=a=>{a&&a("core","snapToGrid",function(r){return new dJ(this,r)})};let vJ={container:!1,viewLiveFramerate:0,dblClickDelay:200,removeCustomContainer:!0,rerenderDelay:500};class gJ{constructor(r,u){this.cy=r,this._options=xr.extend({},vJ,u),this._init(r,u)}_init(){this._cyListeners=[],this._contianer=this.cy.container(),this.boundingBox=this.bb();let r=this._contianer.getBoundingClientRect();this.width=r.width,this.height=r.height,this._initPanel(),this._initThumbnail(),this._initView(),this._initOverlay()}_addCyListener(r,u){this._cyListeners.push({events:r,handler:u}),this.cy.on(r,u)}_removeCyListeners(){let r=this.cy;this._cyListeners.forEach(function(u){r.off(u.events,u.handler)}),r.offRender(this._onRenderHandler)}_initPanel(){let r=this._options;if(r.container){if(typeof r.container=="string"?this.$panel=xr.query(r.container)[0]:xr.isNode(r.container)&&(this.$panel=r.container),!this.$panel){console.error("There is no any element matching your container");return}}else this.$panel=document.createElement("div"),document.body.appendChild(this.$panel);this.$panel.classList.add("cytoscape-navigator"),this._setupPanel(),this._addCyListener("resize",this.resize.bind(this))}_setupPanel(){let r=this.$panel.getBoundingClientRect();this.panelWidth=r.width,this.panelHeight=r.height}_initThumbnail(){this.$thumbnail=document.createElement("img"),this.$panel.appendChild(this.$thumbnail),this._setupThumbnailSizes(),this._updateThumbnailImage()}_setupThumbnailSizes(){this.boundingBox=this.bb(),this.thumbnailZoom=Math.min(this.panelHeight/this.boundingBox.h,this.panelWidth/this.boundingBox.w),this.thumbnailPan={x:(this.panelWidth-this.thumbnailZoom*(this.boundingBox.x1+this.boundingBox.x2))/2,y:(this.panelHeight-this.thumbnailZoom*(this.boundingBox.y1+this.boundingBox.y2))/2}}_checkThumbnailSizesAndUpdate(){let r=this.thumbnailZoom,u=this.thumbnailPan.x,c=this.thumbnailPan.y;this._setupThumbnailSizes(),this._updateThumbnailImage(),(r!==this.thumbnailZoom||u!==this.thumbnailPan.x||c!==this.thumbnailPan.y)&&this._setupView()}_initView(){this.$view=document.createElement("div"),this.$view.className="cytoscape-navigatorView",this.$panel.appendChild(this.$view);let r=window.getComputedStyle(this.$view);this.viewBorderTop=parseInt(r["border-top-width"],10),this.viewBorderRight=parseInt(r["border-right-width"],10),this.viewBorderBottom=parseInt(r["border-bottom-width"],10),this.viewBorderLeft=parseInt(r["border-left-width"],10),this.viewBorderHorizontal=this.viewBorderLeft+this.viewBorderRight,this.viewBorderVertical=this.viewBorderTop+this.viewBorderBottom,this._setupView(),this._addCyListener("zoom pan",this._setupView.bind(this))}_setupView(){if(this.viewLocked)return;let r=this.cy.zoom(),u=this.cy.pan();this.viewW=this.width/r*this.thumbnailZoom,this.viewX=-u.x*this.viewW/this.width+this.thumbnailPan.x-this.viewBorderLeft,this.viewH=this.height/r*this.thumbnailZoom,this.viewY=-u.y*this.viewH/this.height+this.thumbnailPan.y-this.viewBorderTop,this.$view.style.width=this.viewW+"px",this.$view.style.height=this.viewH+"px",this.$view.style.position="absolute",this.$view.style.left=this.viewX+"px",this.$view.style.top=this.viewY+"px"}_initOverlay(){this.$overlay=document.createElement("div"),this.$overlay.className="cytoscape-navigatorOverlay",this.$panel.appendChild(this.$overlay),this.overlayHookPointX=0,this.overlayHookPointY=0,this._initEventsHandling()}_initEventsHandling(){let r=["mousedown","mousewheel","DOMMouseScroll","touchstart"],u=["mouseup","mouseout","mousemove","touchmove","touchend"],c=g=>{let b=xr.extend({},g);if(b.type==="touchstart"&&(b.offsetX=this.viewX+this.viewW/2,b.offsetY=this.viewY+this.viewH/2),b.offsetX===void 0||b.offsetY===void 0){let y=xr.offset(b.target);b.offsetX=b.pageX-y.left,b.offsetY=b.pageY-y.top}return b.type==="mousedown"||b.type==="touchstart"?this._eventMoveStart(b):(b.type==="mousewheel"||b.type==="DOMMouseScroll")&&this._eventZoom(b),g.preventDefault(),!1},d=g=>{let b=xr.extend({},g);if(this.overlayInMovement){if(b.type==="touchend"?(b.offsetX=this.viewX+this.viewW/2,b.offsetY=this.viewY+this.viewH/2):b.type==="touchmove"&&(b.pageX=b.touches[0].pageX,b.pageY=b.touches[0].pageY),b.target&&(b.offsetX===void 0||b.offsetY===void 0)){let y=xr.offset(b.target);b.offsetX=b.pageX-y.left,b.offsetY=b.pageY-y.top}if(b.target&&b.target!==this.$overlay){let y=xr.offset(b.target),k=xr.offset(this.$overlay);if(y&&k)b.offsetX=b.offsetX-k.left+y.left,b.offsetY=b.offsetY-k.top+y.top;else return!1}return b.type==="mousemove"||b.type==="touchmove"?this._eventMove(b):(b.type==="mouseup"||b.type==="touchend")&&this._eventMoveEnd(b),g.preventDefault(),!1}};r.forEach(g=>{this.$overlay.addEventListener(g,c)}),u.forEach(g=>{window.addEventListener(g,d)}),this._removeEventsHandling=()=>{u.forEach(g=>{window.removeEventListener(g,d)}),r.forEach(g=>{this.$overlay.addEventListener(g,c)})}}_eventMoveStart(r){let u=new Date().getTime();this.overlayLastMoveStartTime&&this.overlayLastMoveStartTime+this._options.dblClickDelay>u?(this.overlayLastMoveStartTime=0,this.overlayInMovement=!0,this.overlayHookPointX=this.viewW/2,this.overlayHookPointY=this.viewH/2,this._options.viewLiveFramerate!==!1?this._eventMove({offsetX:this.panelWidth/2,offsetY:this.panelHeight/2}):this._eventMoveEnd({offsetX:this.panelWidth/2,offsetY:this.panelHeight/2}),this.cy.reset(),this.overlayInMovement=!1):(this.overlayLastMoveStartTime=u,this.overlayInMovement=!0,this.viewLocked=!0,r.offsetX>=this.viewX&&r.offsetX<=this.viewX+this.viewW&&r.offsetY>=this.viewY&&r.offsetY<=this.viewY+this.viewH?(this.overlayHookPointX=r.offsetX-this.viewX,this.overlayHookPointY=r.offsetY-this.viewY):(this.overlayHookPointX=this.viewW/2,this.overlayHookPointY=this.viewH/2,this._eventMove(r)))}_eventMove(r){this._checkMousePosition(r),this.overlayInMovement&&(this.viewX=r.offsetX-this.overlayHookPointX,this.viewY=r.offsetY-this.overlayHookPointY,this.$view.style.left=this.viewX+"px",this.$view.style.top=this.viewY+"px",this._options.viewLiveFramerate!==!1&&(this._options.viewLiveFramerate===0?this._moveCy():this.overlayTimeout||(this.overlayTimeout=setTimeout(()=>{this._moveCy(),this.overlayTimeout=!1},1e3/this._options.viewLiveFramerate))))}_checkMousePosition(r){r.offsetX>this.viewX&&r.offsetXthis.viewY&&r.offsetY{this._checkThumbnailSizesAndUpdate(),this._setupView();let u=this.$thumbnail;if(!u)return;let c=this.panelWidth,d=this.panelHeight,g=this.boundingBox,b=Math.min(c/g.w,d/g.h),y={x:(c-b*g.w)/2,y:(d-b*g.h)/2},k=this.cy.png({full:!0,scale:b});k.indexOf("image/png")<0?u.removeAttribute("src"):u.setAttribute("src",k),u.style.position="absolute",u.style.left=y.x+"px",u.style.top=y.y+"px"};this._onRenderHandler=xr.throttle(r,this._options.rerenderDelay),this.cy.onRender(this._onRenderHandler)}_moveCy(){this.cy.pan({x:-(this.viewX+this.viewBorderLeft-this.thumbnailPan.x)*this.width/this.viewW,y:-(this.viewY+this.viewBorderLeft-this.thumbnailPan.y)*this.height/this.viewH})}_zoomCy(r){let u={x:this.width/2,y:this.height/2};this.cy.zoom({level:this.cy.zoom()*r,renderedPosition:u})}destroy(){if(this._removeCyListeners(),this._removeEventsHandling(),this._options.container&&!this._options.removeCustomContainer){let r=this.$panel.childNodes;for(let u=r.length-1;u>=0;u--)this.$panel.removeChild(r[u])}else this.$panel.parentNode.removeChild(this.$panel)}resize(){let r=this._contianer.getBoundingClientRect();this.width=r.width,this.height=r.height,this._setupPanel(),this._checkThumbnailSizesAndUpdate(),this._setupView()}bb(){let r=this.cy.elements().boundingBox();return r.w===0||r.h===0?{x1:0,x2:1/0,y1:0,y2:1/0,w:1/0,h:1/0}:r}}const bJ=a=>{a&&a("core","navigator",function(r){return new gJ(this,r)})},pJ={preview:!0,hoverDelay:150,handleNodes:"node",snap:!1,snapThreshold:50,snapFrequency:15,noEdgeEventsInDraw:!1,disableBrowserGestures:!0,handlePosition:function(a){return"middle top"},handleInDrawMode:!1,edgeType:function(a,r){return"flat"},loopAllowed:function(a){return!1},nodeLoopOffset:-50,nodeParams:function(a,r){return{}},edgeParams:function(a,r,u){return{}},ghostEdgeParams:function(){return{}},show:function(a){},hide:function(a){},start:function(a){},complete:function(a,r,u){},stop:function(a){},cancel:function(a,r){},hoverover:function(a,r){},hoverout:function(a,r){},previewon:function(a,r,u){},previewoff:function(a,r,u){},drawon:function(){},drawoff:function(){}};function wJ(){if(this.saveGestureState(),this.cy.zoomingEnabled(!1).panningEnabled(!1).boxSelectionEnabled(!1),this.options.disableBrowserGestures){let a=this.windowListenerOptions;window.addEventListener("touchstart",this.preventDefault,a),window.addEventListener("touchmove",this.preventDefault,a),window.addEventListener("wheel",this.preventDefault,a)}return this}function mJ(){if(this.cy.zoomingEnabled(this.lastZoomingEnabled).panningEnabled(this.lastPanningEnabled).boxSelectionEnabled(this.lastBoxSelectionEnabled),this.options.disableBrowserGestures){let a=this.windowListenerOptions;window.removeEventListener("touchstart",this.preventDefault,a),window.removeEventListener("touchmove",this.preventDefault,a),window.removeEventListener("wheel",this.preventDefault,a)}return this}function yJ(){let{cy:a}=this;return this.lastPanningEnabled=a.panningEnabled(),this.lastZoomingEnabled=a.zoomingEnabled(),this.lastBoxSelectionEnabled=a.boxSelectionEnabled(),this}const kJ={disableGestures:wJ,resetGestures:mJ,saveGestureState:yJ};function EJ(){let{cy:a,options:r}=this;return this.addListener(a,"drag",()=>{this.grabbingNode=!0}),this.addListener(a,"free",()=>{this.grabbingNode=!1}),this.addListener(a,"mouseover","node",u=>{this.show(u.target)}),this.addListener(a,"tap","node",u=>{let c=u.target;c.same(this.handleNode)||this.show(c)}),this.addListener(a,"position","node",u=>{u.target.same(this.sourceNode)&&this.hide()}),this.addListener(a,"tapstart","node",u=>{let c=u.target;c.same(this.handleNode)?this.start(this.sourceNode):this.drawMode?this.start(c):c.same(this.sourceNode)&&this.hide()}),this.addListener(a,"tapdrag",u=>{this.update(u.position)}),this.addListener(a,"tapdragover","node",u=>{this.preview(u.target)}),this.addListener(a,"tapdragout","node",u=>{r.snap&&u.target.same(this.targetNode)||this.unpreview(u.target)}),this.addListener(a,"tapend",()=>{this.stop()}),this.addListener(a,"remove",u=>{u.target.same(this.sourceNode)&&this.hide()}),this}const SJ={addCytoscapeListeners:EJ},CJ=a=>typeof a=="string";function cm(a,r,u){let c={};return Object.assign(c,r,a),Object.assign(c.data,r.data,a.data),CJ(r.classes)?c.classes=r.classes+" "+u:Array.isArray(r.classes)?c.classes=r.classes.join(" ")+" "+u:c.classes=u,c}function xJ(a=!1){let{cy:r,options:u,presumptiveTargets:c,previewEles:d,active:g}=this,b=this.sourceNode,y=this.targetNode,k=a?"eh-preview":"",E=r.collection(),C=u.edgeType(b,y);if(!g||!C||a&&!u.preview)return;if(!y||y.size()===0){d.remove(),this.emit("cancel",this.mp(),b,c);return}if(!a&&u.preview){d.removeClass("eh-preview").style("events",""),this.emit("complete",this.mp(),b,y,d);return}let T=b.position(),P=y.position(),N;if(b.same(y)?N={x:T.x+u.nodeLoopOffset,y:T.y+u.nodeLoopOffset}:N={x:(T.x+P.x)/2,y:(T.y+P.y)/2},C==="node"){let D=r.add(cm({group:"nodes",position:N},u.nodeParams(b,y),k)),H=r.add(cm({group:"edges",data:{source:b.id(),target:D.id()}},u.edgeParams(b,y,0),k)),_=r.add(cm({group:"edges",data:{source:D.id(),target:y.id()}},u.edgeParams(b,y,1),k));E=E.merge(D).merge(H).merge(_)}else{let D=r.add(cm({group:"edges",data:{source:b.id(),target:y.id()}},u.edgeParams(b,y,0),k));E=E.merge(D)}return a?(this.previewEles=E,E.style("events","no")):(E.style("events",""),this.emit("complete",this.mp(),b,y,E)),this}function TJ(){return this.makeEdges(!0),this}function LJ(){return this.previewEles.nonempty()&&this.previewEles.inside()}function PJ(){return this.previewShown()&&this.previewEles.remove(),this}function DJ(){return this.handleNode.nonempty()&&this.handleNode.inside()}function jJ(){return this.handleShown()&&this.handleNode.remove(),this}function NJ(a){let{options:r,cy:u}=this,c=typeof r.handlePosition=="string"?()=>r.handlePosition:r.handlePosition,d=a.position(),g=a.outerHeight(),b=a.outerWidth(),y=0,k=0,E=c(a).toLowerCase().split(/\s+/),C=E[0],T=E[1];C==="left"?y=-(b/2):C==="right"&&(y=b/2),T==="top"?k=-(g/2):T==="bottom"&&(k=g/2);let P=this.hx=d.x+y,N=this.hy=d.y+k,D={x:P,y:N};return this.handleShown()?this.handleNode.position(D):u.batch(()=>{this.handleNode=u.add({classes:"eh-handle",position:D,grabbable:!1,selectable:!1}),this.handleNode.style("z-index",9007199254740991)}),this}function IJ(){let{sourceNode:a,ghostNode:r,cy:u,mx:c,my:d,options:g}=this,b=c,y=d,k,E;if(a)return(!r||r.length===0||r.removed())&&(E=this.ghostEles=u.collection(),u.batch(()=>{r=this.ghostNode=u.add({group:"nodes",classes:"eh-ghost eh-ghost-node",position:{x:0,y:0}}),r.style({"background-color":"blue",width:1e-4,height:1e-4,opacity:0,events:"no"});let C=g.ghostEdgeParams();k=u.add(Object.assign({},C,{group:"edges",data:Object.assign({},C.data,{source:a.id(),target:r.id()})})),k.addClass("eh-ghost eh-ghost-edge"),k.style({events:"no"})}),E.merge(r).merge(k)),r.position({x:b,y}),this}const MJ={makeEdges:xJ,makePreview:TJ,removePreview:PJ,previewShown:LJ,updateEdge:IJ,handleShown:DJ,setHandleFor:NJ,removeHandle:jJ};function OJ(a){const{options:r,previewEles:u,ghostEles:c,handleNode:d}=this,g=N=>u.anySame(N),b=N=>c.anySame(N),y=N=>N.filter(r.handleNodes).length>0,k=N=>d.same(N),E=N=>g(N)||k(N)||b(N),{enabled:C,active:T,grabbingNode:P}=this;return C&&!T&&!P&&(a==null||!E(a)&&y(a))}function AJ(a){return this.canStartOn(a)&&this.drawMode}function RJ(a){return this.canStartOn(a)&&!this.drawMode}function BJ(a){let{options:r,drawMode:u}=this;if(!(!this.canStartOn(a)||u&&!r.handleInDrawMode))return this.sourceNode=a,this.setHandleFor(a),this.emit("show",this.hp(),this.sourceNode),this}function zJ(){return this.removeHandle(),this.emit("hide",this.hp(),this.sourceNode),this}function HJ(a){this.canStartOn(a)&&(this.active=!0,this.sourceNode=a,this.sourceNode.addClass("eh-source"),this.disableGestures(),this.disableEdgeEvents(),this.emit("start",this.hp(),a))}function _J(a){if(!this.active)return;let r=a;return this.mx=r.x,this.my=r.y,this.updateEdge(),this.throttledSnap(),this}function GJ(){if(!this.active||!this.options.snap)return!1;let a=this.cy,r=this.targetNode,u=this.options.snapThreshold,c=N=>{let H=b(N)+u;return H*H},d=this.mp(),g=(N,D)=>(D.x-N.x)*(D.x-N.x)+(D.y-N.y)*(D.y-N.y),b=N=>(N.outerWidth()+N.outerHeight())/4,y=xr.memoize(N=>g(N.position(),d),N=>N.id()),k=N=>y(N)<=c(N),E=(N,D)=>y(N)-y(D),C=!1,T=a.nodes(k).sort(E),P=!1;r.nonempty()&&!k(r)&&this.unpreview(r);for(let N=0;N{this.targetNode=a,b.merge(a),a.addClass("eh-presumptive-target"),a.addClass("eh-target"),this.emit("hoverover",this.mp(),E,a),u.preview&&(a.addClass("eh-preview"),g.addClass("eh-preview-active"),c.addClass("eh-preview-active"),a.addClass("eh-preview-active"),this.makePreview(),this.emit("previewon",this.mp(),E,a,y))};return r&&u.hoverDelay>0?this.previewTimeout=setTimeout(_,u.hoverDelay):_(),!0}function YJ(a){if(!this.active||a.same(this.handleNode))return;let{previewTimeout:r,sourceNode:u,previewEles:c,ghostEles:d,cy:g}=this;clearTimeout(r),this.previewTimeout=null;let b=u;return a.removeClass("eh-preview eh-target eh-presumptive-target eh-preview-active"),d.removeClass("eh-preview-active"),u.removeClass("eh-preview-active"),this.targetNode=g.collection(),this.removePreview(b,a),this.emit("hoverout",this.mp(),b,a),this.emit("previewoff",this.mp(),b,a,c),this}function FJ(){if(!this.active)return;let{sourceNode:a,targetNode:r,ghostEles:u,presumptiveTargets:c}=this;return clearTimeout(this.previewTimeout),a.removeClass("eh-source"),r.removeClass("eh-target eh-preview eh-hover"),c.removeClass("eh-presumptive-target"),this.makeEdges(),this.removeHandle(),u.remove(),this.clearCollections(),this.resetGestures(),this.enableEdgeEvents(),this.active=!1,this.emit("stop",this.mp(),a),this}const qJ={show:BJ,hide:zJ,start:HJ,update:_J,preview:$J,unpreview:YJ,stop:FJ,snap:GJ,canStartOn:OJ,canStartDrawModeOn:AJ,canStartNonDrawModeOn:RJ};function VJ(){return this.addCytoscapeListeners(),this.addListener(this.cy,"destroy",()=>this.destroy()),this}function WJ(){for(let a=this.listeners.length-1;a>=0;a--){let r=this.listeners[a];this.removeListener(r.target,r.event,r.selector,r.callback,r.options)}return this}function t9(a,r,u,c,d){return typeof u!="string"&&(c=u,d=c,u=null),d==null&&(d=!1),{target:a,event:r,selector:u,callback:c,options:d}}function n9(a){return a instanceof Element}function UJ(a,r,u,c,d){let g=t9(a,r,u,c,d);return this.listeners.push(g),n9(g.target)?g.target.addEventListener(g.event,g.callback,g.options):g.selector?g.target.addListener(g.event,g.selector,g.callback,g.options):g.target.addListener(g.event,g.callback,g.options),this}function KJ(a,r,u,c,d){let g=t9(a,r,u,c,d);for(let b=this.listeners.length-1;b>=0;b--){let y=this.listeners[b];if(g.target===y.target&&g.event===y.event&&(g.selector==null||g.selector===y.selector)&&(g.callback==null||g.callback===y.callback)){this.listeners.splice(b,1),n9(g.target)?g.target.removeEventListener(g.event,g.callback,g.options):g.selector?g.target.removeListener(g.event,g.selector,g.callback,g.options):g.target.removeListener(g.event,g.callback,g.options);break}}return this}function ZJ(a,r,...u){let{options:c,cy:d}=this;d.emit({type:`eh${a}`,position:r},u);let g=c[a];return g!=null&&g(...u),this}const XJ={addListener:UJ,addListeners:VJ,removeListener:KJ,removeListeners:WJ,emit:ZJ};class r9{constructor(r,u){this.cy=r,this.listeners=[],this.enabled=!0,this.drawMode=!1,this.active=!1,this.grabbingNode=!1,this.handleNode=r.collection(),this.clearCollections(),this.hx=0,this.hy=0,this.hr=0,this.mx=0,this.my=0,this.options=Object.assign({},pJ,u),this.saveGestureState(),this.addListeners(),this.throttledSnap=xr.throttle(this.snap.bind(this),1e3/u.snapFrequency),this.preventDefault=d=>d.preventDefault();let c=!1;try{let d=Object.defineProperty({},"passive",{get:function(){c=!0}});window.addEventListener("test",null,d)}catch{}c?this.windowListenerOptions={capture:!0,passive:!1}:this.windowListenerOptions=!0}destroy(){this.removeListeners()}setOptions(r){Object.assign(this.options,r)}mp(){return{x:this.mx,y:this.my}}hp(){return{x:this.hx,y:this.hy}}clearCollections(){this.previewEles=this.cy.collection(),this.ghostEles=this.cy.collection(),this.ghostNode=this.cy.collection(),this.sourceNode=this.cy.collection(),this.targetNode=this.cy.collection(),this.presumptiveTargets=this.cy.collection()}enable(){return this.enabled=!0,this.emit("enable"),this}disable(){return this.enabled=!1,this.emit("disable"),this}toggleDrawMode(r){let{cy:u,options:c}=this;return this.drawMode=r??!this.drawMode,this.drawMode?(this.prevUngrabifyState=u.autoungrabify(),u.autoungrabify(!0),!c.handleInDrawMode&&this.handleShown()&&this.hide(),this.emit("drawon")):(u.autoungrabify(this.prevUngrabifyState),this.emit("drawoff")),this}enableDrawMode(){return this.toggleDrawMode(!0)}disableDrawMode(){return this.toggleDrawMode(!1)}disableEdgeEvents(){return this.options.noEdgeEventsInDraw&&this.cy.edges().style("events","no"),this}enableEdgeEvents(){return this.options.noEdgeEventsInDraw&&this.cy.edges().style("events",""),this}}let QJ=r9.prototype,JJ=a=>Object.assign(QJ,a);[kJ,SJ,MJ,qJ,XJ].forEach(JJ);const eee=a=>{a&&a("core","edgehandles",function(r){return new r9(this,r)})},tee={container:!1,addWhenDrop:!0,nodeTypes:[]};class nee{constructor(r,u){this.cy=r,this._options=Object.assign({},tee,u),this._options.nodeTypes.forEach(c=>{c.width=c.width||76,c.height=c.height||76,c.category=c.category||"other"}),!(this._options.nodeTypes.length<1)&&(this._initShapePanel(),this._initShapeItems(),this._initEvents())}_initShapeItems(){let r=this._options.nodeTypes.filter(g=>g.type&&g.image);r.forEach(g=>{g._id=xr.guid()});let u={},c=[];r.forEach(g=>{g.category?u[g.category]?u[g.category].push(g):u[g.category]=[g]:c.push(g)}),c.length&&(u.other=c);let d=Object.keys(u).map(g=>{let b=u[g].map(y=>`
${y.name}
`).join("");return`
-
${g}
-
${b}
-
`}).join("");this._shapePanel.innerHTML=d}_initEvents(){let r=this.cy.container(),u=c=>{c.preventDefault()};xr.query(".shape-item").forEach(c=>{c.addEventListener("dragstart",d=>{d.dataTransfer.setData("id",d.target.getAttribute("data-id"))})}),r.addEventListener("drop",c=>{let d=c.dataTransfer.getData("id");if(c.target.compareDocumentPosition(r)===10){let b={x:c.offsetX,y:c.offsetY};const y=this._options.nodeTypes.find(k=>k._id===d);y&&this._addNodeToCy(y,b)}}),r.addEventListener("dragenter",u),r.addEventListener("dragover",u)}_addNodeToCy({type:r,width:u,height:c,bg:d,name:g="",points:b,image:y},k){let E={type:r,name:g,bg:d,width:u,height:c};E.image=y;let C={group:"nodes",data:E,position:k};b&&(C.data.points=b),this._options.addWhenDrop&&this.cy.trigger("cyeditor.addnode",C)}_initShapePanel(){let{_options:r}=this;r.container?(typeof r.container=="string"?this._shapePanel=xr.query(r.container)[0]:xr.isNode(r.container)&&(this._shapePanel=r.container),this._shapePanel||console.error("There is no any element matching your container")):(this._shapePanel=document.createElement("div"),document.body.appendChild(this._shapePanel))}}const ree=a=>{a&&a("core","dragAddNodes",function(r){return new nee(this,r)})},iee={menus:[{id:"remove",content:"remove",disabled:!1,divider:!0},{id:"hide",content:"hide",disabled:!1}],beforeShow:()=>!0,beforeClose:()=>!0};class aee{constructor(r,u){this.cy=r,this._options=Object.assign({},iee,u),this._listeners={},this._init()}_init(){this._initContainer(),this._initDom(),this._initEvents()}_initContainer(){this._container=this.cy.container(),this.ctxmenu=document.createElement("div"),this.ctxmenu.className="cy-editor-ctx-menu",this._container.append(this.ctxmenu)}_initDom(){let r="";this._options.menus.forEach(u=>{r+=`
${u.content}
`}),this.ctxmenu.innerHTML=r}_initEvents(){this._listeners.eventCyTap=r=>{let u=r.renderedPosition||r.cyRenderedPosition,c=u.x,d=u.y;xr.css(this.ctxmenu,{top:d+"px",left:c+"px"}),this.show(r)},this._listeners.eventTapstart=r=>{this.close(r)},this._listeners.click=r=>{const u=r.target.getAttribute("data-menu-item"),c=this._options.menus.find(d=>d.id===u);this.cy.trigger("cyeditor.ctxmenu",c)},this.ctxmenu.addEventListener("mousedown",this._listeners.click),this.cy.on("cxttap",this._listeners.eventCyTap),this.cy.on("tapstart",this._listeners.eventTapstart)}disable(r,u=!0){xr.query(`.cy-editor-ctx-menu [data-menu-item=${r}]`).forEach(d=>{u?xr.addClass(d,"ctx-menu-item-disabled"):xr.removeClass(d,"ctx-menu-item-disabled")})}changeMenus(r){this._options.menus=r,this._initDom()}show(r){if(typeof this._options.beforeShow=="function"&&!this.isShow){const u=this._options.beforeShow(r,this._options.menus.slice(0));if(!u)return;if(u&&u.then){u.then(c=>{c&&(xr.css(this.ctxmenu,{display:"block"}),this.isShow=!0)});return}Array.isArray(u)&&this.changeMenus(u),xr.css(this.ctxmenu,{display:"block"}),this.isShow=!0}}close(r){if(typeof this._options.beforeShow=="function"&&this.isShow){const u=this._options.beforeClose(r);u===!0?(xr.css(this.ctxmenu,{display:"none"}),this.isShow=!1):u.then&&u.then(()=>{xr.css(this.ctxmenu,{display:"none"}),this.isShow=!1})}}destroyCxtMenu(){this.ctxmenu.removeEventListener("mousedown",this._listeners.click),this.cy.off("tapstart",this._listeners.eventTapstart),this.cy.off("cxttap",this._listeners.eventCyTap)}}const oee=a=>{a&&a("core","contextMenu",function(r){return new aee(this,r)})};class see{constructor(r,u={}){this._cy=r,this._params=u,this._node_dom={};let c=r.container();if(u.dom_container)this._nodes_dom_container=u.dom_container;else{let d=document.createElement("div");d.style.position="absolute",d.style.zIndex=10,c.querySelector("canvas").parentNode.appendChild(d),this._nodes_dom_container=d}this._resize_observer=new ResizeObserver(d=>{for(let g of d){let b=g.target,y=b.__cy_id;r.getElementById(y).style({width:b.offsetWidth,height:b.offsetHeight,shape:"rectangle"})}}),r.on("add","node",d=>{this._add_node(d.target)});for(let d of r.nodes())this._add_node(d);r.on("pan zoom",d=>{let g=r.pan(),b=r.zoom(),y="translate("+g.x+"px,"+g.y+"px) scale("+b+")";this._nodes_dom_container.style.msTransform=y,this._nodes_dom_container.style.transform=y}),r.on("position bounds","node",d=>{let g=d.target,b=g.id();if(!this._node_dom[b])return;let y=this._node_dom[b],k=`translate(-50%, -50%) translate(${g.position("x").toFixed(2)}px, ${g.position("y").toFixed(2)}px)`;y.style.webkitTransform=k,y.style.msTransform=k,y.style.transform=k,y.style.display="inline",y.style.position="absolute",y.style["z-index"]=10})}_add_node(r){let u=r.data();u.dom&&(this._nodes_dom_container.appendChild(u.dom),u.dom.__cy_id=r.id(),this._node_dom[r.id()]=u.dom,this._resize_observer.observe(u.dom))}node_dom(r){return this._node_dom[r]}}const uee=a=>{a&&a("core","domNode",function(r,u){return new see(this,r,u)})},cee=[{selector:".eh-handle",style:{"background-color":"red",width:12,height:12,shape:"ellipse","overlay-opacity":0,"border-width":12,"border-opacity":0,"background-opacity":.5}},{selector:".eh-hover",style:{"background-color":"red","background-opacity":.5}},{selector:".eh-source",style:{"border-width":2,"border-color":"red"}},{selector:".eh-target",style:{"border-width":2,"border-color":"red"}},{selector:".eh-preview, .eh-ghost-edge",style:{"background-color":"red","line-color":"red","target-arrow-color":"red","source-arrow-color":"red"}},{selector:".eh-ghost-edge.eh-preview-active",style:{opacity:0}}],lee=[{type:"rectangle",image:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1sb2dvcyIgd2lkdGg9IjMxLjg4IiBoZWlnaHQ9IjMyIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgMjU2IDI1NyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJJY29uaWZ5SWQxODEzMDg4ZmUxZmJjMDFmYjQ2NiIgeDE9Ii0uODI4JSIgeDI9IjU3LjYzNiUiIHkxPSI3LjY1MiUiIHkyPSI3OC40MTElIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjNDFEMUZGIj48L3N0b3A+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjQkQzNEZFIj48L3N0b3A+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Ikljb25pZnlJZDE4MTMwODhmZTFmYmMwMWZiNDY3IiB4MT0iNDMuMzc2JSIgeDI9IjUwLjMxNiUiIHkxPSIyLjI0MiUiIHkyPSI4OS4wMyUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNGRkVBODMiPjwvc3RvcD48c3RvcCBvZmZzZXQ9IjguMzMzJSIgc3RvcC1jb2xvcj0iI0ZGREQzNSI+PC9zdG9wPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI0ZGQTgwMCI+PC9zdG9wPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIGZpbGw9InVybCgjSWNvbmlmeUlkMTgxMzA4OGZlMWZiYzAxZmI0NjYpIiBkPSJNMjU1LjE1MyAzNy45MzhMMTM0Ljg5NyAyNTIuOTc2Yy0yLjQ4MyA0LjQ0LTguODYyIDQuNDY2LTExLjM4Mi4wNDhMLjg3NSAzNy45NThjLTIuNzQ2LTQuODE0IDEuMzcxLTEwLjY0NiA2LjgyNy05LjY3bDEyMC4zODUgMjEuNTE3YTYuNTM3IDYuNTM3IDAgMCAwIDIuMzIyLS4wMDRsMTE3Ljg2Ny0yMS40ODNjNS40MzgtLjk5MSA5LjU3NCA0Ljc5NiA2Ljg3NyA5LjYyWiI+PC9wYXRoPjxwYXRoIGZpbGw9InVybCgjSWNvbmlmeUlkMTgxMzA4OGZlMWZiYzAxZmI0NjcpIiBkPSJNMTg1LjQzMi4wNjNMOTYuNDQgMTcuNTAxYTMuMjY4IDMuMjY4IDAgMCAwLTIuNjM0IDMuMDE0bC01LjQ3NCA5Mi40NTZhMy4yNjggMy4yNjggMCAwIDAgMy45OTcgMy4zNzhsMjQuNzc3LTUuNzE4YzIuMzE4LS41MzUgNC40MTMgMS41MDcgMy45MzYgMy44MzhsLTcuMzYxIDM2LjA0N2MtLjQ5NSAyLjQyNiAxLjc4MiA0LjUgNC4xNTEgMy43OGwxNS4zMDQtNC42NDljMi4zNzItLjcyIDQuNjUyIDEuMzYgNC4xNSAzLjc4OGwtMTEuNjk4IDU2LjYyMWMtLjczMiAzLjU0MiAzLjk3OSA1LjQ3MyA1Ljk0MyAyLjQzN2wxLjMxMy0yLjAyOGw3Mi41MTYtMTQ0LjcyYzEuMjE1LTIuNDIzLS44OC01LjE4Ni0zLjU0LTQuNjcybC0yNS41MDUgNC45MjJjLTIuMzk2LjQ2Mi00LjQzNS0xLjc3LTMuNzU5LTQuMTE0bDE2LjY0Ni01Ny43MDVjLjY3Ny0yLjM1LTEuMzctNC41ODMtMy43NjktNC4xMTNaIj48L3BhdGg+PC9zdmc+",bg:"#999",width:150,height:40,name:"矩形",category:"基础形状"}],fee=[{selector:"node[type]",style:{shape:"data(type)",label:"data(type)",height:"data(height)",width:"data(width)","text-valign":"center","text-halign":"center"}},{selector:"node[points]",style:{"shape-polygon-points":"data(points)",label:`polygon -(custom points)`,"text-wrap":"wrap"}},{selector:"node[name]",style:{content:""}},{selector:"node[image]",style:{"background-opacity":0,"background-fit":"cover","background-image":a=>a.data("image")||{value:""}}},{selector:"node[bg]",style:{"background-opacity":.45,"background-color":"data(bg)","border-width":1,"border-opacity":.8,"border-color":"data(bg)"}},{selector:"node:active",style:{"overlay-color":"#0169D9","overlay-padding":8,"overlay-opacity":.25}},{selector:"node:selected",style:{"overlay-color":"#0169D9","overlay-padding":8,"overlay-opacity":.25}}],CS={cy:{layout:{name:"concentric",fit:!1,concentric:function(a){return 0},minNodeSpacing:100},styleEnabled:!0,style:[...[{selector:"edge",style:{"curve-style":"bezier","target-arrow-shape":"triangle",width:1}},{selector:"edge[lineType]",style:{"curve-style":"data(lineType)"}},{selector:"edge[lineColor]",style:{"target-arrow-shape":"triangle",width:1,"line-color":"data(lineColor)","source-arrow-color":"data(lineColor)","target-arrow-color":"data(lineColor)","mid-source-arrow-color":"data(lineColor)","mid-target-arrow-color":"data(lineColor)"}},{selector:"edge[lineColor]:active",style:{"overlay-color":"#0169D9","overlay-padding":2,"overlay-opacity":.25,"line-color":"data(lineColor)","source-arrow-color":"data(lineColor)","target-arrow-color":"data(lineColor)","mid-source-arrow-color":"data(lineColor)","mid-target-arrow-color":"data(lineColor)"}},{selector:"edge[lineColor]:selected",style:{"overlay-color":"#0169D9","overlay-padding":2,"overlay-opacity":.25,"line-color":"data(lineColor)","source-arrow-color":"data(lineColor)","target-arrow-color":"data(lineColor)","mid-source-arrow-color":"data(lineColor)","mid-target-arrow-color":"data(lineColor)"}}],...fee,...cee],minZoom:.1,maxZoom:10},editor:{container:"",zoomRate:.2,lineType:"bezier",dragAddNodes:!0,snapGrid:!0,contextMenu:!0,navigator:!0,nodeTypes:lee,beforeAdd(a){return!0},afterAdd(a){}}},x1={node:{type:"rectangle",bg:"#999",name:"",width:150,height:40,image:""},edge:{lineColor:"#999"}};_f.use(eee),_f.use(bJ),_f.use(e9),_f.use(ree),_f.use(oee),_f.use(uee),_f.use(FQ);class hee extends hJ{constructor(r=CS){return super(),this._plugins={},this._listeners={},this._initOptions(r),this._initDom(),this._initCy(),this._initPlugin(),this._initEvents(),{editor:this,cy:this.cy}}_initOptions(r={}){this.editorOptions=Object.assign({},CS.editor,r.editor);const{zoomRate:u}=this.editorOptions;this._handleOptonsChange={snapGrid:this._snapGridChange,lineType:this._lineTypeChange},r.editor.nodeTypes&&this.setOption("nodeTypes",r.editor.nodeTypes),(u<=0||u>=1)&&console.error("zoomRate must be float number, greater than 0 and less than 1"),this.cyOptions=Object.assign({},CS.cy,r.cy);const{elements:c}=this.cyOptions;c&&(Array.isArray(c.nodes)&&c.nodes.forEach(d=>{d.data=Object.assign({},x1.node,d.data)}),Array.isArray(c.edges)&&c.edges.forEach(d=>{d.data=Object.assign({},x1.edge,d.data)}))}_initCy(){this.cyOptions.container=xr.query("#cy")[0],this.cy=_f(this.cyOptions),this.cy.domNode()}_initDom(){let{dragAddNodes:r,navigator:u,container:c}=this.editorOptions,d=r?'
':"",g=u?'
导航器
':"",b="";u&&(b=`
${g}
`);let y=`${d}
${b} -`,k;if(c){if(typeof c=="string"?k=xr.query(c)[0]:xr.isNode(c)&&(k=c),k.className="cy-editor-container",k.classList.contains("cy-editor-container")||(k.className=k.className+" cy-editor-container"),!k){console.error("There is no any element matching your container");return}}else k=document.createElement("div"),k.className="cy-editor-container",document.body.appendChild(k);k.innerHTML=y}_initEvents(){const{edgehandles:r}=this._plugins;this._listeners.hoverout=u=>{r&&(r.active=!0,r.stop(u))},this._listeners.select=u=>{this._doAction},this._listeners.addEles=(u,c)=>{if(c.position){let b={pan:this.cy.pan(),zoom:this.cy.zoom()},y=(c.position.x-b.pan.x)/b.zoom,k=(c.position.y-b.pan.y)/b.zoom;c.position={x:y,y:k}}if(!this._hook("beforeAdd",c,!0))return;let d;this.editorOptions.getDomNode&&(d=this.editorOptions.getDomNode(c.data));const g=Object.assign({},x1.node,{data:d?{...c.data,dom:d}:{...c.data},position:c.position});this.cy.add(g),this._hook("afterAdd",c),this.emit("change",c,this)},this.cy.on("click",this._listeners.hoverout).on("select",this._listeners.select).on("cyeditor.addnode",this._listeners.addEles),this.emit("ready")}_initPlugin(){const{dragAddNodes:r,contextMenu:u,snapGrid:c,navigator:d}=this.editorOptions;this._plugins.edgehandles=this.cy.edgehandles({snap:!1,handlePosition(){return"middle middle"},edgeParams:this._edgeParams.bind(this)}),r&&(this._plugins.dragAddNodes=this.cy.dragAddNodes({container:".cy-editor-container .left",nodeTypes:this.editorOptions.nodeTypes})),c&&(this._plugins.cySnapToGrid=this.cy.snapToGrid()),d&&this.cy.navigator({container:".cy-editor-container .thumb"}),u&&(this._plugins.contextMenu=this.cy.contextMenu(u))}_snapGridChange(){this._plugins.cySnapToGrid&&(this.editorOptions.snapGrid?(this._plugins.cySnapToGrid.gridOn(),this._plugins.cySnapToGrid.snapOn()):(this._plugins.cySnapToGrid.gridOff(),this._plugins.cySnapToGrid.snapOff()))}_edgeParams(){return{data:{lineType:this.editorOptions.lineType}}}_lineTypeChange(r){let u=this.cy.$("edge:selected");u.length<1&&(u=this.cy.$("edge")),u.forEach(c=>{c.data({lineType:r})})}_hook(r,u,c=!1){if(typeof this.editorOptions[r]=="function"){const d=this.editorOptions[r](u);return c?d:!0}}doCommand(r,u){switch(u.command){case"gridon":this.toggleGrid();break;case"zoomin":this.zoom(1);break;case"zoomout":this.zoom(-1);break;case"fit":this.fit();break;case"delete":this.deleteSelected();break;case"boxselect":this.cy.userPanningEnabled(!u.selected),this.cy.boxSelectionEnabled(u.selected);break}}setOption(r,u){typeof r=="string"?(this.editorOptions[r]=u,typeof this._handleOptonsChange[r]=="function"&&this._handleOptonsChange[r].call(this,u)):typeof r=="object"&&Object.assign(this.editorOptions,r);let{dragAddNodes:c,navigator:d}=this.editorOptions;c&&this.cy&&(this._plugins.dragAddNodes=this.cy.dragAddNodes({container:".cy-editor-container .left",nodeTypes:this.editorOptions.nodeTypes})),e9&&this.cy&&(this._plugins.cySnapToGrid=this.cy.snapToGrid())}deleteSelected(){let r=this.cy.$(":selected");r.length&&this.cy.remove(r)}async save(){try{let r=await this.cy.png({output:"blob-promise"});if(window.navigator.msSaveBlob)window.navigator.msSaveBlob(r,`chart-${Date.now()}.png`);else{let u=document.createElement("a");u.download=`chart-${Date.now()}.png`,u.href=window.URL.createObjectURL(r),u.click()}}catch(r){console.log(r)}}fit(){this._fit_status?(this.cy.viewport({zoom:this._fit_status.zoom,pan:this._fit_status.pan}),this._fit_status=null):(this._fit_status={pan:this.cy.pan(),zoom:this.cy.zoom()},this.cy.fit())}zoom(r=1,u){u=u||this.editorOptions.zoomRate;let c=this.cy.width(),d=this.cy.height(),g=this.cy.zoom()+u*r,b=this.cy.pan();b.x=b.x+-1*c*u*r/2,b.y=b.y+-1*d*u*r/2,this.cy.viewport({zoom:g,pan:b})}toggleGrid(){this._plugins.cySnapToGrid?this.setOption("snapGrid",!this.editorOptions.snapGrid):console.warn("Can not `toggleGrid`, please check the initialize option")}jpg(r={}){return this.cy.png(r)}png(r){return this.cy.png(r)}json(r=!1,u){u=u||["boxSelectionEnabled","elements","pan","panningEnabled","userPanningEnabled","userZoomingEnabled","zoom","zoomingEnabled"];let c={};if(typeof r=="boolean"){let d=this.cy.json(r);return u.forEach(g=>{c[g]=d[g]}),c}return typeof r=="object"&&(c={},r.elements&&(Array.isArray(r.elements.nodes)&&r.elements.nodes.forEach(d=>{let g;this.editorOptions.getDomNode&&(g=this.editorOptions.getDomNode(d.data)),d.data=Object.assign({},x1.node,{...d.data,dom:g})}),Array.isArray(r.elements.edges)&&r.elements.edges.forEach(d=>{d.data=Object.assign({},x1.edge,d.data)})),u.forEach(d=>{c[d]=r[d]})),this.cy.json(c)}data(r,u){return this.cy.data(r,u)}removeData(r){this.cy.removeData(r)}destroy(){this.cy.removeAllListeners(),this.cy.destroy()}}return hee}); diff --git a/web/packages/cyeditor/index.scss b/web/packages/cyeditor/index.scss index 2b2302892..7e3666f96 100644 --- a/web/packages/cyeditor/index.scss +++ b/web/packages/cyeditor/index.scss @@ -178,6 +178,14 @@ box-shadow: 0px 4px 8px 0px rgba(2, 16, 31, 0.1); display: none; padding: 0; + .designer-menu-li-icon { + display: inline-block; + vertical-align: middle; + height: 16px; + width: 16px; + margin-top: -1px; + @include font-color($text-color, $dark-text-color); + } } .cy-editor-ctx-menu .ctx-menu-item { height: 30px; diff --git a/web/packages/cyeditor/package.json b/web/packages/cyeditor/package.json index 0f09d4bef..e9f7722bb 100644 --- a/web/packages/cyeditor/package.json +++ b/web/packages/cyeditor/package.json @@ -2,7 +2,7 @@ "name": "@dataspherestudio/cyeditor", "version": "0.0.1", "dependencies": { - "cytoscape": "^3.7.0", + "cytoscape": "3.27.0", "cytoscape-klay": "^3.1.4" }, "devDependencies": {}, diff --git a/web/packages/dataGovernance/module/common/tabCard/index.vue b/web/packages/dataGovernance/module/common/tabCard/index.vue index 64220e6c5..467202e2a 100644 --- a/web/packages/dataGovernance/module/common/tabCard/index.vue +++ b/web/packages/dataGovernance/module/common/tabCard/index.vue @@ -210,7 +210,7 @@ export default { } } .content-html { - /deep/ span { + ::v-deep span { color: #3495F7; } } diff --git a/web/packages/dataGovernance/view/fieldInfo/index.vue b/web/packages/dataGovernance/view/fieldInfo/index.vue index 01fb2dbc2..5113732bb 100644 --- a/web/packages/dataGovernance/view/fieldInfo/index.vue +++ b/web/packages/dataGovernance/view/fieldInfo/index.vue @@ -303,7 +303,7 @@ export default { overflow-y: auto; max-height: 200px; div { - /deep/ span { + ::v-deep span { font-weight: bold; margin-right: 6px; } diff --git a/web/packages/dataService/module/common/navMenu.vue b/web/packages/dataService/module/common/navMenu.vue index 2fccb3688..8c7bafab9 100644 --- a/web/packages/dataService/module/common/navMenu.vue +++ b/web/packages/dataService/module/common/navMenu.vue @@ -166,7 +166,7 @@ export default { width: 50px; height: 44px; } - /deep/.ivu-tooltip-inner { + ::v-deep.ivu-tooltip-inner { background-color: rgba(70, 76, 91, 1); } } diff --git a/web/packages/dataService/module/dataManagement/index.vue b/web/packages/dataService/module/dataManagement/index.vue index 29373538f..c3093e63b 100644 --- a/web/packages/dataService/module/dataManagement/index.vue +++ b/web/packages/dataService/module/dataManagement/index.vue @@ -33,12 +33,12 @@ export default { height: 100%; margin-left: 304px; transition: margin-left 0.3s; - /deep/ .monitor-chart-modal { + ::v-deep .monitor-chart-modal { left: 304px; } &.ds-main-content-fold { margin-left: 54px; - /deep/ .monitor-chart-modal { + ::v-deep .monitor-chart-modal { left: 54px; } } diff --git a/web/packages/dolphinScheduler/assets/styles/workflow.scss b/web/packages/dolphinScheduler/assets/styles/workflow.scss index a44e9eed7..213a3fec7 100644 --- a/web/packages/dolphinScheduler/assets/styles/workflow.scss +++ b/web/packages/dolphinScheduler/assets/styles/workflow.scss @@ -162,7 +162,7 @@ position: relative; flex: 1; .tabs-content { - /deep/ .ivu-tabs-tab { + ::v-deep .ivu-tabs-tab { font-size: $font-size-large; } } diff --git a/web/packages/dolphinScheduler/components/tabList/index.scss b/web/packages/dolphinScheduler/components/tabList/index.scss index 390a5676e..247165b24 100644 --- a/web/packages/dolphinScheduler/components/tabList/index.scss +++ b/web/packages/dolphinScheduler/components/tabList/index.scss @@ -36,7 +36,7 @@ min-width: 320px; .ivu-breadcrumb { font-size: 21px; - /deep/.ivu-breadcrumb-item-separator { + ::v-deep.ivu-breadcrumb-item-separator { // color: rgba(0,0,0,0.65); @include font-color($light-text-color, $dark-text-color); } diff --git a/web/packages/dss/module/footer/guide.vue b/web/packages/dss/module/footer/guide.vue index be24682a9..776027fc1 100644 --- a/web/packages/dss/module/footer/guide.vue +++ b/web/packages/dss/module/footer/guide.vue @@ -450,7 +450,7 @@ export default { font-size: 16px; @include font-color(#333, $dark-text-color); } - /deep/.ivu-input { + ::v-deep.ivu-input { text-indent: 24px; } } @@ -580,7 +580,7 @@ export default { height: auto; opacity: 1; transform: translateY(0); - /deep/img { + ::v-deepimg { display: block; border: 0; max-width: 100%; diff --git a/web/packages/dss/module/footer/libraryDetail.vue b/web/packages/dss/module/footer/libraryDetail.vue index 89426df99..2a2025734 100644 --- a/web/packages/dss/module/footer/libraryDetail.vue +++ b/web/packages/dss/module/footer/libraryDetail.vue @@ -68,33 +68,33 @@ export default { .library-detail-content { padding: 0 15px 15px; @include font-color(#666, $dark-text-color); - /deep/img { + ::v-deepimg { display: block; border: 0; max-width: 100%; cursor: pointer; } - /deep/h1 { + ::v-deeph1 { font-size: 18px; margin: 6px 0; } - /deep/h2 { + ::v-deeph2 { font-size: 16px; margin: 6px 0; } - /deep/h3 { + ::v-deeph3 { font-size: 14px; margin: 6px 0; } - /deep/h4 { + ::v-deeph4 { font-size: 12px; margin: 6px 0; } - /deep/h5 { + ::v-deeph5 { font-size: 12px; margin: 6px 0; } - p /deep/p { + p ::v-deepp { margin: 5px; } } diff --git a/web/packages/dss/module/header/index.scss b/web/packages/dss/module/header/index.scss index 1a038e4dd..168402d1c 100644 --- a/web/packages/dss/module/header/index.scss +++ b/web/packages/dss/module/header/index.scss @@ -87,7 +87,7 @@ } } } - /deep/ .ivu-select-dropdown { + ::v-deep .ivu-select-dropdown { padding: 0; margin: 0; } diff --git a/web/packages/dss/vue.config.js b/web/packages/dss/vue.config.js index 3c7e4b04b..192340e70 100644 --- a/web/packages/dss/vue.config.js +++ b/web/packages/dss/vue.config.js @@ -208,7 +208,13 @@ module.exports = { lessOptions: { javascriptEnabled: true } - } + }, + scss: { + implementation: require('sass'), + sassOptions: { + fiber: false, + }, + }, } }, chainWebpack: (config) => { diff --git a/web/packages/editor/editor.vue b/web/packages/editor/editor.vue index 36778970f..f76dcbf5f 100644 --- a/web/packages/editor/editor.vue +++ b/web/packages/editor/editor.vue @@ -473,7 +473,7 @@ export default { const action_10 =this.editor.addAction({ id: 'newdbsuggest', - label: this.$t('message.common.monacoMenu.newdbcomplition'), + label: this.$t('message.common.monacoMenu.openLanguageServe'), keybindings: [], keybindingContext: null, contextMenuGroupId: 'control', diff --git a/web/packages/editorLsp/editor.vue b/web/packages/editorLsp/editor.vue index d83ac2e5f..215b4da33 100644 --- a/web/packages/editorLsp/editor.vue +++ b/web/packages/editorLsp/editor.vue @@ -461,7 +461,7 @@ export default { }); const action_10 = this.editor.addAction({ id: 'newdbsuggest', - label: this.$t('message.common.monacoMenu.dbcomplition'), + label: this.$t('message.common.monacoMenu.closeLanguageServe'), keybindings: [], keybindingContext: null, contextMenuGroupId: 'control', diff --git a/web/packages/editorLsp/package.json b/web/packages/editorLsp/package.json index 5c5691ed3..bfbf8e7db 100644 --- a/web/packages/editorLsp/package.json +++ b/web/packages/editorLsp/package.json @@ -3,7 +3,6 @@ "version": "1.1.19", "dependencies": { "@dataspherestudio/shared": "^1.1.19", - "monaco-languageclient": "0.13.0", "reconnecting-websocket": "4.4.0", "vscode-ws-jsonrpc": "0.2.0" } diff --git a/web/packages/exts/open-source/scriptis/apiPublish/index.vue b/web/packages/exts/open-source/scriptis/apiPublish/index.vue index 56d517644..b4bafcc95 100644 --- a/web/packages/exts/open-source/scriptis/apiPublish/index.vue +++ b/web/packages/exts/open-source/scriptis/apiPublish/index.vue @@ -566,7 +566,7 @@ export default { }, // 判断是否符合脚本类型 showScriptsType() { - return [ 'spark', 'hive' ].includes(this.script.scriptType) + return [ 'spark', 'hive', 'hql' ].includes(this.script.scriptType) } }, watch: { @@ -626,6 +626,7 @@ export default { // 获取当前工作空间当前用户的api列表 getApiList() { api.fetch('/dss/apiservice/getUserServices', { + type: this.script.application, workspaceId: this.$route.query.workspaceId }, { method: 'get', diff --git a/web/packages/scriptis/components/importToHive/index.vue b/web/packages/scriptis/components/importToHive/index.vue index 126645b0e..520eaa2f6 100644 --- a/web/packages/scriptis/components/importToHive/index.vue +++ b/web/packages/scriptis/components/importToHive/index.vue @@ -431,6 +431,7 @@ export default { { label: this.$t('message.scripts.importToHive.FH'), value: ';' }, { label: this.$t('message.scripts.importToHive.ZBF'), value: '\\t' }, { label: this.$t('message.scripts.importToHive.KG'), value: '%20' }, + { label: this.$t('message.scripts.hiveTableExport.SX'), value: '|' }, ], chartset: [ { label: 'utf-8', value: 'utf-8' }, diff --git a/web/packages/scriptis/module/hdfsSidebar/hdfsSidebar.vue b/web/packages/scriptis/module/hdfsSidebar/hdfsSidebar.vue index 352fefce1..f90fa3d98 100644 --- a/web/packages/scriptis/module/hdfsSidebar/hdfsSidebar.vue +++ b/web/packages/scriptis/module/hdfsSidebar/hdfsSidebar.vue @@ -709,6 +709,8 @@ export default { separator = '%5Ct'; } else if (option.separator === '%20') { separator = ' '; + } else if (option.separator === '|') { + separator = '%5C%7C'; } const encoding = type ? '' : option.chartset; const fieldDelimiter = type ? '' : separator; @@ -759,7 +761,12 @@ export default { if (secondStep.partition && secondStep.partitionValue) { isPartition = true; } - const separator = firstStep.separator === '%20' ? ' ' : firstStep.separator; + let separator = firstStep.separator; + if (firstStep.separator === '%20') { + separator = ' '; + } else if (firstStep.separator === '|') { + separator = '\\|'; + } if (firstStep.quote) { escapeQuotes = true; quote = firstStep.quote; diff --git a/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.scss b/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.scss index b3f6af32f..1d56b5bdc 100644 --- a/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.scss +++ b/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.scss @@ -14,7 +14,13 @@ * limitations under the License. * */ - +.full-btn { + float: right; + margin-right: 30px; + padding-top: 5px; + cursor: pointer; + color: #2d8cf0 +}; .we-table-export-minus { float: right; font-size: 24px; @@ -30,7 +36,7 @@ position: relative; .we-table-export-step { - margin-left: 20px; + // margin-left: 20px; } .v-step-progress { @@ -51,7 +57,8 @@ overflow-y: auto; .item-width { - width: 360px; + width: 96%; + // width: 360px; } } } diff --git a/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.vue b/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.vue index 83ecbe736..0f7c4c162 100644 --- a/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.vue +++ b/web/packages/scriptis/module/hiveSidebar/hiveTableExport/index.vue @@ -1,10 +1,16 @@